CVE-2025-38711

Summary

In the Linux kernel, the following vulnerability has been resolved:

smb/server: avoid deadlock when linking with ReplaceIfExists

If smb2_create_link() is called with ReplaceIfExists set and the name does exist then a deadlock will happen.

ksmbd_vfs_kern_path_locked() will return with success and the parent directory will be locked. ksmbd_vfs_remove_file() will then remove the file. ksmbd_vfs_link() will then be called while the parent is still locked. It will try to lock the same parent and will deadlock.

This patch moves the ksmbd_vfs_kern_path_unlock() call to before ksmbd_vfs_link() and then simplifies the code, removing the file_present flag variable.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < 9d5012ffe14120f978ee34aef4df3d6cb026b7c4affected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < ac98d54630d5b52e3f684d872f0d82c06c418ea9affected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < 1e858a7a51c7b8b009d8f246de7ceb7743b44a71affected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < 814cfdb6358d9b84fcbec9918c8f938cc096a43aaffected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < a7dddd62578c2eb6cb28b8835556a121b5157323affected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < a726fef6d7d4cfc365d3434e3916dbfe78991a33affected
LinuxLinux0626e6641f6b467447c81dd7678a69c66f7746cf < d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694affected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux5.15.190 <= 5.15.*unaffected
LinuxLinux6.1.149 <= 6.1.*unaffected
LinuxLinux6.6.103 <= 6.6.*unaffected
LinuxLinux6.12.43 <= 6.12.*unaffected
LinuxLinux6.15.11 <= 6.15.*unaffected
LinuxLinux6.16.2 <= 6.16.*unaffected
LinuxLinux6.17 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

Additional References

References