net: don't unnecessarily load kernel modules in dev_ioctl()
authorPaul Moore <paul@paul-moore.com>
Tue, 6 Mar 2018 22:27:44 +0000 (17:27 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Mar 2018 20:12:58 +0000 (15:12 -0500)
commitb51f26b14683838825170387457176c1ffaea9f5
treebf2eda1c6a1704c23e357249dc55b98777ad8d7c
parente05836ac07c77dd90377f8c8140bce2a44af5fe7
net: don't unnecessarily load kernel modules in dev_ioctl()

Starting with v4.16-rc1 we've been seeing a higher than usual number
of requests for the kernel to load networking modules, even on events
which shouldn't trigger a module load (e.g. ioctl(TCGETS)).  Stephen
Smalley suggested the problem may lie in commit 44c02a2c3dc5
("dev_ioctl(): move copyin/copyout to callers") which moves changes
the network dev_ioctl() function to always call dev_load(),
regardless of the requested ioctl.

This patch moves the dev_load() calls back into the individual ioctls
while preserving the rest of the original patch.

Reported-by: Dominick Grift <dac.override@gmail.com>
Suggested-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev_ioctl.c