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:   Tue, 23 Aug 2022 13:10:56 +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,
        Jens Axboe <axboe@...nel.dk>
Subject: [GIT PULL] file_remove_privs() fix for v6.0-rc3

Hey Linus,

/* Summary */
As part of Stefan's and Jens' work to add async buffered write support to xfs
we refactored file_remove_privs() and added __file_remove_privs() to avoid
calling __remove_privs() when IOCB_NOWAIT is passed.

While debugging a recent performance regression report I found that during
review we missed that faf99b563558 ("fs: add __remove_file_privs() with flags
parameter") accidently changed behavior when dentry_needs_remove_privs()
returns zero. Before the commit it would still call inode_has_no_xattr()
setting the S_NOSEC bit and thereby avoiding even calling into
dentry_needs_remove_privs() the next time this function is called. After that
commit inode_has_no_xattr() would only be called if __remove_privs() had to be
called. Restore the old behavior. This is likely the cause of the performance
regression.

/* Testing */
All patches are based on v6.0-rc1 and have been sitting in linux-next. No build
failures or warnings were observed and fstests, selftests, and LTP have seen no
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 568035b01cfb107af8d2e4bd2fb9aea22cf5b868:

  Linux 6.0-rc1 (2022-08-14 15:50:18 -0700)

are available in the Git repository at:

  ssh://git@...olite.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git tags/fs.fixes.v6.0-rc3

for you to fetch changes up to 41191cf6bf565f4139046d7be68ec30c290af92d:

  fs: __file_remove_privs(): restore call to inode_has_no_xattr() (2022-08-18 09:39:33 +0200)

Please consider pulling these changes from the signed fs.fixes.v6.0-rc3 tag.

Thanks!
Christian

----------------------------------------------------------------
fs.fixes.v6.0-rc3

----------------------------------------------------------------
Stefan Roesch (1):
      fs: __file_remove_privs(): restore call to inode_has_no_xattr()

 fs/inode.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ