On Mon, 22 Jan 2024 at 17:38, Kees Cook <keesc...@chromium.org> wrote: > > I've tried to find the right balance between not enough details and too > much. I guess I got it wrong.
My complaint isn't about the level of detail. My complaint is about how the commit log IS ACTIVELY MISLEADING GARBAGE and does not match the actual patch in any way, shape, or form. It talks about completely irrelevant issues that simply have nothing to do with it. It talks about undefined behavior and about a "unsigned wrap-around sanitizer[2]", which is nonsensical, since there is no undefined behavior to sanitize. It literally gives a link to a github "issue" for that claim, but when you follow the link, it's actually about *signed* overflow, which is something entirely different. And honestly, the patch itself is garbage. The code is fine. Any "sanitizer" that complains about that code is pure and utter shite. Really. If you actually have some real "detect unsigned wraparound" tool (NOTE: that is *NOT* undefined behavior, and that is *NOT* a "sanitizer", it's at most some helpful checker), then such a tool had better recognize the perfectly fine traditional idiom for this, which is to do the addition and check that the result is smaller. Like the code does. See what I'm saying? The patch is garbage. Any sanitizer that would complain about the old code is garbage. And the commit message is worse than garbage, it is actively misleading to the point that I'd call it lying, trying to confuse the issues by bringing up things that are utterly and entirely irrelevant to the patch. So: - get rid of that commit message that is lying garbage - fix the so-called "sanitizer". - stop calling the unsigned wrap-around a "sanitizer" and talking about "undefined behavior" in the same sentence, since it's neither. Do you really not see why I think that thing is actively *WRONG*? Linus