OSDN Git Service

bpf: Make sure bpf_disable_instrumentation() is safe vs preemption.
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Sat, 27 Nov 2021 16:32:00 +0000 (17:32 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 30 Nov 2021 14:40:49 +0000 (15:40 +0100)
commit79364031c5b4365ca28ac0fa00acfab5bf465be1
treeba6f3792751c1a6ed6d0b8757e8acbceb5859fdd
parent6a631c0432dcccbcf45839016a07c015e335e9ae
bpf: Make sure bpf_disable_instrumentation() is safe vs preemption.

The initial implementation of migrate_disable() for mainline was a
wrapper around preempt_disable(). RT kernels substituted this with a
real migrate disable implementation.

Later on mainline gained true migrate disable support, but neither
documentation nor affected code were updated.

Remove stale comments claiming that migrate_disable() is PREEMPT_RT only.

Don't use __this_cpu_inc() in the !PREEMPT_RT path because preemption is
not disabled and the RMW operation can be preempted.

Fixes: 74d862b682f51 ("sched: Make migrate_disable/enable() independent of RT")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20211127163200.10466-3-bigeasy@linutronix.de
include/linux/bpf.h
include/linux/filter.h