From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Dave Chinner <david@fromorbit.com>,
"Christian Brauner (Microsoft)" <brauner@kernel.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Yang Xu <xuyang2018.jy@fujitsu.com>,
Amir Goldstein <amir73il@gmail.com>,
Leah Rumancik <leah.rumancik@gmail.com>,
Sasha Levin <sashal@kernel.org>, Jeff Layton <jlayton@kernel.org>
Subject: [PATCH 5.15 099/145] fs: move S_ISGID stripping into the vfs_*() helpers
Date: Wed, 15 Mar 2023 13:12:45 +0100 [thread overview]
Message-ID: <20230315115742.238737623@linuxfoundation.org> (raw)
In-Reply-To: <20230315115738.951067403@linuxfoundation.org>
From: Yang Xu <xuyang2018.jy@fujitsu.com>
commit 1639a49ccdce58ea248841ed9b23babcce6dbb0b upsream.
Move setgid handling out of individual filesystems and into the VFS
itself to stop the proliferation of setgid inheritance bugs.
Creating files that have both the S_IXGRP and S_ISGID bit raised in
directories that themselves have the S_ISGID bit set requires additional
privileges to avoid security issues.
When a filesystem creates a new inode it needs to take care that the
caller is either in the group of the newly created inode or they have
CAP_FSETID in their current user namespace and are privileged over the
parent directory of the new inode. If any of these two conditions is
true then the S_ISGID bit can be raised for an S_IXGRP file and if not
it needs to be stripped.
However, there are several key issues with the current implementation:
* S_ISGID stripping logic is entangled with umask stripping.
If a filesystem doesn't support or enable POSIX ACLs then umask
stripping is done directly in the vfs before calling into the
filesystem.
If the filesystem does support POSIX ACLs then unmask stripping may be
done in the filesystem itself when calling posix_acl_create().
Since umask stripping has an effect on S_ISGID inheritance, e.g., by
stripping the S_IXGRP bit from the file to be created and all relevant
filesystems have to call posix_acl_create() before inode_init_owner()
where we currently take care of S_ISGID handling S_ISGID handling is
order dependent. IOW, whether or not you get a setgid bit depends on
POSIX ACLs and umask and in what order they are called.
Note that technically filesystems are free to impose their own
ordering between posix_acl_create() and inode_init_owner() meaning
that there's additional ordering issues that influence S_SIGID
inheritance.
* Filesystems that don't rely on inode_init_owner() don't get S_ISGID
stripping logic.
While that may be intentional (e.g. network filesystems might just
defer setgid stripping to a server) it is often just a security issue.
This is not just ugly it's unsustainably messy especially since we do
still have bugs in this area years after the initial round of setgid
bugfixes.
So the current state is quite messy and while we won't be able to make
it completely clean as posix_acl_create() is still a filesystem specific
call we can improve the S_SIGD stripping situation quite a bit by
hoisting it out of inode_init_owner() and into the vfs creation
operations. This means we alleviate the burden for filesystems to handle
S_ISGID stripping correctly and can standardize the ordering between
S_ISGID and umask stripping in the vfs.
We add a new helper vfs_prepare_mode() so S_ISGID handling is now done
in the VFS before umask handling. This has S_ISGID handling is
unaffected unaffected by whether umask stripping is done by the VFS
itself (if no POSIX ACLs are supported or enabled) or in the filesystem
in posix_acl_create() (if POSIX ACLs are supported).
The vfs_prepare_mode() helper is called directly in vfs_*() helpers that
create new filesystem objects. We need to move them into there to make
sure that filesystems like overlayfs hat have callchains like:
sys_mknod()
-> do_mknodat(mode)
-> .mknod = ovl_mknod(mode)
-> ovl_create(mode)
-> vfs_mknod(mode)
get S_ISGID stripping done when calling into lower filesystems via
vfs_*() creation helpers. Moving vfs_prepare_mode() into e.g.
vfs_mknod() takes care of that. This is in any case semantically cleaner
because S_ISGID stripping is VFS security requirement.
Security hooks so far have seen the mode with the umask applied but
without S_ISGID handling done. The relevant hooks are called outside of
vfs_*() creation helpers so by calling vfs_prepare_mode() from vfs_*()
helpers the security hooks would now see the mode without umask
stripping applied. For now we fix this by passing the mode with umask
settings applied to not risk any regressions for LSM hooks. IOW, nothing
changes for LSM hooks. It is worth pointing out that security hooks
never saw the mode that is seen by the filesystem when actually creating
the file. They have always been completely misplaced for that to work.
The following filesystems use inode_init_owner() and thus relied on
S_ISGID stripping: spufs, 9p, bfs, btrfs, ext2, ext4, f2fs, hfsplus,
hugetlbfs, jfs, minix, nilfs2, ntfs3, ocfs2, omfs, overlayfs, ramfs,
reiserfs, sysv, ubifs, udf, ufs, xfs, zonefs, bpf, tmpfs.
All of the above filesystems end up calling inode_init_owner() when new
filesystem objects are created through the ->mkdir(), ->mknod(),
->create(), ->tmpfile(), ->rename() inode operations.
Since directories always inherit the S_ISGID bit with the exception of
xfs when irix_sgid_inherit mode is turned on S_ISGID stripping doesn't
apply. The ->symlink() and ->link() inode operations trivially inherit
the mode from the target and the ->rename() inode operation inherits the
mode from the source inode. All other creation inode operations will get
S_ISGID handling via vfs_prepare_mode() when called from their relevant
vfs_*() helpers.
In addition to this there are filesystems which allow the creation of
filesystem objects through ioctl()s or - in the case of spufs -
circumventing the vfs in other ways. If filesystem objects are created
through ioctl()s the vfs doesn't know about it and can't apply regular
permission checking including S_ISGID logic. Therfore, a filesystem
relying on S_ISGID stripping in inode_init_owner() in their ioctl()
callpath will be affected by moving this logic into the vfs. We audited
those filesystems:
* btrfs allows the creation of filesystem objects through various
ioctls(). Snapshot creation literally takes a snapshot and so the mode
is fully preserved and S_ISGID stripping doesn't apply.
Creating a new subvolum relies on inode_init_owner() in
btrfs_new_subvol_inode() but only creates directories and doesn't
raise S_ISGID.
* ocfs2 has a peculiar implementation of reflinks. In contrast to e.g.
xfs and btrfs FICLONE/FICLONERANGE ioctl() that is only concerned with
the actual extents ocfs2 uses a separate ioctl() that also creates the
target file.
Iow, ocfs2 circumvents the vfs entirely here and did indeed rely on
inode_init_owner() to strip the S_ISGID bit. This is the only place
where a filesystem needs to call mode_strip_sgid() directly but this
is self-inflicted pain.
* spufs doesn't go through the vfs at all and doesn't use ioctl()s
either. Instead it has a dedicated system call spufs_create() which
allows the creation of filesystem objects. But spufs only creates
directories and doesn't allo S_SIGID bits, i.e. it specifically only
allows 0777 bits.
* bpf uses vfs_mkobj() but also doesn't allow S_ISGID bits to be created.
The patch will have an effect on ext2 when the EXT2_MOUNT_GRPID mount
option is used, on ext4 when the EXT4_MOUNT_GRPID mount option is used,
and on xfs when the XFS_FEAT_GRPID mount option is used. When any of
these filesystems are mounted with their respective GRPID option then
newly created files inherit the parent directories group
unconditionally. In these cases non of the filesystems call
inode_init_owner() and thus did never strip the S_ISGID bit for newly
created files. Moving this logic into the VFS means that they now get
the S_ISGID bit stripped. This is a user visible change. If this leads
to regressions we will either need to figure out a better way or we need
to revert. However, given the various setgid bugs that we found just in
the last two years this is a regression risk we should take.
Associated with this change is a new set of fstests to enforce the
semantics for all new filesystems.
Link: https://lore.kernel.org/ceph-devel/20220427092201.wvsdjbnc7b4dttaw@wittgenstein [1]
Link: e014f37db1a2 ("xfs: use setattr_copy to set vfs inode attributes") [2]
Link: 01ea173e103e ("xfs: fix up non-directory creation in SGID directories") [3]
Link: fd84bfdddd16 ("ceph: fix up non-directory creation in SGID directories") [4]
Link: https://lore.kernel.org/r/1657779088-2242-3-git-send-email-xuyang2018.jy@fujitsu.com
Suggested-by: Dave Chinner <david@fromorbit.com>
Suggested-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-and-Tested-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
[<brauner@kernel.org>: rewrote commit message]
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Tested-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/inode.c | 2 --
fs/namei.c | 82 ++++++++++++++++++++++++++++++++++++++++--------
fs/ocfs2/namei.c | 1 +
3 files changed, 70 insertions(+), 15 deletions(-)
diff --git a/fs/inode.c b/fs/inode.c
index 3740102c9bd5e..957b2d18ec29f 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -2165,8 +2165,6 @@ void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
/* Directories are special, and always inherit S_ISGID */
if (S_ISDIR(mode))
mode |= S_ISGID;
- else
- mode = mode_strip_sgid(mnt_userns, dir, mode);
} else
inode_fsgid_set(inode, mnt_userns);
inode->i_mode = mode;
diff --git a/fs/namei.c b/fs/namei.c
index 81b31d9a063f2..02e99606c65be 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -3000,6 +3000,65 @@ void unlock_rename(struct dentry *p1, struct dentry *p2)
}
EXPORT_SYMBOL(unlock_rename);
+/**
+ * mode_strip_umask - handle vfs umask stripping
+ * @dir: parent directory of the new inode
+ * @mode: mode of the new inode to be created in @dir
+ *
+ * Umask stripping depends on whether or not the filesystem supports POSIX
+ * ACLs. If the filesystem doesn't support it umask stripping is done directly
+ * in here. If the filesystem does support POSIX ACLs umask stripping is
+ * deferred until the filesystem calls posix_acl_create().
+ *
+ * Returns: mode
+ */
+static inline umode_t mode_strip_umask(const struct inode *dir, umode_t mode)
+{
+ if (!IS_POSIXACL(dir))
+ mode &= ~current_umask();
+ return mode;
+}
+
+/**
+ * vfs_prepare_mode - prepare the mode to be used for a new inode
+ * @mnt_userns: user namespace of the mount the inode was found from
+ * @dir: parent directory of the new inode
+ * @mode: mode of the new inode
+ * @mask_perms: allowed permission by the vfs
+ * @type: type of file to be created
+ *
+ * This helper consolidates and enforces vfs restrictions on the @mode of a new
+ * object to be created.
+ *
+ * Umask stripping depends on whether the filesystem supports POSIX ACLs (see
+ * the kernel documentation for mode_strip_umask()). Moving umask stripping
+ * after setgid stripping allows the same ordering for both non-POSIX ACL and
+ * POSIX ACL supporting filesystems.
+ *
+ * Note that it's currently valid for @type to be 0 if a directory is created.
+ * Filesystems raise that flag individually and we need to check whether each
+ * filesystem can deal with receiving S_IFDIR from the vfs before we enforce a
+ * non-zero type.
+ *
+ * Returns: mode to be passed to the filesystem
+ */
+static inline umode_t vfs_prepare_mode(struct user_namespace *mnt_userns,
+ const struct inode *dir, umode_t mode,
+ umode_t mask_perms, umode_t type)
+{
+ mode = mode_strip_sgid(mnt_userns, dir, mode);
+ mode = mode_strip_umask(dir, mode);
+
+ /*
+ * Apply the vfs mandated allowed permission mask and set the type of
+ * file to be created before we call into the filesystem.
+ */
+ mode &= (mask_perms & ~S_IFMT);
+ mode |= (type & S_IFMT);
+
+ return mode;
+}
+
/**
* vfs_create - create new file
* @mnt_userns: user namespace of the mount the inode was found from
@@ -3025,8 +3084,8 @@ int vfs_create(struct user_namespace *mnt_userns, struct inode *dir,
if (!dir->i_op->create)
return -EACCES; /* shouldn't it be ENOSYS? */
- mode &= S_IALLUGO;
- mode |= S_IFREG;
+
+ mode = vfs_prepare_mode(mnt_userns, dir, mode, S_IALLUGO, S_IFREG);
error = security_inode_create(dir, dentry, mode);
if (error)
return error;
@@ -3291,8 +3350,7 @@ static struct dentry *lookup_open(struct nameidata *nd, struct file *file,
if (open_flag & O_CREAT) {
if (open_flag & O_EXCL)
open_flag &= ~O_TRUNC;
- if (!IS_POSIXACL(dir->d_inode))
- mode &= ~current_umask();
+ mode = vfs_prepare_mode(mnt_userns, dir->d_inode, mode, mode, mode);
if (likely(got_write))
create_error = may_o_create(mnt_userns, &nd->path,
dentry, mode);
@@ -3525,8 +3583,7 @@ struct dentry *vfs_tmpfile(struct user_namespace *mnt_userns,
child = d_alloc(dentry, &slash_name);
if (unlikely(!child))
goto out_err;
- if (!IS_POSIXACL(dir))
- mode &= ~current_umask();
+ mode = vfs_prepare_mode(mnt_userns, dir, mode, mode, mode);
error = dir->i_op->tmpfile(mnt_userns, dir, child, mode);
if (error)
goto out_err;
@@ -3804,6 +3861,7 @@ int vfs_mknod(struct user_namespace *mnt_userns, struct inode *dir,
if (!dir->i_op->mknod)
return -EPERM;
+ mode = vfs_prepare_mode(mnt_userns, dir, mode, mode, mode);
error = devcgroup_inode_mknod(mode, dev);
if (error)
return error;
@@ -3854,9 +3912,8 @@ static int do_mknodat(int dfd, struct filename *name, umode_t mode,
if (IS_ERR(dentry))
goto out1;
- if (!IS_POSIXACL(path.dentry->d_inode))
- mode &= ~current_umask();
- error = security_path_mknod(&path, dentry, mode, dev);
+ error = security_path_mknod(&path, dentry,
+ mode_strip_umask(path.dentry->d_inode, mode), dev);
if (error)
goto out2;
@@ -3926,7 +3983,7 @@ int vfs_mkdir(struct user_namespace *mnt_userns, struct inode *dir,
if (!dir->i_op->mkdir)
return -EPERM;
- mode &= (S_IRWXUGO|S_ISVTX);
+ mode = vfs_prepare_mode(mnt_userns, dir, mode, S_IRWXUGO | S_ISVTX, 0);
error = security_inode_mkdir(dir, dentry, mode);
if (error)
return error;
@@ -3954,9 +4011,8 @@ int do_mkdirat(int dfd, struct filename *name, umode_t mode)
if (IS_ERR(dentry))
goto out_putname;
- if (!IS_POSIXACL(path.dentry->d_inode))
- mode &= ~current_umask();
- error = security_path_mkdir(&path, dentry, mode);
+ error = security_path_mkdir(&path, dentry,
+ mode_strip_umask(path.dentry->d_inode, mode));
if (!error) {
struct user_namespace *mnt_userns;
mnt_userns = mnt_user_ns(path.mnt);
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 11807034dd483..5b8237ceb8cce 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -197,6 +197,7 @@ static struct inode *ocfs2_get_init_inode(struct inode *dir, umode_t mode)
* callers. */
if (S_ISDIR(mode))
set_nlink(inode, 2);
+ mode = mode_strip_sgid(&init_user_ns, dir, mode);
inode_init_owner(&init_user_ns, inode, dir, mode);
status = dquot_initialize(inode);
if (status)
--
2.39.2
next prev parent reply other threads:[~2023-03-15 12:30 UTC|newest]
Thread overview: 154+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-15 12:11 [PATCH 5.15 000/145] 5.15.103-rc1 review Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 001/145] fs: prevent out-of-bounds array speculation when closing a file descriptor Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 002/145] btrfs: fix percent calculation for bg reclaim message Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 003/145] perf inject: Fix --buildid-all not to eat up MMAP2 Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 004/145] fork: allow CLONE_NEWTIME in clone3 flags Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 005/145] x86/CPU/AMD: Disable XSAVES on AMD family 0x17 Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 006/145] drm/amdgpu: fix error checking in amdgpu_read_mm_registers for soc15 Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 007/145] drm/connector: print max_requested_bpc in state debugfs Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 008/145] staging: rtl8723bs: Pass correct parameters to cfg80211_get_bss() Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 009/145] ext4: fix cgroup writeback accounting with fs-layer encryption Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 010/145] ext4: fix RENAME_WHITEOUT handling for inline directories Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 011/145] ext4: fix another off-by-one fsmap error on 1k block filesystems Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 012/145] ext4: move where set the MAY_INLINE_DATA flag is set Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 013/145] ext4: fix WARNING in ext4_update_inline_data Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 014/145] ext4: zero i_disksize when initializing the bootloader inode Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 015/145] nfc: change order inside nfc_se_io error path Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 016/145] KVM: Optimize kvm_make_vcpus_request_mask() a bit Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 017/145] KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except() Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 018/145] KVM: Register /dev/kvm as the _very_ last thing during initialization Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 019/145] KVM: SVM: Dont rewrite guest ICR on AVIC IPI virtualization failure Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 020/145] KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 021/145] fs: dlm: fix log of lowcomms vs midcomms Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 022/145] fs: dlm: add midcomms init/start functions Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 023/145] fs: dlm: start midcomms before scand Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 024/145] udf: Fix off-by-one error when discarding preallocation Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 025/145] f2fs: avoid down_write on nat_tree_lock during checkpoint Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 026/145] f2fs: do not bother checkpoint by f2fs_get_node_info Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 027/145] f2fs: retry to update the inode page given data corruption Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 028/145] ipmi:ssif: Increase the message retry time Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 029/145] ipmi:ssif: Add a timer between request retries Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 030/145] irqdomain: Refactor __irq_domain_alloc_irqs() Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 031/145] iommu/vt-d: Fix PASID directory pointer coherency Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 032/145] block/brd: add error handling support for add_disk() Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 033/145] brd: mark as nowait compatible Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 034/145] arm64: efi: Make efi_rt_lock a raw_spinlock Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 035/145] RISC-V: Avoid dereferening NULL regs in die() Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 036/145] riscv: Avoid enabling interrupts " Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 037/145] riscv: Add header include guards to insn.h Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 038/145] scsi: core: Remove the /proc/scsi/${proc_name} directory earlier Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 039/145] regulator: Flag uncontrollable regulators as always_on Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 040/145] regulator: core: Fix off-on-delay-us for always-on/boot-on regulators Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 041/145] regulator: core: Use ktime_get_boottime() to determine how long a regulator was off Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 042/145] ext4: Fix possible corruption when moving a directory Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 043/145] drm/nouveau/kms/nv50-: remove unused functions Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 044/145] drm/nouveau/kms/nv50: fix nv50_wndw_new_ prototype Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 045/145] drm/msm: Fix potential invalid ptr free Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 046/145] drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 047/145] drm/msm/a5xx: fix highest bank bit for a530 Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 048/145] drm/msm/a5xx: fix the emptyness check in the preempt code Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 049/145] drm/msm/a5xx: fix context faults during ring switch Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 050/145] bgmac: fix *initial* chip reset to support BCM5358 Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 051/145] nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 052/145] powerpc: dts: t1040rdb: fix compatible string for Rev A boards Greg Kroah-Hartman
2023-03-15 12:11 ` [PATCH 5.15 053/145] ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 054/145] selftests: nft_nat: ensuring the listening side is up before starting the client Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 055/145] perf stat: Fix counting when initial delay configured Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 056/145] net: lan78xx: fix accessing the LAN7800s internal phy specific registers from the MAC driver Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 057/145] net: caif: Fix use-after-free in cfusbl_device_notify() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 058/145] ice: copy last block omitted in ice_get_module_eeprom() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 059/145] bpf, sockmap: Fix an infinite loop error when len is 0 in tcp_bpf_recvmsg_parser() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 060/145] drm/msm/dpu: fix len of sc7180 ctl blocks Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 061/145] net: stmmac: add to set device wake up flag when stmmac init phy Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 062/145] net: phylib: get rid of unnecessary locking Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 063/145] bnxt_en: Avoid order-5 memory allocation for TPA data Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 064/145] netfilter: ctnetlink: revert to dumping mark regardless of event type Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 065/145] netfilter: tproxy: fix deadlock due to missing BH disable Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 066/145] btf: fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTR Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 067/145] net: phy: smsc: Cache interrupt mask Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 068/145] net: phy: smsc: fix link up detection in forced irq mode Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 069/145] net: ethernet: mtk_eth_soc: fix RX data corruption issue Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 070/145] scsi: megaraid_sas: Update max supported LD IDs to 240 Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 071/145] netfilter: conntrack: adopt safer max chain length Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 072/145] platform: x86: MLX_PLATFORM: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 073/145] net/smc: fix fallback failed while sendmsg with fastopen Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 074/145] octeontx2-af: Unlock contexts in the queue context cache in case of fault detection Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 075/145] SUNRPC: Fix a server shutdown leak Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 076/145] net: dsa: mt7530: permit port 5 to work without port 6 on MT7621 SoC Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 077/145] af_unix: Remove unnecessary brackets around CONFIG_AF_UNIX_OOB Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 078/145] af_unix: fix struct pid leaks in OOB support Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 079/145] riscv: Use READ_ONCE_NOCHECK in imprecise unwinding stack mode Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 080/145] s390/ftrace: remove dead code Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 081/145] RISC-V: Dont check text_mutex during stop_machine Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 082/145] ext4: Fix deadlock during directory rename Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 083/145] irqdomain: Fix mapping-creation race Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 084/145] nbd: use the correct block_device in nbd_bdev_reset Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 085/145] iommu/amd: Add PCI segment support for ivrs_[ioapic/hpet/acpihid] commands Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 086/145] iommu/amd: Fix ill-formed ivrs_ioapic, ivrs_hpet and ivrs_acpihid options Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 087/145] iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 088/145] staging: rtl8723bs: clean up comparsions to NULL Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 089/145] Staging: rtl8723bs: Placing opening { braces in previous line Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 090/145] staging: rtl8723bs: fix placement of braces Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 091/145] staging: rtl8723bs: Fix key-store index handling Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 092/145] watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 093/145] tpm/eventlog: Dont abort tpm_read_log on faulty ACPI address Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 094/145] xfs: use setattr_copy to set vfs inode attributes Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 095/145] xfs: remove XFS_PREALLOC_SYNC Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 096/145] xfs: fallocate() should call file_modified() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 097/145] xfs: set prealloc flag in xfs_alloc_file_space() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 098/145] fs: add mode_strip_sgid() helper Greg Kroah-Hartman
2023-03-15 12:12 ` Greg Kroah-Hartman [this message]
2023-03-15 12:12 ` [PATCH 5.15 100/145] attr: add in_group_or_capable() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 101/145] fs: move should_remove_suid() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 102/145] attr: add setattr_should_drop_sgid() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 103/145] attr: use consistent sgid stripping checks Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 104/145] fs: use consistent setgid checks in is_sxid() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 105/145] clk: qcom: mmcc-apq8084: remove spdm clocks Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 106/145] MIPS: Fix a compilation issue Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 107/145] powerpc: Check !irq instead of irq == NO_IRQ and remove NO_IRQ Greg Kroah-Hartman
2023-03-15 12:32 ` Christophe Leroy
2023-03-15 17:57 ` Sasha Levin
2023-03-15 12:12 ` [PATCH 5.15 108/145] powerpc/iommu: fix memory leak with using debugfs_lookup() Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 109/145] powerpc/kcsan: Exclude udelay to prevent recursive instrumentation Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 110/145] alpha: fix R_ALPHA_LITERAL reloc for large modules Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 111/145] macintosh: windfarm: Use unsigned type for 1-bit bitfields Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 112/145] PCI: Add SolidRun vendor ID Greg Kroah-Hartman
2023-03-15 12:12 ` [PATCH 5.15 113/145] PCI: Avoid FLR for SolidRun SNET DPU rev 1 Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 114/145] scripts: handle BrokenPipeError for python scripts Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 115/145] media: ov5640: Fix analogue gain control Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 116/145] media: rc: gpio-ir-recv: add remove function Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 117/145] filelocks: use mount idmapping for setlease permission check Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 118/145] sched/uclamp: Fix fits_capacity() check in feec() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 119/145] sched/uclamp: Make cpu_overutilized() use util_fits_cpu() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 120/145] sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()s early exit condition Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 121/145] sched/fair: Detect capacity inversion Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 122/145] sched/fair: Consider capacity inversion in util_fits_cpu() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 123/145] sched/uclamp: Fix a uninitialized variable warnings Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 124/145] sched/fair: Fixes for capacity inversion detection Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 125/145] ext4: refactor ext4_free_blocks() to pull out ext4_mb_clear_bb() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 126/145] ext4: add ext4_sb_block_valid() refactored out of ext4_inode_block_valid() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 127/145] ext4: add strict range checks while freeing blocks Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 128/145] ext4: block range must be validated before use in ext4_mb_clear_bb() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 129/145] arch: fix broken BuildID for arm64 and riscv Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 130/145] powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 131/145] powerpc/vmlinux.lds: Dont discard .rela* for relocatable builds Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 132/145] s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36 Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 133/145] sh: define RUNTIME_DISCARD_EXIT Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 134/145] tools build: Add feature test for init_disassemble_info API changes Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 135/145] tools include: add dis-asm-compat.h to handle version differences Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 136/145] tools perf: Fix compilation error with new binutils Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 137/145] tools bpf_jit_disasm: " Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 138/145] tools bpftool: " Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 139/145] KVM: fix memoryleak in kvm_init() Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 140/145] xfs: remove xfs_setattr_time() declaration Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 141/145] UML: define RUNTIME_DISCARD_EXIT Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 142/145] fs: hold writers when changing mounts idmapping Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 143/145] KVM: nVMX: Dont use Enlightened MSR Bitmap for L3 Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 144/145] KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper Greg Kroah-Hartman
2023-03-15 12:13 ` [PATCH 5.15 145/145] KVM: VMX: Fix crash due to uninitialized current_vmcs Greg Kroah-Hartman
2023-03-15 13:56 ` [PATCH 5.15 000/145] 5.15.103-rc1 review Chris Paterson
2023-03-15 14:29 ` Daniel Díaz
2023-03-16 7:59 ` Greg Kroah-Hartman
2023-03-15 21:04 ` Florian Fainelli
2023-03-16 0:02 ` Shuah Khan
2023-03-16 2:15 ` Bagas Sanjaya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230315115742.238737623@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=jlayton@kernel.org \
--cc=leah.rumancik@gmail.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=xuyang2018.jy@fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).