Corey Minyard
f9d405a4bd
ipmi: Don't allow device module unload when in use
...
[ Upstream commit cbb79863fc3175ed5ac506465948b02a893a8235 ]
If something has the IPMI driver open, don't allow the device
module to be unloaded. Before it would unload and the user would
get errors on use.
This change is made on user request, and it makes it consistent
with the I2C driver, which has the same behavior.
It does change things a little bit with respect to kernel users.
If the ACPI or IPMI watchdog (or any other kernel user) has
created a user, then the device module cannot be unloaded. Before
it could be unloaded,
This does not affect hot-plug. If the device goes away (it's on
something removable that is removed or is hot-removed via sysfs)
then it still behaves as it did before.
Reported-by: tony camuso <tcamuso@redhat.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Tested-by: tony camuso <tcamuso@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-31 16:35:23 +01:00
..
agp
char: amd64-agp: Use 64-bit arithmetic instead of 32-bit
2018-07-10 13:50:31 +10:00
hw_random
hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled
2019-12-31 16:34:55 +01:00
ipmi
ipmi: Don't allow device module unload when in use
2019-12-31 16:35:23 +01:00
mwave
char/mwave: fix potential Spectre v1 vulnerability
2019-01-31 08:14:36 +01:00
pcmcia
char: pcmcia: remove redundant pointer dev
2018-07-03 13:01:57 +02:00
tpm
tpm: add check after commands attribs tab allocation
2019-12-17 20:34:42 +01:00
xilinx_hwicap
char: xilinx_hwicap: Fix warnings in the driver
2017-08-28 17:04:47 +02:00
xillybus
PCI: Add Altera vendor ID
2018-03-14 19:13:47 +01:00
adi.c
char: sparc64: Add privileged ADI driver
2018-06-05 11:24:55 -07:00
apm-emulation.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
applicom.c
applicom: Fix potential Spectre v1 vulnerabilities
2019-03-10 07:17:20 +01:00
applicom.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bsr.c
ds1620.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
dsp56k.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
dtlk.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
efirtc.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
generic_nvram.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
hangcheck-timer.c
treewide: Switch DEFINE_TIMER callbacks to struct timer_list *
2017-11-21 15:57:05 -08:00
hpet.c
hpet: Fix division by zero in hpet_time_div()
2019-07-31 07:27:10 +02:00
Kconfig
tty: mark Siemens R3964 line discipline as BROKEN
2019-04-17 08:38:47 +02:00
lp.c
lp: fix sparc64 LPSETTIMEOUT ioctl
2019-12-13 08:50:58 +01:00
Makefile
char: sparc64: Add privileged ADI driver
2018-06-05 11:24:55 -07:00
mbcs.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
mbcs.h
mem.c
/dev/mem: Bail out upon SIGKILL.
2019-10-05 13:10:11 +02:00
misc.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
mspec.c
char: mspec: change return type to vm_fault_t
2018-04-23 13:51:53 +02:00
nsc_gpio.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
nvram.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
nwbutton.c
treewide: Switch DEFINE_TIMER callbacks to struct timer_list *
2017-11-21 15:57:05 -08:00
nwbutton.h
treewide: Switch DEFINE_TIMER callbacks to struct timer_list *
2017-11-21 15:57:05 -08:00
nwflash.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
pc8736x_gpio.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
powernv-op-panel.c
powerpc/powernv: Add driver for operator panel on FSP machines
2016-06-29 17:33:46 +10:00
ppdev.c
ppdev: fix PPGETTIME/PPSETTIME ioctls
2019-12-17 20:35:13 +01:00
ps3flash.c
random.c
crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
2019-11-20 18:47:11 +01:00
raw.c
treewide: Use array_size() in vzalloc()
2018-06-12 16:19:22 -07:00
rtc.c
char: rtc: remove task handling
2018-08-02 17:16:03 +02:00
scx200_gpio.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
snsc.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
snsc.h
snsc_event.c
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
2017-03-02 08:42:29 +01:00
sonypi.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
tb0219.c
mips: separate extable.h, switch module.h to it
2016-10-05 18:36:18 -04:00
tlclk.c
timer: Remove last user of TIMER_INITIALIZER
2017-10-05 15:01:18 +02:00
toshiba.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
ttyprintk.c
ttyprintk: Neaten and simplify printing
2016-09-13 17:30:17 +02:00
uv_mmtimer.c
virtio_console.c
virtio_console: allocate inbufs in add_port() only if it is needed
2019-12-01 09:16:10 +01:00