uio: Prevent device destruction while fds are open
authorHamish Martin <hamish.martin@alliedtelesis.co.nz>
Mon, 14 May 2018 01:32:23 +0000 (13:32 +1200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 May 2018 14:16:35 +0000 (16:16 +0200)
commita93e7b331568227500186a465fee3c2cb5dffd1f
tree9eb90315fad535118c90264d2d1d189913bbfe9b
parent81daa406c2cc97d85eef9409400404efc2a3f756
uio: Prevent device destruction while fds are open

Prevent destruction of a uio_device while user space apps hold open
file descriptors to that device. Further, access to the 'info' member
of the struct uio_device is protected by spinlock. This is to ensure
stale pointers to data not under control of the UIO subsystem are not
dereferenced.

Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uio/uio.c
include/linux/uio_driver.h