Commit 1cb925c0 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Al Viro

nsfs: add compat ioctl handler

As all parameters and return values of the ioctls have the same
representation on both 32bit and 64bit we can reuse the normal ioctl
handler for the compat handler via compat_ptr_ioctl().

All nsfs ioctls return a plain "int" filedescriptor which is a signed
4-byte integer type on both 32bit and 64bit.
The only parameter taken is by NS_GET_OWNER_UID and is a pointer to a
"uid_t" which is a 4-byte unsigned integer type on both 32bit and 64bit.

Fixes: 6786741d ("nsfs: add ioctl to get an owning user namespace for ns file descriptor")
Reported-by: default avatarKarel Zak <kzak@redhat.com>
Link: https://github.com/util-linux/util-linux/pull/1924#issuecomment-1344133656Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent f27c942e
...@@ -21,6 +21,7 @@ static long ns_ioctl(struct file *filp, unsigned int ioctl, ...@@ -21,6 +21,7 @@ static long ns_ioctl(struct file *filp, unsigned int ioctl,
static const struct file_operations ns_file_operations = { static const struct file_operations ns_file_operations = {
.llseek = no_llseek, .llseek = no_llseek,
.unlocked_ioctl = ns_ioctl, .unlocked_ioctl = ns_ioctl,
.compat_ioctl = compat_ptr_ioctl,
}; };
static char *ns_dname(struct dentry *dentry, char *buffer, int buflen) static char *ns_dname(struct dentry *dentry, char *buffer, int buflen)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment