mirror of https://github.com/torvalds/linux.git
if_open() calls try_module_get(), and after an attempt to lock a mutex the if_open() function may return -ERESTARTSYS without putting the module. Then, when if_open() is executed again, try_module_get() is called making the reference counter of THIS_MODULE greater than one at successful exit from if_open(). The if_close() function puts the module only once, and as a result it can't be unloaded. This patch adds module_put call before the return from if_open(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Pavel Shved <shved@ispras.ru> Signed-off-by: David S. Miller <davem@conan.davemloft.net> |
||
|---|---|---|
| .. | ||
| act2000 | ||
| capi | ||
| divert | ||
| gigaset | ||
| hardware | ||
| hisax | ||
| hysdn | ||
| i4l | ||
| icn | ||
| isdnloop | ||
| mISDN | ||
| pcbit | ||
| sc | ||
| Kconfig | ||
| Makefile | ||