Detailed description of the bug: https://lutz.donnerhacke.de/eng/Blog/Groundhog-Day-with-SMB-remount Summary of the race condition: 1) Daisy chaining scheduling creates a gap. 2) If traffic comes unfortunate shortly after the last echo, the planned echo is suppressed. 3) Due to the gap, the next echo transmission is delayed until after the timeout, which is set hard to twice the echo interval. Possible solutions: a) Eliminate the gap by scheduling at fixed times. b) Send the echo requests in any case regardless of other traffic. c) Avoiding the entire problem by waiting at least three times the interval length. For a quick fix change the 2 to a 3 in the code: https://github.com/torvalds/linux/blob/master/fs/cifs/connect.c#L712 I was advised to open this ticket here, despite there is the same one in https://bugzilla.kernel.org/show_bug.cgi?id=202611
Is there anything unclear in this ticket? What are the reasons to deny the recommended quick fix? Do you need a patch file?
Hi Lutz, as you worked out the issee quite well I think sending a git format patch to https://lists.samba.org/mailman/listinfo/linux-cifs-client makes upstream inclusion most likely. Thanks for your efforts!
The fix went into 5.3-rc1 (mainline) and 5.2.7, 4.19.65, 4.14.137, 4.9.224, 4.4.224 (stable) kernel versions.