Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mqueue: switch to CLASS(filename)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro abb04344 a0c3d1f3

+3 -8
+3 -8
ipc/mqueue.c
··· 912 912 static int do_mq_open(const char __user *u_name, int oflag, umode_t mode, 913 913 struct mq_attr *attr) 914 914 { 915 - struct filename *name __free(putname) = NULL;; 916 915 struct vfsmount *mnt = current->nsproxy->ipc_ns->mq_mnt; 917 916 int fd, ro; 918 917 919 918 audit_mq_open(oflag, mode, attr); 920 919 921 - name = getname(u_name); 920 + CLASS(filename, name)(u_name); 922 921 if (IS_ERR(name)) 923 922 return PTR_ERR(name); 924 923 ··· 941 942 SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name) 942 943 { 943 944 int err; 944 - struct filename *name; 945 945 struct dentry *dentry; 946 946 struct inode *inode; 947 947 struct ipc_namespace *ipc_ns = current->nsproxy->ipc_ns; 948 948 struct vfsmount *mnt = ipc_ns->mq_mnt; 949 + CLASS(filename, name)(u_name); 949 950 950 - name = getname(u_name); 951 951 if (IS_ERR(name)) 952 952 return PTR_ERR(name); 953 953 954 954 audit_inode_parent_hidden(name, mnt->mnt_root); 955 955 err = mnt_want_write(mnt); 956 956 if (err) 957 - goto out_name; 957 + return err; 958 958 dentry = start_removing_noperm(mnt->mnt_root, &QSTR(name->name)); 959 959 if (IS_ERR(dentry)) { 960 960 err = PTR_ERR(dentry); ··· 969 971 970 972 out_drop_write: 971 973 mnt_drop_write(mnt); 972 - out_name: 973 - putname(name); 974 - 975 974 return err; 976 975 } 977 976