aboutsummaryrefslogtreecommitdiff
path: root/lib/test_fortify/write_overflow-memcpy.c
diff options
context:
space:
mode:
authorAndrey Konovalov <[email protected]>2024-05-27 19:35:38 +0200
committerGreg Kroah-Hartman <[email protected]>2024-06-04 15:34:44 +0200
commitf85d39dd7ed89ffdd622bc1de247ffba8d961504 (patch)
tree13964fb94a4c336f6ae0cbd24fcadfc16b798a85 /lib/test_fortify/write_overflow-memcpy.c
parente4228cfd092351c2d9b1a3048b2070287291ccbb (diff)
kcov, usb: disable interrupts in kcov_remote_start_usb_softirq
After commit 8fea0c8fda30 ("usb: core: hcd: Convert from tasklet to BH workqueue"), usb_giveback_urb_bh() runs in the BH workqueue with interrupts enabled. Thus, the remote coverage collection section in usb_giveback_urb_bh()-> __usb_hcd_giveback_urb() might be interrupted, and the interrupt handler might invoke __usb_hcd_giveback_urb() again. This breaks KCOV, as it does not support nested remote coverage collection sections within the same context (neither in task nor in softirq). Update kcov_remote_start/stop_usb_softirq() to disable interrupts for the duration of the coverage collection section to avoid nested sections in the softirq context (in addition to such in the task context, which are already handled). Reported-by: Tetsuo Handa <[email protected]> Closes: https://lore.kernel.org/linux-usb/[email protected]/ Closes: https://syzkaller.appspot.com/bug?extid=0438378d6f157baae1a2 Suggested-by: Alan Stern <[email protected]> Fixes: 8fea0c8fda30 ("usb: core: hcd: Convert from tasklet to BH workqueue") Cc: [email protected] Acked-by: Dmitry Vyukov <[email protected]> Signed-off-by: Andrey Konovalov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-memcpy.c')
0 files changed, 0 insertions, 0 deletions