Re: [bug?] nfs setgid inheritance

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

 



On Sat, Feb 19, 2022 at 08:34:30AM +0000, suy.fnst@xxxxxxxxxxx wrote:
> Hi NFS folks,
>   During our xfstests, we found generic/633 fails like:
> ============================================
> FSTYP         -- nfs
> PLATFORM      -- Linux/x86_64 btrfs 5.17.0-rc4-custom #236 SMP PREEMPT Sat Feb 19 15:09:03 CST 2022
> MKFS_OPTIONS  -- 127.0.0.1:/nfsscratch
> MOUNT_OPTIONS -- -o vers=4 127.0.0.1:/nfsscratch /mnt/scratch
> 
> generic/633 0s ... [failed, exit status 1]- output mismatch (see /root/xfstests-dev/results//generic/633.out.bad)
>     --- tests/generic/633.out   2021-05-23 14:03:08.879999997 +0800
>     +++ /root/xfstests-dev/results//generic/633.out.bad 2022-02-19 16:31:28.660000013 +0800
>     @@ -1,2 +1,4 @@
>      QA output created by 633
>      Silence is golden
>     +idmapped-mounts.c: 7906: setgid_create - Success - failure: is_setgid
>     +idmapped-mounts.c: 13907: run_test - Success - failure: create operations in directories with setgid bit set
>     ...
>     (Run 'diff -u /root/xfstests-dev/tests/generic/633.out /root/xfstests-dev/results//generic/633.out.bad'  to see the entire diff)
> Ran: generic/633
> Failures: generic/633
> Failed 1 of 1 tests
> ============================================
> 
> The failed test is about setgid inheritance. 
> When  a file is created with S_ISGID in the directory with S_ISGID, 
> NFS  doesn't strip the  setgid bit of the new created file but others
> (ext4/xfs/btrfs) do.  They call inode_init_owner() which does
> the strip after new_inode().
> However, NFS has its own logical to handle inode capacities. 
> As the test says the behavior can be filesystem type specific,
> I'd report to you NFS guys and ask whether it's a bug or not?

Thanks for the report. I'm not sure why NFS would have different rules
for setgid inheritance. So I'm inclined to think that this is simply a
bug similar to what we saw in xfs and ceph. But I'll let the NFS folks
determine that.

XFS is only special in so far as it has a sysctl that lets it alter sgid
inheritance behavior. And it only has that to allow for legacy irix
semantics iiuc.

Christian



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux