On Thu, May 04, 2017 at 03:56:49PM +0000, David Laight wrote: > From: Josh Poimboeuf > > Sent: 04 May 2017 15:52 > > Andrey Konovalov reported the following warning while fuzzing the kernel > > with syzkaller: > > > > WARNING: kernel stack regs at ffff8800686869f8 in a.out:4933 has bad 'bp' value c3fc855a10167ec0 > > > > The unwinder dump revealed that rbp had a bad value when an interrupt > > occurred in csum_partial_copy_generic(). > > > > That function saves rbp on the stack and then overwrites it, using it as > > a scratch register. That's problematic because it breaks stack traces > > if an interrupt occurs in the middle of the function. > > Does gcc guarantee not to use bp as a scratch register in leaf functions? At least in practice, gcc doesn't touch rbp in leaf functions. (I don't know about guarantees.) -- Josh -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html