30 Mar, 2009

29 commits


29 Mar, 2009

11 commits

  • relies on and having been
    included previous. If not, the errors like below will result.

    CC arch/mips/mti-malta/malta-int.o
    In file included from arch/mips/mti-malta/malta-int.c:25:
    include/linux/irq.h: In function ‘init_alloc_desc_masks’:
    include/linux/irq.h:444: error: implicit declaration of function ‘cpu_to_node’
    include/linux/irq.h:446: error: ‘GFP_ATOMIC’ undeclared (first use in this function)
    include/linux/irq.h:446: error: (Each undeclared identifier is reported only once
    include/linux/irq.h:446: error: for each function it appears in.)
    make[3]: *** [arch/mips/mti-malta/malta-int.o] Error 1
    make[2]: *** [arch/mips/mti-malta] Error 2
    make[1]: *** [sub-make] Error 2

    Fixed by including the two missing headers.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Fix kernel-doc errors in sched.c: the structs don't have
    kernel-doc notation and the short function description needs to
    be one line only.

    Error(kernel/sched.c:3197): cannot understand prototype: 'struct sd_lb_stats '
    Error(kernel/sched.c:3228): cannot understand prototype: 'struct sg_lb_stats '
    Error(kernel/sched.c:3375): duplicate section name 'Description'

    Signed-off-by: Randy Dunlap
    cc: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-doc error in maple (it's not kernel-doc):

    Error(drivers/sh/maple/maple.c:782): cannot understand prototype: 'struct bus_type maple_bus_type = '

    Signed-off-by: Randy Dunlap
    cc: Paul Mundt
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: remove the pointer math from double_unlock_hb, fix
    futex: remove the pointer math from double_unlock_hb
    futex: clean up fault logic
    futex: unlock before returning -EFAULT
    futex: use current->time_slack_ns for rt tasks too
    futex: add double_unlock_hb()
    futex: additional (get|put)_futex_key() fixes
    futex: update futex commentary

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    smack: Add a new '-CIPSO' option to the network address label configuration
    netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections
    lsm: Remove the socket_post_accept() hook
    selinux: Remove the "compat_net" compatibility code
    netlabel: Label incoming TCP connections correctly in SELinux
    lsm: Relocate the IPv4 security_inet_conn_request() hooks
    TOMOYO: Fix a typo.
    smack: convert smack to standard linux lists

    Linus Torvalds
     
  • Annotate struct fs_struct's usage count to indicate the restrictions upon it.
    It may not be incremented, except by clone(CLONE_FS), as this affects the
    check in check_unsafe_exec() in fs/exec.c.

    Signed-off-by: David Howells
    Signed-off-by: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    David Howells
     
  • check_unsafe_exec() also notes whether the fs_struct is being
    shared by more threads than will get killed by the exec, and if so
    sets LSM_UNSAFE_SHARE to make bprm_set_creds() careful about euid.
    But /proc//cwd and /proc//root lookups make transient
    use of get_fs_struct(), which also raises that sharing count.

    This might occasionally cause a setuid program not to change euid,
    in the same way as happened with files->count (check_unsafe_exec
    also looks at sighand->count, but /proc doesn't raise that one).

    We'd prefer exec not to unshare fs_struct: so fix this in procfs,
    replacing get_fs_struct() by get_fs_path(), which does path_get
    while still holding task_lock, instead of raising fs->count.

    Signed-off-by: Hugh Dickins
    Cc: stable@kernel.org
    ___

    fs/proc/base.c | 50 +++++++++++++++--------------------------------
    1 file changed, 16 insertions(+), 34 deletions(-)
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Joe Malicki reports that setuid sometimes doesn't: very rarely,
    a setuid root program does not get root euid; and, by the way,
    they have a health check running lsof every few minutes.

    Right, check_unsafe_exec() notes whether the files_struct is being
    shared by more threads than will get killed by the exec, and if so
    sets LSM_UNSAFE_SHARE to make bprm_set_creds() careful about euid.
    But /proc//fd and /proc//fdinfo lookups make transient
    use of get_files_struct(), which also raises that sharing count.

    There's a rather simple fix for this: exec's check on files->count
    has been redundant ever since 2.6.1 made it unshare_files() (except
    while compat_do_execve() omitted to do so) - just remove that check.

    [Note to -stable: this patch will not apply before 2.6.29: earlier
    releases should just remove the files->count line from unsafe_exec().]

    Reported-by: Joe Malicki
    Narrowed-down-by: Michael Itz
    Tested-by: Joe Malicki
    Signed-off-by: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • 2.6.26's commit fd8328be874f4190a811c58cd4778ec2c74d2c05
    "sanitize handling of shared descriptor tables in failing execve()"
    moved the unshare_files() from flush_old_exec() and several binfmts
    to the head of do_execve(); but forgot to make the same change to
    compat_do_execve(), leaving a CLONE_FILES files_struct shared across
    exec from a 32-bit process on a 64-bit kernel.

    It's arguable whether the files_struct really ought to be unshared
    across exec; but 2.6.1 made that so to stop the loading binary's fd
    leaking into other threads, and a 32-bit process on a 64-bit kernel
    ought to behave in the same way as 32 on 32 and 64 on 64.

    Signed-off-by: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Impact: Kconfig noise reduction, documentation

    The default initramfs is so small that it makes no sense to worry
    about the additional memory taken by not double-compressing it.
    Therefore, don't bug the user with it.

    Also, improve the description of the option, which was downright
    incorrect.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Impact: message formatting

    Consistently spell LZMA in all capitals, since it (unlike gzip or
    bzip2) is an acronym.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin