diff options
author | Arnd Bergmann <arnd@arndb.de> | 2019-03-15 17:13:06 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2020-01-03 09:33:21 +0100 |
commit | fe0da4e5e8c661663297315da0fa47532ca5f362 (patch) | |
tree | 2c146ba416fb1660db81e8e900fb49fb59b1b8bc /block | |
parent | compat_ioctl: add scsi_compat_ioctl (diff) | |
download | linux-fe0da4e5e8c661663297315da0fa47532ca5f362.tar.xz linux-fe0da4e5e8c661663297315da0fa47532ca5f362.zip |
compat_ioctl: bsg: add handler
bsg_ioctl() calls into scsi_cmd_ioctl() for a couple of generic commands
and relies on fs/compat_ioctl.c to handle it correctly in compat mode.
Adding a private compat_ioctl() handler avoids that round-trip and lets
us get rid of the generic emulation once this is done.
Note that bsg implements an SG_IO command that is different from the
other drivers and does not need emulation.
Reviewed-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'block')
-rw-r--r-- | block/bsg.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/bsg.c b/block/bsg.c index 833c44b3d458..d7bae94b64d9 100644 --- a/block/bsg.c +++ b/block/bsg.c @@ -382,6 +382,7 @@ static const struct file_operations bsg_fops = { .open = bsg_open, .release = bsg_release, .unlocked_ioctl = bsg_ioctl, + .compat_ioctl = compat_ptr_ioctl, .owner = THIS_MODULE, .llseek = default_llseek, }; |