Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Posted Mar 8, 2021 17:30 UTC (Mon) by syrjala (subscriber, #47399)Parent article: Linux 5.12's very bad, double ungood day
An excuse I would accept is that appropriate tests were run but they simply did not catch the problem. In which case I would expect to see improvements to the tests (+ making sure someone is actually running them in their CI system) to make sure this same bug doesn't happen ever again.
Posted Mar 8, 2021 19:28 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link] (5 responses)
Posted Mar 8, 2021 20:34 UTC (Mon)
by flussence (guest, #85566)
[Link] (4 responses)
Posted Mar 8, 2021 21:56 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link] (3 responses)
https://patchwork.kernel.org/project/keyrings/patch/13239...
Its state is "New", but it has been dropped by the submitter. How would one change the state from "New" to "Dropped"?
This one is tracked as "New", but has been merged (as noted by the pr-tracker-bot). How did Patchtracker miss this?
https://patchwork.kernel.org/project/keyrings/patch/13228...
And this is for pull requests.
This one is "New", but has a "Reviewed-by" someone who can collect it for the subsystem. Where is it on its way into the appropriate tree(s)?
https://patchwork.kernel.org/project/keyrings/patch/20210...
And that's just the one list I follow loosely. How can one trust this site for actual tracking of arbitrary kernel patches with this quality of tracking? Sure, this list might not *use* patchtracker as much as other lists, but how does one determine *that* bit of information?
Posted Mar 9, 2021 16:12 UTC (Tue)
by andy_shev (subscriber, #75870)
[Link] (1 responses)
Posted Mar 9, 2021 20:29 UTC (Tue)
by marcH (subscriber, #57642)
[Link]
patchwork tries to find code submissions not addressed to it directly. All other code review solutions require everything to be sent to them directly, they act as gateways. That's the very simple reason why they have all the information and all work better.
The icing on the cake is of course recipient-controlled email notifications instead of sender-control notifications (a.k.a... "spam"). In other words people routinely subscribe and unsubscribe to/from individual code reviews; not possible with a crude mailing list.
None of this is rocket science, it's all very easy to see and understand except when obsessing about the "email versus web" user interface questions; these debates are not "wrong" but they hide the much more important backend and database design issues.
You could totally have a gateway type code review tool entirely driven by email. In fact requesting all submissions, review comments and approvals or rejections to be sent (by email) to patchwork directly and putting patchwork in better control of the git repo would get at least half-way there.
Posted Mar 11, 2021 16:04 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
Posted Mar 8, 2021 20:19 UTC (Mon)
by cesarb (subscriber, #6266)
[Link]
Even though it's called "swapfile.c", that file has the code for both swap files and swap partitions, including things like the swapon and swapoff system calls. Surprisingly little of that code is specific to either swap files only or swap partitions only, nearly all of it being in the setup and teardown of the swap areas (setting the block size on swapon for partitions, reading the swap extents from the filesystem on swapon for regular files). Search that file for S_ISBLK and S_ISREG to see the few places where the code diverges.
Posted Mar 8, 2021 23:17 UTC (Mon)
by tome (subscriber, #3171)
[Link] (4 responses)
Indeed this bug could pass tests on a swap file accidentally by just clobbering unused locations . If so those tests need more fuzz.
Posted Mar 9, 2021 8:21 UTC (Tue)
by matthias (subscriber, #94967)
[Link] (1 responses)
Posted Mar 9, 2021 8:44 UTC (Tue)
by marcH (subscriber, #57642)
[Link]
So back to the original question: which "swaptorture" test suite was used to validate this patch and did that test suite include configuration(s) with swap file(s)? The main article wonders "how things could have been done better" and asks some interesting code review questions but does not seem to mention anything like "test gap".
Posted Mar 9, 2021 16:43 UTC (Tue)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
- initialize a swapfile
That at least gets the "everything was written to the swapfile" (rather than willy-nilly across the hosting FS). Doesn't guarantee that *extra* writes didn't go out. Some form of writing a given bitpattern to the entire FS and then ensuring that post-FS init and swap file creation, nothing else changes (modulo mtime/inode updates) might suffice? I have no idea if such a "simple" FS exists though. Or create a single file which takes up the remaining FS space with a given bitpattern reads properly after using the swapfile. Wrecking any data or metadata would presumably be detectable then, no?
Posted Mar 10, 2021 1:47 UTC (Wed)
by NYKevin (subscriber, #129325)
[Link]
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
Linux 5.12's very bad, double ungood day
- do things with it
- copy it to a new, fresh FS
- restore from it
Linux 5.12's very bad, double ungood day