Re: compat ioctl32 for /dev/snapshot?

Rafael J. Wysocki
2009-05-04T21:56:39Z

On Monday 04 May 2009, Andi Kleen wrote:
> On Mon, May 04, 2009 at 02:55:10PM +0400, Michael Tokarev wrote:
> > Andi Kleen wrote:
> > >Michael Tokarev <mjt@tls.msk.ru> writes:
> > >
> > >>Is there any reason why 32-bit uswsusp &Friends does not work
> > >>on 64bits kernel?
> > >>
> > >>For one, 32bits s2disk produces the following when trying to
> > >>suspend:
> > >>
> > >> ioctl32(s2disk:4134): Unknown cmd fd(4) cmd(400c330d){t:'3';sz:12}
> > >> arg(ff853554) on /dev/snapshot
> > >> ioctl32(s2disk:4134): Unknown cmd fd(4) cmd(4004330a){t:'3';sz:4}
> > >> arg(00000805) on /dev/snapshot
> > >>
> > []
> > >It's probably just that nobody has written the code yet. In general all
> > >missing compat_ioctls are bugs.
> >
> > Oh well.
> >
> > Is the following patch ok? I just pulled all the SNAPSHOT_* stuff from
>
> You should ask Rafael (cc'ed) who maintains that code.

Thanks for CCing me. :-)

In fact I don't think the 32-bit user space will work with 64-bit kernels as is
in this particular case, because of the different pointer size.

Having a quick look at the code (I don't remember the details right now)
I think most probably it could be modified to handle this case too, but I'm not
really sure.

Best,
Rafael