{{if .First -}}
Hello,

{{end -}}
syzkaller {{if .First}}hit{{else}}has found reproducer for{{end}} the following crash on {{.KernelCommit}}
{{.KernelRepo}}/{{.KernelBranch}}
compiler: {{.CompilerID}}
.config is attached
{{if .HasLog}}Raw console output is attached.{{end}}
{{if .ReproC}}C reproducer is attached{{end}}
{{if .ReproSyz}}syzkaller reproducer is attached. See https://goo.gl/kgGztJ
for information about syzkaller reproducers{{end}}{{if and (not .ReproC) (not .ReproSyz)}}Unfortunately, I don't have any reproducer for this bug yet.{{end}}
{{if .Moderation}}CC: {{.Maintainers}}{{end}}

{{printf "%s" .Report}}
{{if .First}}
---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzkaller@googlegroups.com.
Please credit me with: Reported-by: syzbot <syzkaller@googlegroups.com>

syzbot will keep track of this bug report.
Once a fix for this bug is merged into any tree, reply to this email with:
#syz fix: exact-commit-title{{if or .ReproC .ReproSyz}}
If you want to test a patch for this bug, please reply with:
#syz test: git://repo/address.git branch
and provide the patch inline or as an attachment.
{{else}}
{{end}}To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug report.
Note: all commands must start from beginning of the line in the email body.
{{if .Moderation -}}
To upstream this report, please reply with:
#syz upstream
{{- end -}}
{{- end -}}
