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.

Merge tag 'vfs.misc.v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping

Pull vfs fixes from Christian Brauner:

- When allocating pages for a watch queue failed, we didn't return an
error causing userspace to proceed even though all subsequent
notifcations would be lost. Make sure to return an error.

- Fix a misformed tree entry for the idmapping maintainers entry.

- When setting file leases from an idmapped mount via
generic_setlease() we need to take the idmapping into account
otherwise taking a lease would fail from an idmapped mount.

- Remove two redundant assignments, one in splice code and the other in
locks code, that static checkers complained about.

* tag 'vfs.misc.v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
filelocks: use mount idmapping for setlease permission check
fs/locks: Remove redundant assignment to cmd
splice: Remove redundant assignment to ret
MAINTAINERS: repair a malformed T: entry in IDMAPPED MOUNTS
watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths

+5 -5
+2 -2
MAINTAINERS
··· 9871 9871 M: Seth Forshee <sforshee@kernel.org> 9872 9872 L: linux-fsdevel@vger.kernel.org 9873 9873 S: Maintained 9874 - T: git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git 9874 + T: git git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git 9875 9875 F: Documentation/filesystems/idmappings.rst 9876 - F: tools/testing/selftests/mount_setattr/ 9877 9876 F: include/linux/mnt_idmapping.* 9877 + F: tools/testing/selftests/mount_setattr/ 9878 9878 9879 9879 IDT VersaClock 5 CLOCK DRIVER 9880 9880 M: Luca Ceresoli <luca@lucaceresoli.net>
+2 -2
fs/locks.c
··· 1863 1863 void **priv) 1864 1864 { 1865 1865 struct inode *inode = file_inode(filp); 1866 + vfsuid_t vfsuid = i_uid_into_vfsuid(file_mnt_idmap(filp), inode); 1866 1867 int error; 1867 1868 1868 - if ((!uid_eq(current_fsuid(), inode->i_uid)) && !capable(CAP_LEASE)) 1869 + if ((!vfsuid_eq_kuid(vfsuid, current_fsuid())) && !capable(CAP_LEASE)) 1869 1870 return -EACCES; 1870 1871 if (!S_ISREG(inode->i_mode)) 1871 1872 return -EINVAL; ··· 2426 2425 if (flock->l_pid != 0) 2427 2426 goto out; 2428 2427 2429 - cmd = F_GETLK64; 2430 2428 fl->fl_flags |= FL_OFDLCK; 2431 2429 fl->fl_owner = filp; 2432 2430 }
-1
fs/splice.c
··· 937 937 /* 938 938 * Do the splice. 939 939 */ 940 - ret = 0; 941 940 bytes = 0; 942 941 len = sd->total_len; 943 942 flags = sd->flags;
+1
kernel/watch_queue.c
··· 273 273 if (ret < 0) 274 274 goto error; 275 275 276 + ret = -ENOMEM; 276 277 pages = kcalloc(sizeof(struct page *), nr_pages, GFP_KERNEL); 277 278 if (!pages) 278 279 goto error;