Re: [PATCH] staging: android: uapi: drop definitions of removed ION_IOC_{FREE,SHARE} ioctls

From: Dmitry V. Levin
Date: Wed Jun 14 2017 - 11:48:09 EST


On Wed, Jun 14, 2017 at 07:08:39AM +0200, Greg Kroah-Hartman wrote:
> On Tue, Jun 13, 2017 at 09:17:05PM +0300, Gleb Fotengauer-Malinovskiy wrote:
> > On Tue, May 30, 2017 at 04:33:57PM -0700, Laura Abbott wrote:
> > > On 05/30/2017 07:11 AM, Gleb Fotengauer-Malinovskiy wrote:
> > > > This problem was found by strace ioctl list generator.
> > > >
> > > > Fixes: 15c6098cfec5 ("staging: android: ion: Remove ion_handle and ion_client")
> >
> > As this commit fixes a regression, please apply it to the tree which will
> > be merged before 4.12 release, too.
>
> What "regression" is there? The fact that a staging driver has a few
> spare ioctls floating around in a header file? How is that bad?

I thought it was pretty obvious.
OK, here is a bit more detailed explanation.

There is an uapi header that after commit 15c6098cfec5 provides
definitions of ioctl macros that do not compile when used.

Imagine a userspace code that does something as harmless as
#ifdef ION_IOC_FREE
use(ION_IOC_FREE);
#endif
This simple code is broken by commit 15c6098cfec5.

The regression is not a pure virtual one, there is a quite real userspace
(strace ioctl list generator) broken by the change.


--
ldv

Attachment: signature.asc
Description: PGP signature