Re: util-linux 2.39 doesn't work with <linux-5.12: mount(2) system call failed: Function not implemented

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023-05-20 17:23:05+0200, Thomas Deutschmann wrote:
> On 2023-05-20 06:51, Thomas Weißschuh wrote:
> > Could you test the fix proposed in
> > https://github.com/util-linux/util-linux/pull/2248 ?
> > 
> > (For testing on a real system you only need the changes to
> > libmount/src/hook_mount.c, ignore the testing stuff)
> 
> This is addressing the reported
> 
>   mount --make-slave /proc

Thanks for confirming!

<snip>

> However, I noticed additional problems. Remounts for example are still not
> working but no error is shown:
> 
> > ~ # findmnt /
> > TARGET  SOURCE    FSTYPE OPTIONS
> > /       /dev/dm-0 ext4   ro,relatime,stripe=32650
> > ~ # mount -o remount,rw /
> > ~ # findmnt /
> > TARGET   SOURCE    FSTYPE OPTIONS
> > /        /dev/dm-0 ext4   ro,relatime,stripe=32650
> 
> I don't see a fallback in strace:
> 
> > [...]
> > open_tree(AT_FDCWD, "/", OPEN_TREE_CLOEXEC) = 3
> > mount_setattr(-1, NULL, 0, NULL, 0)     = -1 ENOSYS (Function not implemented)
> > getuid()                                = 0
> > geteuid()                               = 0
> > getgid()                                = 0
> > getegid()                               = 0
> > prctl(PR_GET_DUMPABLE)                  = 1 (SUID_DUMP_USER)
> > newfstatat(AT_FDCWD, "/run/mount/utab", 0x7ffe4fe7c590, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory)
> > mkdir("/run/mount", 0755)               = -1 EEXIST (File exists)
> > newfstatat(AT_FDCWD, "/run/mount/utab", 0x7ffe4fe7c480, 0) = -1 ENOENT (No such file or directory)
> > newfstatat(AT_FDCWD, "/run/mount", {st_mode=S_IFDIR|0755, st_size=40, ...}, 0) = 0
> > geteuid()                               = 0
> > getegid()                               = 0
> > getuid()                                = 0
> > getgid()                                = 0
> > access("/run/mount", R_OK|W_OK)         = 0
> > fspick(3, "", FSPICK_NO_AUTOMOUNT|FSPICK_EMPTY_PATH) = 4
> > fsconfig(4, FSCONFIG_SET_FLAG, "rw", NULL, 0) = 0
> > fsconfig(4, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0) = 0
> > close(4)                                = 0
> > close(3)                                = 0
> > dup(1)                                  = 3
> > close(3)                                = 0
> > dup(2)                                  = 3
> > close(3)                                = 0
> > exit_group(0)                           = ?
> > +++ exited with 0 +++

I'm not sure that the fallback should be necessary here.
The calls to fsconfig() seem to succeed.

I am having trouble reproducing the issue.

Could you
* provide more details about the used kernel?
* provide reproduction steps that are simple to reproduce, for example
  using tmpfs mounts.

FYI there was a report on GitHub that confirms more or less this exact
usecase to be working with my patch. [0]

[0] https://github.com/util-linux/util-linux/issues/2247#issuecomment-1555967726

Thomas



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux