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

[ Upstream commit 358fcf5ddbec4e6706405847d6a666f5933a6c25 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Michal Suchanek 2022-01-04 18:05:05 +01:00 committed by Greg Kroah-Hartman
parent b9b5da3e18
commit b3dda01d1d

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 &&