Re: [PATCH 3/7] maccess: Skip setup for zero-sized kernel nofault copies
| Newsgroups | org.kvack.linux-mm,org.infradead.lists.linux-arm-kernel,org.kernel.vger.bpf,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <4310125e5984331a686a7319ec57a92796571f4b7b1780345652726f717e41c8@mail.kernel.org> |
> A zero-sized kernel nofault copy does not enter an access loop, but it > still disables and re-enables page faults. > > Zero sizes are valid. BPF probe-read helpers accept them, and KGDB memory > packets may carry a zero length. > > Return before changing page-fault state when there is nothing to copy. > For reads, keep architecture-specific address validation before the fast > path so its behavior is unchanged. This isn't a bug, but would it help to say in the changelog that a later patch in the series wraps these loops in a bare nofault (TCO) region and relies on the operation never being empty, rather than framing this purely as skipping the page-fault state change? The current description focuses on the mechanical effect (skip pagefault_disable/enable when there is nothing to copy), but on its own the change appears to be a no-op: pagefault_disable and pagefault_enable only increment and decrement current->pagefault_disabled, so a zero-size copy already returned 0 without touching memory. --- AI reviewed your patch. Please fix the bug or email reply why it's not a bug. See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md CI run summary: https://github.com/kernel-patches/bpf/actions/runs/32751368606