[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian)
From: |
Lucas Nussbaum |
Subject: |
bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian) |
Date: |
Mon, 22 Feb 2021 11:57:36 +0100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On 22/02/21 at 10:46 +0100, Ludovic Courtès wrote:
> Hi Lucas,
>
> Lucas Nussbaum <lucas.nussbaum@inria.fr> skribis:
>
> > On 18/02/21 at 12:38 +0100, Ludovic Courtès wrote:
>
> [...]
>
> >> I tried grabbing mount options from there and reapplying them to the
> >> MS_REMOUNT call (patch below). However, that still doesn’t work:
> >>
> >> --8<---------------cut here---------------start------------->8---
> >> 14273
> >> mount("/gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16",
> >> "/tmp/guix-directory.Plgkgt//gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16",
> >> 0x236a4b0, MS_RDONLY|MS_REMOUNT|MS_BIND, "rw,nosuid,nodev,relatime") = -1
> >> EPERM (Operation not permitted)
> >> --8<---------------cut here---------------end--------------->8---
> >
> > That's strange: it worked in my manual tests.
>
> I investigated some more and can’t get it to work. Do you happen to
> have a working invocation or C snippet?
Here is an example:
root@grisou-48:/tmp# mkdir t m
without nosuid:
root@grisou-48:/tmp# unshare -mrf
mesg: cannot open /dev/pts/0: Permission denied
root@grisou-48:/tmp# mount --bind t m
root@grisou-48:/tmp# mount --bind -r -o remount ./t ./m
root@grisou-48:/tmp# logout
now remount with nosuid:
root@grisou-48:/tmp# mount -o remount,nosuid /tmp
root@grisou-48:/tmp# mount |grep /tmp
/dev/sda5 on /tmp type ext4 (rw,nosuid,relatime)
and try again:
root@grisou-48:/tmp# unshare -mrf
mesg: cannot open /dev/pts/0: Permission denied
root@grisou-48:/tmp# mount --bind t m
root@grisou-48:/tmp# mount |grep /tmp
/dev/sda5 on /tmp type ext4 (rw,nosuid,relatime)
/dev/sda5 on /tmp/m type ext4 (rw,nosuid,relatime)
root@grisou-48:/tmp# mount --bind -r -o remount ./t ./m
mount: /tmp/m: permission denied.
^ that's expected
but it works when specifying nosuid:
root@grisou-48:/tmp# mount --bind -r -o remount,nosuid ./t ./m
root@grisou-48:/tmp#
>From strace:
mount("/tmp/t", "/tmp/m", 0x55e75bf38cb0,
MS_RDONLY|MS_NOSUID|MS_REMOUNT|MS_BIND, NULL) = 0
MS_NOSUID is missing from mountflags in your invocation. Apparently data
can be NULL.
--
Lucas Nussbaum <lucas.nussbaum@inria.fr> +33 3 54 95 86 19
Responsable du programme plateformes d'expérimentation
DDO-SDT - Direction Générale Déléguée à l'Innovation - Inria
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/04
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), zimoun, 2021/02/04
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/04
- bug#46292: more info, Lucas Nussbaum, 2021/02/10
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/18
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Lucas Nussbaum, 2021/02/18
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/22
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian),
Lucas Nussbaum <=
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/22
- bug#46292: [PATCH 1/3] syscalls: Define MS_RELATIME., Ludovic Courtès, 2021/02/22
- bug#46292: [PATCH 2/3] syscalls: Add 'mounts' and the <mount> record type., Ludovic Courtès, 2021/02/22
- bug#46292: [PATCH 3/3] file-systems: 'mount-file-system' preserves source flags for bind mounts., Ludovic Courtès, 2021/02/22
- bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/25
bug#46292: ‘guix environment -C’ fails with Linux 4.19 (Debian), Ludovic Courtès, 2021/02/18