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? David