1. 29 Mar, 2009 9 commits
    • Ralf Baechle's avatar
      Fix build error in <linux/irq.h> · 503e5763
      Ralf Baechle authored
      <linux/irq.h> relies on <linux/gfp.h> and <linux/topology.h> 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: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      503e5763
    • Randy Dunlap's avatar
      sched: fix errors in struct & function comments · d5ac537e
      Randy Dunlap authored
      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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d5ac537e
    • Randy Dunlap's avatar
      maple: fix Error in kernel-doc notation · ee665ecc
      Randy Dunlap authored
      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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee665ecc
    • Linus Torvalds's avatar
      Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · c31f403d
      Linus Torvalds authored
      * '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
      c31f403d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 7541bba8
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/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
      7541bba8
    • David Howells's avatar
      Annotate struct fs_struct's usage count restriction · 795e2fe0
      David Howells authored
      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: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      795e2fe0
    • Hugh Dickins's avatar
      fix setuid sometimes wouldn't · 7c2c7d99
      Hugh Dickins authored
      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/<pid>/cwd and /proc/<pid>/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: default avatarHugh Dickins <hugh@veritas.com>
      Cc: stable@kernel.org
      ___
      
       fs/proc/base.c |   50 +++++++++++++++--------------------------------
       1 file changed, 16 insertions(+), 34 deletions(-)
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c2c7d99
    • Hugh Dickins's avatar
      fix setuid sometimes doesn't · e426b64c
      Hugh Dickins authored
      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/<pid>/fd and /proc/<pid>/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: default avatarJoe Malicki <jmalicki@metacarta.com>
      Narrowed-down-by: default avatarMichael Itz <mitz@metacarta.com>
      Tested-by: default avatarJoe Malicki <jmalicki@metacarta.com>
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e426b64c
    • Hugh Dickins's avatar
      compat_do_execve should unshare_files · 53e9309e
      Hugh Dickins authored
      2.6.26's commit fd8328be
      "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: default avatarHugh Dickins <hugh@veritas.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      53e9309e
  2. 28 Mar, 2009 31 commits