Hello,
{{if .CrashTitle}}
syzbot has tested the proposed patch but the reproducer is still triggering an issue:
{{.CrashTitle}}

{{printf "%s" .Report}}
{{else if .Error}}
syzbot tried to test the proposed patch but the build/boot failed:

{{printf "%s" .Error}}
{{if .ErrorTruncated}}
Error text is too large and was truncated, full error text is at:
{{.ErrorLink}}
{{end}}
{{else}}
syzbot has tested the proposed patch and the reproducer did not trigger any issue:

Reported-and-tested-by: {{.CreditEmail}}
{{end}}
Tested on:

commit:         {{formatShortHash .KernelCommit}} {{formatCommitTableTitle .KernelCommitTitle}}
git tree:       {{.KernelRepoAlias}}
{{if .LogLink}}console output: {{.LogLink}}
{{end}}{{if .KernelConfigLink}}kernel config:  {{.KernelConfigLink}}
{{end}}dashboard link: {{.Link}}
compiler:       {{.CompilerID}}
{{if .UserSpaceArch}}userspace arch: {{.UserSpaceArch}}
{{end}}{{if .PatchLink}}patch:          {{.PatchLink}}
{{else}}
Note: no patches were applied.{{end}}{{if and (not .CrashTitle) (not .Error)}}
Note: testing is done by a robot and is best-effort only.{{end}}
