On Mon, Jun 24, 2019 at 6:27 PM matthew green <mrg%eterna.com.au@localhost> wrote:
Only KERNEL_LOCK (and some splsoftnet) is required for the network stack
now. Remaining splnets are for network drivers. (softnet_lock is also required
in some cases but it's another story...)
great! i studied the code and i couldn't find any issues
in any of the relevant paths, so i'm glad to hear it's
supposed to be like this.
for one particular case (ether_ioctl) how is this diff:
- * Common ioctls for Ethernet interfaces. Note, we must be
- * called at splnet().
+ * Common ioctls for Ethernet interfaces.
+ *
+ * Non IFEF_MPSAFE drivers must call this function at at least called
+ * at splsoftnet().
or should they also be with kernel lock?
Yes.
Also I think splnet is still needed for ether_ioctl for sure because
it has to care not only the network stack but also network drivers.