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

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.
Otherwise the regression will be introduced to the release.

--
glebfm


2017-06-14 05:08:49

by Greg Kroah-Hartman

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

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?

thanks,

greg k-h

2017-06-14 15:48:06

by Dmitry V. Levin

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

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


Attachments:
(No filename) (1.17 kB)
signature.asc (801.00 B)
Download all attachments