summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-09-12 13:52:26 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-19 16:37:44 +0200
commitb7b12f5e02e30f015888ce86cad88a8a62e61534 (patch)
treebfdbeffc2d7b3c7f7b57c0c3374bb70e7cc59e2a
parent5211c672ea2490a11ea6a158d5d6a7a05a9c15d3 (diff)
downloadlinux-b7b12f5e02e30f015888ce86cad88a8a62e61534.tar.gz
linux-b7b12f5e02e30f015888ce86cad88a8a62e61534.tar.bz2
linux-b7b12f5e02e30f015888ce86cad88a8a62e61534.zip
nsfs: validate extensible ioctls
[ Upstream commit f8527a29f4619f74bc30a9845ea87abb9a6faa1e ] Validate extensible ioctls stricter than we do now. Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/nsfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nsfs.c b/fs/nsfs.c
index 59aa801347a7..34f0b35d3ead 100644
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -169,9 +169,11 @@ static bool nsfs_ioctl_valid(unsigned int cmd)
/* Extensible ioctls require some extra handling. */
switch (_IOC_NR(cmd)) {
case _IOC_NR(NS_MNT_GET_INFO):
+ return extensible_ioctl_valid(cmd, NS_MNT_GET_INFO, MNT_NS_INFO_SIZE_VER0);
case _IOC_NR(NS_MNT_GET_NEXT):
+ return extensible_ioctl_valid(cmd, NS_MNT_GET_NEXT, MNT_NS_INFO_SIZE_VER0);
case _IOC_NR(NS_MNT_GET_PREV):
- return (_IOC_TYPE(cmd) == _IOC_TYPE(cmd));
+ return extensible_ioctl_valid(cmd, NS_MNT_GET_PREV, MNT_NS_INFO_SIZE_VER0);
}
return false;