Namjae Jeon
1dfd062caa
ksmbd: fix use-after-free by using call_rcu() for oplock_info
...
ksmbd currently frees oplock_info immediately using kfree(), even
though it is accessed under RCU read-side critical sections in places
like opinfo_get() and proc_show_files().
Since there is no RCU grace period delay between nullifying the pointer
and freeing the memory, a reader can still access oplock_info
structure after it has been freed. This can leads to a use-after-free
especially in opinfo_get() where atomic_inc_not_zero() is called on
already freed memory.
Fix this by switching to deferred freeing using call_rcu().
Fixes: 18b4fac5ef ("ksmbd: fix use-after-free in smb_break_all_levII_oplock()")
Cc: stable@vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org >
Signed-off-by: Steve French <stfrench@microsoft.com >
2026-03-08 21:28:39 -05:00
..
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-03 09:08:00 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-25 17:40:58 +08:00
2026-02-21 20:03:00 -08:00
2026-01-29 10:06:59 +01:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-02-22 13:12:04 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-04 14:31:56 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-25 10:34:23 -08:00
2026-02-26 14:44:32 +01:00
2026-02-22 08:26:33 -08:00
2026-01-02 13:43:41 -05:00
2026-03-02 09:05:20 -08:00
2026-02-21 17:09:51 -08:00
2025-12-01 11:58:06 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2025-10-20 20:22:26 +02:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-25 10:34:23 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-18 20:50:32 -08:00
2026-03-08 21:28:39 -05:00
2026-02-24 11:13:27 -08:00
2026-02-21 17:09:51 -08:00
2026-02-03 17:39:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-02 21:05:34 -08:00
2026-02-25 13:58:50 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 20:03:00 -08:00
2025-11-28 12:42:31 +01:00
2026-01-29 09:39:41 -08:00
2025-12-01 13:45:41 -08:00
2026-01-12 14:01:32 +01:00
2026-02-21 17:09:51 -08:00
2026-02-23 11:19:19 +01:00
2026-02-21 17:09:51 -08:00
2026-01-02 12:04:28 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2025-12-05 13:52:43 -08:00
2026-02-16 13:00:36 -08:00
2025-10-20 20:22:26 +02:00
2026-02-21 17:09:51 -08:00
2026-02-25 10:34:23 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-25 10:34:23 -08:00
2026-02-09 16:08:40 -08:00
2026-02-21 01:02:28 -08:00
2026-01-16 12:52:04 -05:00
2026-02-21 01:02:28 -08:00
2025-11-05 09:51:30 +01:00
2026-01-14 16:50:37 +01:00
2026-02-25 10:34:23 -08:00
2026-01-13 09:58:01 +01:00
2026-02-21 17:09:51 -08:00
2026-02-09 16:58:28 -08:00
2026-02-12 10:41:34 -08:00
2026-02-09 16:58:28 -08:00
2025-10-02 18:18:33 -07:00
2026-02-21 17:09:51 -08:00
2026-02-12 08:23:53 -08:00
2026-02-09 13:41:34 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-01-12 16:52:09 +01:00
2026-02-21 01:02:28 -08:00
2026-02-25 10:34:23 -08:00
2026-02-27 22:00:11 +01:00
2026-01-12 16:52:09 +01:00
2026-02-09 16:58:28 -08:00
2026-02-25 10:34:23 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 01:02:28 -08:00
2026-01-12 10:55:45 +01:00
2026-01-12 10:57:34 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-16 12:52:04 -05:00
2026-01-16 12:52:04 -05:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-16 12:52:03 -05:00
2026-01-16 12:52:03 -05:00