Changelog in Linux kernel 6.12.89

 
Linux: Linux 6.12.89 [+ + +]
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri May 15 14:51:08 2026 +0200

    Linux 6.12.89
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
ptrace: slightly saner 'get_dumpable()' logic [+ + +]
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed May 13 11:37:18 2026 -0700

    ptrace: slightly saner 'get_dumpable()' logic
    
    commit 31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a upstream.
    
    The 'dumpability' of a task is fundamentally about the memory image of
    the task - the concept comes from whether it can core dump or not - and
    makes no sense when you don't have an associated mm.
    
    And almost all users do in fact use it only for the case where the task
    has a mm pointer.
    
    But we have one odd special case: ptrace_may_access() uses 'dumpable' to
    check various other things entirely independently of the MM (typically
    explicitly using flags like PTRACE_MODE_READ_FSCREDS).  Including for
    threads that no longer have a VM (and maybe never did, like most kernel
    threads).
    
    It's not what this flag was designed for, but it is what it is.
    
    The ptrace code does check that the uid/gid matches, so you do have to
    be uid-0 to see kernel thread details, but this means that the
    traditional "drop capabilities" model doesn't make any difference for
    this all.
    
    Make it all make a *bit* more sense by saying that if you don't have a
    MM pointer, we'll use a cached "last dumpability" flag if the thread
    ever had a MM (it will be zero for kernel threads since it is never
    set), and require a proper CAP_SYS_PTRACE capability to override.
    
    Reported-by: Qualys Security Advisory <qsa@qualys.com>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Kees Cook <kees@kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>