All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 01/17] compat_ioctl: add generic_compat_ioctl_ptrarg()
Date: Thu, 13 Sep 2018 03:07:57 +0100	[thread overview]
Message-ID: <20180913020757.GP19965@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20180912150142.157913-1-arnd@arndb.de>

On Wed, Sep 12, 2018 at 05:01:02PM +0200, Arnd Bergmann wrote:
> Many drivers have ioctl() handlers that are completely compatible
> between 32-bit and 64-bit architectures, except for the argument
> that is passed down from user space and may have to be passed
> through compat_ptr() in order to become a valid 64-bit pointer.
> 
> Using ".compat_ptr=generic_compat_ioctl_ptrarg" in file operations
> should let us simplify a lot of those drivers to avoid #ifdef
> checks, and convert additional drivers that don't have proper
> compat handling yet.

Just keep in mind that this should *only* be used when all
ioctls implemented in a given instance do take pointers.
Because otherwise you are asking for trouble - e.g. if one of
them takes an u32 used as a bitmap, this will run into trouble
as soon as somebody uses bit 31.  With no visible warnings.

IOW, it shouldn't be used blindly and it should come with big
fat warning.

  parent reply	other threads:[~2018-09-13  2:08 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-12 15:01 [PATCH v2 01/17] compat_ioctl: add generic_compat_ioctl_ptrarg() Arnd Bergmann
2018-09-12 15:01 ` [PATCH v2 02/17] compat_ioctl: move drivers to generic_compat_ioctl_ptrarg Arnd Bergmann
2018-09-12 15:01   ` [v2,02/17] " Arnd Bergmann
2018-09-12 15:01   ` [PATCH v2 02/17] " Arnd Bergmann
2018-09-12 15:01   ` Arnd Bergmann
2018-09-12 15:33   ` Jason Gunthorpe
2018-09-12 15:33     ` [v2,02/17] " Jason Gunthorpe
2018-09-12 15:33     ` [PATCH v2 02/17] " Jason Gunthorpe
2018-09-12 16:20     ` Arnd Bergmann
2018-09-12 16:20       ` [v2,02/17] " Arnd Bergmann
2018-09-12 16:20       ` [PATCH v2 02/17] " Arnd Bergmann
2018-09-12 16:20       ` Arnd Bergmann
2018-09-12 16:20     ` Arnd Bergmann
2018-09-12 18:13   ` Greg Kroah-Hartman
2018-09-12 18:13     ` [v2,02/17] " Greg Kroah-Hartman
2018-09-12 18:13     ` [PATCH v2 02/17] " Greg Kroah-Hartman
2018-09-16 19:07   ` Jarkko Sakkinen
2018-09-16 19:07     ` [v2,02/17] " Jarkko Sakkinen
2018-09-16 19:07     ` [PATCH v2 02/17] " Jarkko Sakkinen
2018-09-16 19:07     ` Jarkko Sakkinen
2018-09-12 15:01 ` Arnd Bergmann
2018-09-12 15:01 ` [PATCH v2 03/17] compat_ioctl: use correct compat_ptr() translation in drivers Arnd Bergmann
2018-09-12 15:01   ` [v2,03/17] " Arnd Bergmann
2018-09-12 18:13   ` [PATCH v2 03/17] " Greg Kroah-Hartman
2018-09-12 18:13     ` [v2,03/17] " Greg Kroah-Hartman
2018-09-13  0:48   ` [PATCH v2 03/17] " Andrew Donnellan
2018-09-13  0:48     ` [v2,03/17] " Andrew Donnellan
2018-09-13 11:03   ` [PATCH v2 03/17] " Felipe Balbi
2018-09-13 11:03     ` Felipe Balbi
2018-09-13 11:03     ` [v2,03/17] " Felipe Balbi
2018-09-12 15:01 ` [PATCH v2 04/17] ceph: fix compat_ioctl for ceph_dir_operations Arnd Bergmann
2018-09-12 16:12   ` David Laight
2018-09-12 16:25     ` Arnd Bergmann
2018-09-13  0:48   ` Yan, Zheng
2018-09-12 15:08 ` [PATCH v2 05/17] compat_ioctl: move more drivers to generic_compat_ioctl_ptrarg Arnd Bergmann
2018-09-12 15:08   ` Arnd Bergmann
2018-09-12 15:08   ` [v2,05/17] " Arnd Bergmann
2018-09-12 15:08   ` [PATCH v2 05/17] " Arnd Bergmann
2018-09-12 15:08   ` Arnd Bergmann
2018-09-12 15:08   ` [PATCH v2 06/17] compat_ioctl: move rtc handling into rtc-dev.c Arnd Bergmann
2018-09-12 20:00     ` Alexandre Belloni
2018-09-12 15:08   ` [PATCH v2 07/17] compat_ioctl: move tape handling into drivers Arnd Bergmann
2018-09-12 15:08   ` [PATCH v2 08/17] compat_ioctl: remove keyboard ioctl translation Arnd Bergmann
2018-09-12 15:08   ` [PATCH v2 09/17] compat_ioctl: remove HIDIO translation Arnd Bergmann
2018-09-12 15:56   ` [PATCH v2 05/17] compat_ioctl: move more drivers to generic_compat_ioctl_ptrarg Jason Gunthorpe
2018-09-12 15:56     ` Jason Gunthorpe
2018-09-12 15:56     ` [v2,05/17] " Jason Gunthorpe
2018-09-12 15:56     ` [PATCH v2 05/17] " Jason Gunthorpe
2018-09-12 15:58   ` Daniel Vetter
2018-09-12 15:58     ` Daniel Vetter
2018-09-12 15:58     ` [v2,05/17] " Daniel Vetter
2018-09-12 15:58     ` [PATCH v2 05/17] " Daniel Vetter
2018-09-12 15:58     ` Daniel Vetter
2018-09-12 15:58     ` Daniel Vetter
2018-09-12 15:58     ` Daniel Vetter
2018-09-12 16:01   ` Mauro Carvalho Chehab
2018-09-12 16:01     ` Mauro Carvalho Chehab
2018-09-12 16:01     ` [v2,05/17] " Mauro Carvalho Chehab
2018-09-12 16:01     ` [PATCH v2 05/17] " Mauro Carvalho Chehab
2018-09-12 16:01     ` Mauro Carvalho Chehab
2018-09-12 16:01     ` Mauro Carvalho Chehab
2018-09-12 18:13   ` Greg Kroah-Hartman
2018-09-12 18:13     ` Greg Kroah-Hartman
2018-09-12 18:13     ` Greg Kroah-Hartman
2018-09-12 18:13     ` [v2,05/17] " Greg Kroah-Hartman
2018-09-12 18:13     ` [PATCH v2 05/17] " Greg Kroah-Hartman
2018-09-12 18:13     ` Greg Kroah-Hartman
2018-09-12 18:13     ` Greg Kroah-Hartman
2018-09-14 14:23   ` David Sterba
2018-09-14 14:23     ` David Sterba
2018-09-14 14:23     ` [v2,05/17] " David Sterba
2018-09-14 14:23     ` [PATCH v2 05/17] " David Sterba
2018-09-14 14:23     ` David Sterba
2018-09-14 20:35   ` Darren Hart
2018-09-14 20:35     ` Darren Hart
2018-09-14 20:35     ` [v2,05/17] " Darren Hart
2018-09-14 20:35     ` [PATCH v2 05/17] " Darren Hart
2018-09-14 20:35     ` Darren Hart
2018-09-14 20:57     ` Al Viro
2018-09-14 20:57       ` Al Viro
2018-09-14 20:57       ` [v2,05/17] " Al Viro
2018-09-14 20:57       ` [PATCH v2 05/17] " Al Viro
2018-09-14 20:57       ` Al Viro
2018-09-18 17:51       ` Darren Hart
2018-09-18 17:51         ` Darren Hart
2018-09-18 17:51         ` [v2,05/17] " Darren Hart
2018-09-18 17:51         ` [PATCH v2 05/17] " Darren Hart
2018-09-18 17:51         ` Darren Hart
2018-09-18 17:59         ` Jason Gunthorpe
2018-09-18 17:59           ` Jason Gunthorpe
2018-09-18 17:59           ` [v2,05/17] " Jason Gunthorpe
2018-09-18 17:59           ` [PATCH v2 05/17] " Jason Gunthorpe
2018-09-24 20:18           ` Arnd Bergmann
2018-09-24 20:18             ` Arnd Bergmann
2018-09-24 20:18             ` [v2,05/17] " Arnd Bergmann
2018-09-24 20:18             ` [PATCH v2 05/17] " Arnd Bergmann
2018-09-24 20:18             ` Arnd Bergmann
2018-09-24 20:18             ` Arnd Bergmann
2018-09-24 20:18             ` Arnd Bergmann
2018-09-24 20:35             ` Jason Gunthorpe
2018-09-24 20:35               ` Jason Gunthorpe
2018-09-24 20:35               ` [v2,05/17] " Jason Gunthorpe
2018-09-24 20:35               ` [PATCH v2 05/17] " Jason Gunthorpe
2018-09-24 20:35               ` Jason Gunthorpe
2018-09-24 21:17               ` Arnd Bergmann
2018-09-24 21:17                 ` Arnd Bergmann
2018-09-24 21:17                 ` [v2,05/17] " Arnd Bergmann
2018-09-24 21:17                 ` [PATCH v2 05/17] " Arnd Bergmann
2018-09-24 21:17                 ` Arnd Bergmann
2018-09-24 21:17                 ` Arnd Bergmann
2018-09-24 21:17                 ` Arnd Bergmann
2018-09-17  9:33   ` Jonathan Cameron
2018-09-17  9:33     ` Jonathan Cameron
2018-09-17  9:33     ` [v2,05/17] " Jonathan Cameron
2018-09-17  9:33     ` [PATCH v2 05/17] " Jonathan Cameron
2018-09-17  9:33     ` Jonathan Cameron
2018-09-17  9:33     ` Jonathan Cameron
2018-10-06  7:05   ` Bjorn Andersson
2018-10-06  7:05     ` Bjorn Andersson
2018-10-06  7:05     ` Bjorn Andersson
2018-10-06  7:05     ` [v2,05/17] " Bjorn Andersson
2018-10-06  7:05     ` [PATCH v2 05/17] " Bjorn Andersson
2018-10-06  7:05     ` Bjorn Andersson
2018-09-12 15:13 ` [PATCH v2 10/17] compat_ioctl: remove translation for sound ioctls Arnd Bergmann
2018-09-12 15:13   ` Arnd Bergmann
2018-09-12 15:13   ` Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 11/17] compat_ioctl: remove isdn ioctl translation Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 12/17] compat_ioctl: remove IGNORE_IOCTL() Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 13/17] compat_ioctl: remove /dev/random commands Arnd Bergmann
2018-09-12 18:13     ` Greg Kroah-Hartman
2018-09-12 15:13   ` [PATCH v2 14/17] compat_ioctl: remove joystick ioctl translation Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 15/17] compat_ioctl: remove PCI " Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 16/17] compat_ioctl: remove /dev/raw " Arnd Bergmann
2018-09-12 15:13   ` [PATCH v2 17/17] compat_ioctl: remove last RAID handling code Arnd Bergmann
2018-09-13 13:37   ` [PATCH v2 10/17] compat_ioctl: remove translation for sound ioctls Takashi Iwai
2018-09-13 13:37     ` Takashi Iwai
2018-09-13 13:37     ` Takashi Iwai
2018-09-13  2:07 ` Al Viro [this message]
2018-09-13 10:29   ` [PATCH v2 01/17] compat_ioctl: add generic_compat_ioctl_ptrarg() Arnd Bergmann
2018-10-28 17:07     ` Al Viro
2018-10-29  9:50       ` 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=20180913020757.GP19965@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=arnd@arndb.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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.