debugfs: lockdown: Allow reading debugfs files that are not world readable

When the kernel is locked down the kernel allows reading only debugfs
files with mode 444. Mode 400 is also valid but is not allowed.

Make the 444 into a mask.

Fixes: 5496197f9b ("debugfs: Restrict debugfs when the kernel is locked down")
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Link: https://lore.kernel.org/r/20220104170505.10248-1-msuchanek@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Michal Suchanek 2022-01-04 18:05:05 +01:00 committed by Greg Kroah-Hartman
parent 00eb74ea2c
commit 358fcf5ddb

View File

@ -147,7 +147,7 @@ static int debugfs_locked_down(struct inode *inode,
struct file *filp, struct file *filp,
const struct file_operations *real_fops) const struct file_operations *real_fops)
{ {
if ((inode->i_mode & 07777) == 0444 && if ((inode->i_mode & 07777 & ~0444) == 0 &&
!(filp->f_mode & FMODE_WRITE) && !(filp->f_mode & FMODE_WRITE) &&
!real_fops->unlocked_ioctl && !real_fops->unlocked_ioctl &&
!real_fops->compat_ioctl && !real_fops->compat_ioctl &&