[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/net
Module Name: src
Committed By: ozaki-r
Date: Mon May 14 02:55:03 UTC 2018
src/sys/net: bpf.c if.c if_bridge.c
Protect packet input routines with KERNEL_LOCK and splsoftnet
if_input, i.e, ether_input and friends, now runs in softint without any
protections. It's ok for ether_input itself because it's already MP-safe,
however, subsequent routines called from it such as carp_input and agr_input
aren't safe because they're not MP-safe. Protect if_input with KERNEL_LOCK.
if_input can be called from a normal LWP context. In that case we need to
prevent interrupts (softint) from running by splsoftnet to protect non-MP-safe
codes (e.g., carp_input and agr_input).
Pointed out by mlelstv@
To generate a diff of this commit:
cvs rdiff -u -r1.223 -r1.224 src/sys/net/bpf.c
cvs rdiff -u -r1.421 -r1.422 src/sys/net/if.c
cvs rdiff -u -r1.154 -r1.155 src/sys/net/if_bridge.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Main Index |
Thread Index |