All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org, y2038@lists.linaro.org,
	linux-fsdevel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Donnellan <andrew.donnellan@au1.ibm.com>,
	Felipe Balbi <felipe.balbi@linux.intel.com>
Subject: [PATCH v6 13/43] compat_ioctl: use correct compat_ptr() translation in drivers
Date: Wed,  9 Oct 2019 21:10:13 +0200	[thread overview]
Message-ID: <20191009191044.308087-13-arnd@arndb.de> (raw)
In-Reply-To: <20191009190853.245077-1-arnd@arndb.de>

A handful of drivers all have a trivial wrapper around their ioctl
handler, but don't call the compat_ptr() conversion function at the
moment. In practice this does not matter, since none of them are used
on the s390 architecture and for all other architectures, compat_ptr()
does not do anything, but using the new compat_ptr_ioctl()
helper makes it more correct in theory, and simplifies the code.

I checked that all ioctl handlers in these files are compatible
and take either pointer arguments or no argument.

Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/misc/cxl/flash.c            |  8 +-------
 drivers/misc/genwqe/card_dev.c      | 23 +----------------------
 drivers/scsi/megaraid/megaraid_mm.c | 28 +---------------------------
 drivers/usb/gadget/function/f_fs.c  | 12 +-----------
 4 files changed, 4 insertions(+), 67 deletions(-)

diff --git a/drivers/misc/cxl/flash.c b/drivers/misc/cxl/flash.c
index 4d6836f19489..cb9cca35a226 100644
--- a/drivers/misc/cxl/flash.c
+++ b/drivers/misc/cxl/flash.c
@@ -473,12 +473,6 @@ static long device_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 		return -EINVAL;
 }
 
-static long device_compat_ioctl(struct file *file, unsigned int cmd,
-				unsigned long arg)
-{
-	return device_ioctl(file, cmd, arg);
-}
-
 static int device_close(struct inode *inode, struct file *file)
 {
 	struct cxl *adapter = file->private_data;
@@ -514,7 +508,7 @@ static const struct file_operations fops = {
 	.owner		= THIS_MODULE,
 	.open		= device_open,
 	.unlocked_ioctl	= device_ioctl,
-	.compat_ioctl	= device_compat_ioctl,
+	.compat_ioctl	= compat_ptr_ioctl,
 	.release	= device_close,
 };
 
diff --git a/drivers/misc/genwqe/card_dev.c b/drivers/misc/genwqe/card_dev.c
index 0e34c0568fed..040a0bda3125 100644
--- a/drivers/misc/genwqe/card_dev.c
+++ b/drivers/misc/genwqe/card_dev.c
@@ -1215,34 +1215,13 @@ static long genwqe_ioctl(struct file *filp, unsigned int cmd,
 	return rc;
 }
 
-#if defined(CONFIG_COMPAT)
-/**
- * genwqe_compat_ioctl() - Compatibility ioctl
- *
- * Called whenever a 32-bit process running under a 64-bit kernel
- * performs an ioctl on /dev/genwqe<n>_card.
- *
- * @filp:        file pointer.
- * @cmd:         command.
- * @arg:         user argument.
- * Return:       zero on success or negative number on failure.
- */
-static long genwqe_compat_ioctl(struct file *filp, unsigned int cmd,
-				unsigned long arg)
-{
-	return genwqe_ioctl(filp, cmd, arg);
-}
-#endif /* defined(CONFIG_COMPAT) */
-
 static const struct file_operations genwqe_fops = {
 	.owner		= THIS_MODULE,
 	.open		= genwqe_open,
 	.fasync		= genwqe_fasync,
 	.mmap		= genwqe_mmap,
 	.unlocked_ioctl	= genwqe_ioctl,
-#if defined(CONFIG_COMPAT)
-	.compat_ioctl   = genwqe_compat_ioctl,
-#endif
+	.compat_ioctl   = compat_ptr_ioctl,
 	.release	= genwqe_release,
 };
 
diff --git a/drivers/scsi/megaraid/megaraid_mm.c b/drivers/scsi/megaraid/megaraid_mm.c
index 59cca898f088..e83163c66884 100644
--- a/drivers/scsi/megaraid/megaraid_mm.c
+++ b/drivers/scsi/megaraid/megaraid_mm.c
@@ -41,10 +41,6 @@ static int mraid_mm_setup_dma_pools(mraid_mmadp_t *);
 static void mraid_mm_free_adp_resources(mraid_mmadp_t *);
 static void mraid_mm_teardown_dma_pools(mraid_mmadp_t *);
 
-#ifdef CONFIG_COMPAT
-static long mraid_mm_compat_ioctl(struct file *, unsigned int, unsigned long);
-#endif
-
 MODULE_AUTHOR("LSI Logic Corporation");
 MODULE_DESCRIPTION("LSI Logic Management Module");
 MODULE_LICENSE("GPL");
@@ -68,9 +64,7 @@ static wait_queue_head_t wait_q;
 static const struct file_operations lsi_fops = {
 	.open	= mraid_mm_open,
 	.unlocked_ioctl = mraid_mm_unlocked_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl = mraid_mm_compat_ioctl,
-#endif
+	.compat_ioctl = compat_ptr_ioctl,
 	.owner	= THIS_MODULE,
 	.llseek = noop_llseek,
 };
@@ -224,7 +218,6 @@ mraid_mm_unlocked_ioctl(struct file *filep, unsigned int cmd,
 {
 	int err;
 
-	/* inconsistent: mraid_mm_compat_ioctl doesn't take the BKL */
 	mutex_lock(&mraid_mm_mutex);
 	err = mraid_mm_ioctl(filep, cmd, arg);
 	mutex_unlock(&mraid_mm_mutex);
@@ -1228,25 +1221,6 @@ mraid_mm_init(void)
 }
 
 
-#ifdef CONFIG_COMPAT
-/**
- * mraid_mm_compat_ioctl	- 32bit to 64bit ioctl conversion routine
- * @filep	: file operations pointer (ignored)
- * @cmd		: ioctl command
- * @arg		: user ioctl packet
- */
-static long
-mraid_mm_compat_ioctl(struct file *filep, unsigned int cmd,
-		      unsigned long arg)
-{
-	int err;
-
-	err = mraid_mm_ioctl(filep, cmd, arg);
-
-	return err;
-}
-#endif
-
 /**
  * mraid_mm_exit	- Module exit point
  */
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 59d9d512dcda..ce1d0235969c 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -1352,14 +1352,6 @@ static long ffs_epfile_ioctl(struct file *file, unsigned code,
 	return ret;
 }
 
-#ifdef CONFIG_COMPAT
-static long ffs_epfile_compat_ioctl(struct file *file, unsigned code,
-		unsigned long value)
-{
-	return ffs_epfile_ioctl(file, code, value);
-}
-#endif
-
 static const struct file_operations ffs_epfile_operations = {
 	.llseek =	no_llseek,
 
@@ -1368,9 +1360,7 @@ static const struct file_operations ffs_epfile_operations = {
 	.read_iter =	ffs_epfile_read_iter,
 	.release =	ffs_epfile_release,
 	.unlocked_ioctl =	ffs_epfile_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl = ffs_epfile_compat_ioctl,
-#endif
+	.compat_ioctl = compat_ptr_ioctl,
 };
 
 
-- 
2.20.0


  parent reply	other threads:[~2019-10-09 19:13 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-09 19:08 [PATCH v6 00/43] compat_ioctl: remove most of fs/compat_ioctl.c Arnd Bergmann
2019-10-09 19:08 ` Arnd Bergmann
2019-10-09 19:08 ` [Ocfs2-devel] " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 01/43] fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 02/43] FIGETBSZ: fix compat Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 03/43] compat: itanic doesn't have one Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 04/43] do_vfs_ioctl(): use saner types Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 05/43] compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 06/43] compat_sys_ioctl(): make parallel to do_vfs_ioctl() Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 07/43] ceph: fix compat_ioctl for ceph_dir_operations Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 08/43] compat_ioctl: drop FIOQSIZE table entry Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 09/43] compat_ioctl: add compat_ptr_ioctl() Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 10/43] compat_ioctl: move rtc handling into rtc-dev.c Arnd Bergmann
2019-10-09 19:25   ` Alexandre Belloni
2019-10-09 19:31     ` Arnd Bergmann
2019-10-17 13:42   ` [Y2038] " Ben Hutchings
2019-10-17 14:33     ` Arnd Bergmann
2019-10-17 18:19       ` Ben Hutchings
2019-10-22  4:30       ` Al Viro
2019-10-22 12:14         ` Arnd Bergmann
2019-10-23 10:29           ` Alexandre Belloni
2019-10-23 14:28             ` Arnd Bergmann
2019-10-23 14:34               ` Alexandre Belloni
2019-10-23 15:02                 ` Arnd Bergmann
2019-10-23 10:32       ` Alexandre Belloni
2019-10-09 19:10 ` [PATCH v6 11/43] compat_ioctl: move drivers to compat_ptr_ioctl Arnd Bergmann
2019-10-14 19:30   ` Jarkko Sakkinen
2019-10-22  4:34   ` Al Viro
2019-10-22 10:26     ` Arnd Bergmann
2019-10-23  3:17       ` Al Viro
2019-10-23 15:26         ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 12/43] compat_ioctl: move more " Arnd Bergmann
2019-10-09 19:10 ` Arnd Bergmann [this message]
2019-10-09 19:10 ` [PATCH v6 14/43] compat_ioctl: move tape handling into drivers Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 15/43] compat_ioctl: move ATYFB_CLK handling to atyfb driver Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 16/43] compat_ioctl: move isdn/capi ioctl translation into driver Arnd Bergmann
2019-10-17 18:25   ` [Y2038] " Ben Hutchings
2019-10-18 14:18     ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 17/43] compat_ioctl: move rfcomm handlers " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 18/43] compat_ioctl: move hci_sock " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 19/43] compat_ioctl: remove HCIUART handling Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 20/43] compat_ioctl: remove HIDIO translation Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 21/43] compat_ioctl: remove translation for sound ioctls Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 22/43] compat_ioctl: remove IGNORE_IOCTL() Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 23/43] compat_ioctl: remove /dev/random commands Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 24/43] compat_ioctl: remove joystick ioctl translation Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 25/43] compat_ioctl: remove PCI " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 26/43] compat_ioctl: remove /dev/raw " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 27/43] compat_ioctl: remove last RAID handling code Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 28/43] compat_ioctl: remove unused convert_in_user macro Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 29/43] gfs2: add compat_ioctl support Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 29/43] REPLACE " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 30/43] fs: compat_ioctl: move FITRIM emulation into file systems Arnd Bergmann
2019-10-09 19:10   ` Arnd Bergmann
2019-10-09 19:10   ` [f2fs-dev] " Arnd Bergmann
2019-10-09 19:10   ` [Ocfs2-devel] " Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 31/43] compat_ioctl: move WDIOC handling into wdt drivers Arnd Bergmann
2019-10-18 12:49   ` [Y2038] " Ben Hutchings
2019-10-18 13:31     ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 32/43] compat_ioctl: reimplement SG_IO handling Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 33/43] af_unix: add compat_ioctl support Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 34/43] compat_ioctl: handle SIOCOUTQNSD Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 35/43] compat_ioctl: move SIOCOUTQ out of compat_ioctl.c Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 36/43] tty: handle compat PPP ioctls Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 37/43] compat_ioctl: unify copy-in of ppp filters Arnd Bergmann
2019-10-09 19:10   ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 38/43] compat_ioctl: move PPPIOCSCOMPRESS to ppp_generic Arnd Bergmann
2019-10-09 19:10   ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 39/43] compat_ioctl: handle PPPIOCGIDLE for 64-bit time_t Arnd Bergmann
2019-10-09 19:10   ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 40/43] compat_ioctl: ppp: move simple commands into ppp_generic.c Arnd Bergmann
2019-10-09 19:10   ` Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 41/43] compat_ioctl: move SG_GET_REQUEST_TABLE handling Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 42/43] pktcdvd: add compat_ioctl handler Arnd Bergmann
2019-10-09 19:10 ` [PATCH v6 43/43] scsi: sd: enable compat ioctls for sed-opal Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191009191044.308087-13-arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=andrew.donnellan@au1.ibm.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.