On Sat, Oct 21, 2023 at 10:56:29AM -0700, Linus Torvalds wrote: > On Sat, 21 Oct 2023 at 02:44, Vasily Gorbik <gor@xxxxxxxxxxxxx> wrote: > > - Fix IOMMU bitmap allocation in s390 PCI to avoid out of bounds access > > when IOMMU pages aren't a multiple of 64. > But that code is wrong, because the overflow is simply not an issue. > Adding overflow handling code is literally only actively misleading, > making the code harder to read, for no reason, and making people > *think* it's being careful when it is anything *but* careful. Right, I should have done a better job reviewing this patch when picking it up. Please consider a follow-up patch (in reply) that cleans up unnecessary and misleading overflow handling. There is no real benefit in getting it into linux-next because the upcoming conversion to use the common code DMA API on s390 Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20231020&id=c76c067e488c eliminates arch/s390/pci/pci_dma.c entirely and, therefore, addresses the original problem in another way. That's why this fix is only relevant for the current v6.6 and stable backports and is kept as simple as possible. Let me know if you prefer the regular way, and I should include this follow-up patch in my pull request later this week. > If you *do* want to add proper overflow handling, you'd need to either > fix BITS_TO_LONGS() some way (which is actually non-trivial since it > needs to be able to stay a constant and only use the argument once), Looking into that. Let's see if handling overflow in __KERNEL_DIV_ROUND_UP turns out to be doable.