lkml.org 
[lkml]   [2019]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v3 04/26] compat_ioctl: move PPPIOCSCOMPRESS32 to ppp-generic.c
On Wed, Apr 17, 2019 at 11:16 PM Al Viro <viro@zeniv.linux.org.uk> wrote:
>
> On Tue, Apr 16, 2019 at 10:19:42PM +0200, Arnd Bergmann wrote:
> > +#ifdef CONFIG_COMPAT
> > +struct ppp_option_data32 {
> > + compat_caddr_t ptr;
>
> Huh? compat_uptr_t, surely? I realize that compat_ioctl.c is bogus
> that way right now, but let's not spread that crap into the places
> where it's harder to find...

Ok, done.

> > err = -EFAULT;
> > - if (copy_from_user(&data, (void __user *) arg, sizeof(data)))
> > - goto out;
> > +#ifdef CONFIG_COMPAT
> > + if (compat) {
> > + struct ppp_option_data32 data32;
> > +
> > + if (copy_from_user(&data32, (void __user *) arg,
> > + sizeof(data32)))
> > + goto out;
> > +
> > + data.ptr = compat_ptr(data32.ptr);
> > + data.length = data32.length;
> > + data.transmit = data32.transmit;
> > + } else
> > +#endif
> > + {
> > + if (copy_from_user(&data, (void __user *) arg, sizeof(data)))
> > + goto out;
> > + }
>
> *UGH*
>
> Do that in caller, please. And sod the flag argument...

Ack, changed it now.

Arnd

\
 
 \ /
  Last update: 2019-04-17 23:46    [W:0.087 / U:9.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site