summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFrank Sorenson <sorenson@redhat.com>2026-09-30 15:47:15 -0500
committerPaulo Alcantara <pc@manguebit.org>2026-09-30 23:17:30 -0300
commit19465a9aeb664f1d710d0d22c07c31bfb7c85446 (patch)
tree4a055308a2ffbdc7c2dee754a46dd87707ae7737 /kernel
parent53c5c2c1095eb21e214811fec16cd75f89d72ee2 (diff)
downloadlinux-next-19465a9aeb664f1d710d0d22c07c31bfb7c85446.tar.gz
linux-next-19465a9aeb664f1d710d0d22c07c31bfb7c85446.zip
smb: client: split cifsFileInfo bitfields to avoid shared-byte RMW races
The invalidHandle, swapfile, oplock_break_cancelled, offload, and status_file_deleted fields are stored in the same bitfield byte in struct cifsFileInfo, but are updated in different code paths that may run simultaneously, and are protected by different locks. Since bitfield assignments generate byte-level read-modify-write operations, a modification to one flag can overwrite a concurrent modification to another flag. To avoid these races, convert these flags from a bitfield to separate bool fields. Closes: https://lore.kernel.org/r/7689764e-c0f6-4016-9557-b54cf4a3de4e@redhat.com Fixes: 3bc303c254335 ("cifs: convert oplock breaks to use slow_work facility (try #4)") Fixes: 4e8aea30f7751 ("smb3: enable swap on SMB3 mounts") Fixes: ffceb7640cbfe ("smb: client: do not defer close open handles to deleted files") Fixes: 173217bd73365 ("smb3: retrying on failed server close") Signed-off-by: Frank Sorenson <sorenson@redhat.com> Cc: stable@vger.kernel.org Reviewed-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions