Thread (10 messages) 10 messages, 4 authors, 25d ago

Re: PowerPC: Random memory corruption causing kernel oops on Power11

From: Paul Moore <paul@paul-moore.com>
Date: 2026-05-29 18:23:24
Also in: lkml, selinux

On Fri, May 29, 2026 at 12:18 PM David Laight
[off-list ref] wrote:
On Fri, 29 May 2026 19:07:22 +0530
Venkat Rao Bagalkote [off-list ref] wrote:
quoted
On 29/05/26 12:20 pm, Venkat Rao Bagalkote wrote:
quoted
Greetings!!!

Kernel 7.1.0-rc5-next-20260528 crashes randomly on IBM Power11
hardware. Attached is the config file.
.
quoted
Git bisect is pointing to 54067bacb49c selinux: hooks: use __getname()
to allocate path buffer as the first bad commit.


# git bisect good
54067bacb49caeada82b20b6bd706dca0cb99ffc is the first bad commit
commit 54067bacb49caeada82b20b6bd706dca0cb99ffc
Author: Mike Rapoport (Microsoft) [off-list ref]
Date:   Wed May 20 11:18:56 2026 +0300

     selinux: hooks: use __getname() to allocate path buffer

     selinux_genfs_get_sid() allocates memory for a path with
__get_free_page()
     although there is a dedicated helper for allocation of file paths:
     __getname().

     Replace __get_free_page() for allocation of a path buffer with
__getname().

     Signed-off-by: Mike Rapoport (Microsoft) [off-list ref]
     Signed-off-by: Paul Moore [off-list ref]

  security/selinux/hooks.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
__getname() is kmalloc(PATH_MAX) aka kmalloc(4096).

The old code was:
        buffer = (char *)__get_free_page(GFP_KERNEL);
        if (!buffer)
                return -ENOMEM;

        path = dentry_path_raw(dentry, buffer, PAGE_SIZE);
only the allocate was changed.

PAGE_SIZE is not the length of the buffer.
Should be PATH_MAX.
Yes, as discussed earlier in the thread some additional work needs to
be done, and verified, but since we are at the end of -rc5 I simply
reverted the patch.  We can chase this down next dev cycle.

-- 
paul-moore.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help