diff options
| author | Josh Poimboeuf <[email protected]> | 2020-07-17 14:04:25 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2020-07-22 21:47:47 +0000 |
| commit | 372a8eaa05998cd45b3417d0e0ffd3a70978211a (patch) | |
| tree | 09a908e123a2665e0804122640bb6c9741309da5 /drivers/net/xen-netfront.c | |
| parent | x86, vmlinux.lds: Page-align end of ..page_aligned sections (diff) | |
| download | kernel-372a8eaa05998cd45b3417d0e0ffd3a70978211a.tar.gz kernel-372a8eaa05998cd45b3417d0e0ffd3a70978211a.zip | |
x86/unwind/orc: Fix ORC for newly forked tasks
The ORC unwinder fails to unwind newly forked tasks which haven't yet
run on the CPU. It correctly reads the 'ret_from_fork' instruction
pointer from the stack, but it incorrectly interprets that value as a
call stack address rather than a "signal" one, so the address gets
incorrectly decremented in the call to orc_find(), resulting in bad ORC
data.
Fix it by forcing 'ret_from_fork' frames to be signal frames.
Reported-by: Wang ShaoBo <[email protected]>
Signed-off-by: Josh Poimboeuf <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Wang ShaoBo <[email protected]>
Link: https://lkml.kernel.org/r/f91a8778dde8aae7f71884b5df2b16d552040441.1594994374.git.jpoimboe@redhat.com
Diffstat (limited to 'drivers/net/xen-netfront.c')
0 files changed, 0 insertions, 0 deletions
