• Serge E. Hallyn's avatar
    define convenient securebits masks for prctl users (v2) · 5975c725
    Serge E. Hallyn authored
    Hi James, would you mind taking the following into
    security-testing?
    
    The securebits are used by passing them to prctl with the
    PR_{S,G}ET_SECUREBITS commands.  But the defines must be
    shifted to be used in prctl, which begs to be confused and
    misused by userspace.  So define some more convenient
    values for userspace to specify.  This way userspace does
    
    	prctl(PR_SET_SECUREBITS, SECBIT_NOROOT);
    
    instead of
    
    	prctl(PR_SET_SECUREBITS, 1 << SECURE_NOROOT);
    
    (Thanks to Michael for the idea)
    
    This patch also adds include/linux/securebits to the installed headers.
    Then perhaps it can be included by glibc's sys/prctl.h.
    
    Changelog:
    	Oct 29: Stephen Rothwell points out that issecure can
    		be under __KERNEL__.
    	Oct 14: (Suggestions by Michael Kerrisk):
    		1. spell out SETUID in SECBIT_NO_SETUID*
    		2. SECBIT_X_LOCKED does not imply SECBIT_X
    		3. add definitions for keepcaps
            Oct 14: As suggested by Michael Kerrisk, don't
    		use SB_* as that convention is already in
    		use.  Use SECBIT_ prefix instead.
    Signed-off-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
    Acked-by: default avatarAndrew G. Morgan <morgan@kernel.org>
    Acked-by: default avatarMichael Kerrisk <mtk.manpages@gmail.com>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Cc: James Morris <jmorris@namei.org>
    Signed-off-by: default avatarJames Morris <jmorris@namei.org>
    5975c725
securebits.h 2.26 KB