Message ID | 20250314160458.GA9438@willie-the-truck (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [GIT,PULL] arm64 fixes for -rc7 | expand |
On Fri, 14 Mar 2025 at 06:05, Will Deacon <will@kernel.org> wrote: > > Summary in the tag, but the main one is a horrible macro fix for our > TLB flushing code which resulted in over-invalidation on the MMU > notifier path. From a quick look, that macro is still quite broken. Maybe not in ways that matter, but still... In particular, the 'stride' argument is used multiple times, and without parentheses. The 'lpa' argument is also used multiple times, and the input to that is typically something like kvm_lpa2_is_enabled(), so I think it potentially generates lots of pointless duplicate code with that BUG_ON() in system_supports_lpa2() -> cpus_have_final_cap(). Maybe the compiler figures it out. But that macro is bad, bad, bad. When it looks like a function, it should act like a function, and not evaluate its arguments multiple times. The most immediate bug may have been fixed, but not the actual real horror of that thing. Linus
The pull request you sent on Fri, 14 Mar 2025 16:04:59 +0000:
> git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ef9248676f81c0342d6e8f90a380a9e0b8c25280
Thank you!