Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

From: Ingo Molnar
Date: Fri Mar 30 2018 - 06:58:14 EST



* John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx> wrote:

> On 03/27/2018 12:40 PM, Linus Torvalds wrote:
> > On Mon, Mar 26, 2018 at 4:37 PM, John Paul Adrian Glaubitz
> > <glaubitz@xxxxxxxxxxxxxxxxxxx> wrote:
> >>
> >> What about a tarball with a minimal Debian x32 chroot? Then you can
> >> install interesting packages you would like to test yourself.
> >
> > That probably works fine.
>
> I just created a fresh Debian x32 unstable chroot using this command:
>
> $ debootstrap --no-check-gpg --variant=minbase --arch=x32 unstable debian-x32-unstable http://ftp.ports.debian.org/debian-ports
>
> It can be downloaded from my Debian webspace along checksum files for
> verification:
>
> > https://people.debian.org/~glaubitz/chroots/
>
> Let me know if you run into any issues.

Here's the direct download link:

$ wget https://people.debian.org/~glaubitz/chroots/debian-x32-unstable.tar.gz

Checksum should be:

$ sha256sum debian-x32-unstable.tar.gz
010844bcc76bd1a3b7a20fe47f7067ed8e429a84fa60030a2868626e8fa7ec3b debian-x32-unstable.tar.gz

Seems to work fine here (on a distro kernel) even if I extract all the files as a
non-root user and do:

~/s/debian-x32-unstable> fakechroot /usr/sbin/chroot . /usr/bin/dpkg -l | tail -2

ERROR: ld.so: object 'libfakechroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ii util-linux:x32 2.31.1-0.5 x32 miscellaneous system utilities
ii zlib1g:x32 1:1.2.8.dfsg-5 x32 compression library - runtime

So that 'dpkg' instance appears to be running inside the chroot environment and is
listing x32 installed packages.

Although I did get this warning:

ERROR: ld.so: object 'libfakechroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Even with that warning, is still still a sufficiently complex test of x32 syscall
code paths?

BTW., "fakechroot /usr/sbin/chroot ." crashes instead of giving me a bash shell.

Thanks,

Ingo