lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 25 May 2023 14:22:35 +0200
From:   Christian Brauner <brauner@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Christian Brauner <brauner@...nel.org>,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] vfs fixes

Hey Linus,

/* Summary */
This contains a small set of fixes:

* During the acl rework we merged this cycle the generic_listxattr()
  helper had to be modified in a way that in principle it would allow
  for POSIX ACLs to be reported. At least that was the impression we had
  initially. Because before the acl rework POSIX ACLs would be reported
  if the filesystem did have POSIX ACL xattr handlers in sb->s_xattr.
  That logic changed and now we can simply check whether the superblock
  has SB_POSIXACL set and if the inode has inode->i_{default_}acl set
  report the appropriate POSIX ACL name.

  However, we didn't realize that generic_listxattr() was only ever used
  by two filesystems. Both of them don't support POSIX ACLs via
  sb->s_xattr handlers and so never reported POSIX ACLs via
  generic_listxattr() even if they raised SB_POSIXACL and did contain
  inodes which had acls set. The example here is nfs4. So
  generic_listxattr() suddenly started reporting POSIX ACLs when it
  wouldn't have before.
  Since SB_POSIXACL implies that the umask isn't stripped in the VFS
  nfs4 can't just drop SB_POSIXACL from the superblock as it would also
  alter umask handling for them. So just have generic_listxattr() not
  report POSIX ACLs as it never did anyway. It's documented as such.

* Our SB_* flags currently use a signed integer and we shift the last
  bit causing UBSAN to complain about undefined behavior. Switch to
  using unsigned. While the original patch used an explicit unsigned
  bitshift it's now pretty common to rely on the BIT() macro in a lot of
  headers nowadays. So the patch has been adjusted to use that.

* Add Namjae as ntfs reviewer. They're already active this cycle so
  let's make it explicit right now.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on 6.4-rc2 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6:

  Linux 6.4-rc2 (2023-05-14 12:51:40 -0700)

are available in the Git repository at:

  git@...olite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs/v6.4-rc3/misc.fixes

for you to fetch changes up to 48524463f807ec516a291bdf717dcf2c8e059f51:

  ntfs: Add myself as a reviewer (2023-05-17 15:25:21 +0200)

Please consider pulling these changes from the signed vfs/v6.4-rc2/misc.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs/v6.4-rc2/misc.fixes

----------------------------------------------------------------
Hao Ge (1):
      fs: fix undefined behavior in bit shift for SB_NOUSER

Jeff Layton (1):
      fs: don't call posix_acl_listxattr in generic_listxattr

Namjae Jeon (1):
      ntfs: Add myself as a reviewer

 MAINTAINERS        |  1 +
 fs/xattr.c         | 15 +++++++++------
 include/linux/fs.h | 42 +++++++++++++++++++++---------------------
 3 files changed, 31 insertions(+), 27 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ