On Sun, Nov 9, 2025 at 1:37 AM Al Viro <[email protected]> wrote: > > Originally we tried to avoid multiple insertions into audit names array > during retry loop by a cute hack - memorize the userland pointer and > if there already is a match, just grab an extra reference to it. > > Cute as it had been, it had problems - two identical pointers had > audit aux entries merged, two identical strings did not. Having > different behaviour for syscalls that differ only by addresses of > otherwise identical string arguments is obviously wrong - if nothing > else, compiler can decide to merge identical string literals. > > Besides, this hack does nothing for non-audited processes - they get > a fresh copy for retry. It's not time-critical, but having behaviour > subtly differ that way is bogus. > > These days we have very few places that import filename more than once > (9 functions total) and it's easy to massage them so we get rid of all > re-imports. With that done, we don't need audit_reusename() anymore. > There's no need to memorize userland pointer either. > > Signed-off-by: Al Viro <[email protected]> > --- > fs/namei.c | 11 +++-------- > include/linux/audit.h | 11 ----------- > include/linux/fs.h | 1 - > kernel/auditsc.c | 23 ----------------------- > 4 files changed, 3 insertions(+), 43 deletions(-)
Looks reasonable to me. Not sure if you've run it through the audit-testsuite yet, but I'm building a test kernel as I write this, I'll let you know how it goes. Acked-by: Paul Moore <[email protected]> -- paul-moore.com
