Files
linux/fs
Xiubo Li 8e1858710d ceph: avoid use-after-free in ceph_fl_release_lock()
When ceph releasing the file_lock it will try to get the inode pointer
from the fl->fl_file, which the memory could already be released by
another thread in filp_close(). Because in VFS layer the fl->fl_file
doesn't increase the file's reference counter.

Will switch to use ceph dedicate lock info to track the inode.

And in ceph_fl_release_lock() we should skip all the operations if the
fl->fl_u.ceph.inode is not set, which should come from the request
file_lock. And we will set fl->fl_u.ceph.inode when inserting it to the
inode lock list, which is when copying the lock.

Link: https://tracker.ceph.com/issues/57986
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2023-01-02 12:27:25 +01:00
..
2022-12-22 11:40:35 +00:00
2022-12-11 18:12:18 -08:00
2022-10-20 10:13:27 +02:00
2022-09-24 07:00:00 +02:00
2022-12-11 18:12:18 -08:00
2022-05-09 16:21:46 -04:00
2022-09-11 20:26:07 -07:00
2022-11-25 17:01:22 +09:00
2022-10-20 10:13:27 +02:00
2022-08-20 11:34:33 -04:00
2022-12-11 18:12:17 -08:00
2022-12-21 14:45:25 +01:00
2022-06-28 13:58:05 -04:00
2022-10-26 10:02:34 +02:00