1. 29 6月, 2011 2 次提交
    • J
      AppArmor: Fix masking of capabilities in complain mode · 25e75dff
      John Johansen 提交于
      AppArmor is masking the capabilities returned by capget against the
      capabilities mask in the profile.  This is wrong, in complain mode the
      profile has effectively all capabilities, as the profile restrictions are
      not being enforced, merely tested against to determine if an access is
      known by the profile.
      
      This can result in the wrong behavior of security conscience applications
      like sshd which examine their capability set, and change their behavior
      accordingly.  In this case because of the masked capability set being
      returned sshd fails due to DAC checks, even when the profile is in complain
      mode.
      
      Kernels affected: 2.6.36 - 3.0.
      Signed-off-by: NJohn Johansen <john.johansen@canonical.com>
      25e75dff
    • J
      AppArmor: Fix reference to rcu protected pointer outside of rcu_read_lock · 04fdc099
      John Johansen 提交于
      The pointer returned from tracehook_tracer_task() is only valid inside
      the rcu_read_lock.  However the tracer pointer obtained is being passed
      to aa_may_ptrace outside of the rcu_read_lock critical section.
      
      Mover the aa_may_ptrace test into the rcu_read_lock critical section, to
      fix this.
      
      Kernels affected: 2.6.36 - 3.0
      Reported-by: NOleg Nesterov <oleg@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NJohn Johansen <john.johansen@canonical.com>
      04fdc099
  2. 28 6月, 2011 28 次提交
  3. 27 6月, 2011 5 次提交
    • L
      Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm · edcda265
      Linus Torvalds 提交于
      * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: pm: ensure ARMv7 CPUs save and restore the TLS register
        ARM: pm: proc-v7: fix missing struct processor pointers for suspend code
        ARM: 6969/1: plat-iop: fix build error
        ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries
        ARM: SMP: wait for CPU to be marked active
        ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols
        ARM: 6962/1: mach-h720x: fix build error
        ARM: 6959/1: SMP build fix for entry-macro-multi.S
      edcda265
    • L
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 9c317b3b
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] allow setting of upper 32 bit in smp_ctl_set_bit
        [S390] hwsampler: Set a sane default sampling rate
        [S390] s390: enforce HW limits for the initial sampling rate
        [S390] kvm-s390: fix kconfig dependencies
      9c317b3b
    • M
      btrfs: fix inconsonant inode information · 2f7e33d4
      Miao Xie 提交于
      When iputting the inode, We may leave the delayed nodes if they have some
      delayed items that have not been dealt with. So when the inode is read again,
      we must look up the relative delayed node, and use the information in it to
      initialize the inode. Or we will get inconsonant inode information, it may
      cause that the same directory index number is allocated again, and hit the
      following oops:
      
      [ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the
      insertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)
      [ 5447.569766] ------------[ cut here ]------------
      [ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!
      [SNIP]
      [ 5447.790721] Call Trace:
      [ 5447.793191]  [<ffffffffa0641c4e>] btrfs_insert_dir_item+0x189/0x1bb [btrfs]
      [ 5447.800156]  [<ffffffffa0651a45>] btrfs_add_link+0x12b/0x191 [btrfs]
      [ 5447.806517]  [<ffffffffa0651adc>] btrfs_add_nondir+0x31/0x58 [btrfs]
      [ 5447.812876]  [<ffffffffa0651d6a>] btrfs_create+0xf9/0x197 [btrfs]
      [ 5447.818961]  [<ffffffff8111f840>] vfs_create+0x72/0x92
      [ 5447.824090]  [<ffffffff8111fa8c>] do_last+0x22c/0x40b
      [ 5447.829133]  [<ffffffff8112076a>] path_openat+0xc0/0x2ef
      [ 5447.834438]  [<ffffffff810c58e2>] ? __perf_event_task_sched_out+0x24/0x44
      [ 5447.841216]  [<ffffffff8103ecdd>] ? perf_event_task_sched_out+0x59/0x67
      [ 5447.847846]  [<ffffffff81121a79>] do_filp_open+0x3d/0x87
      [ 5447.853156]  [<ffffffff811e126c>] ? strncpy_from_user+0x43/0x4d
      [ 5447.859072]  [<ffffffff8111f1f5>] ? getname_flags+0x2e/0x80
      [ 5447.864636]  [<ffffffff8111f179>] ? do_getname+0x14b/0x173
      [ 5447.870112]  [<ffffffff8111f1b7>] ? audit_getname+0x16/0x26
      [ 5447.875682]  [<ffffffff8112b1ab>] ? spin_lock+0xe/0x10
      [ 5447.880882]  [<ffffffff81112d39>] do_sys_open+0x69/0xae
      [ 5447.886153]  [<ffffffff81112db1>] sys_open+0x20/0x22
      [ 5447.891114]  [<ffffffff813b9aab>] system_call_fastpath+0x16/0x1b
      
      Fix it by reusing the old delayed node.
      Reported-by: NJim Schutt <jaschut@sandia.gov>
      Signed-off-by: NMiao Xie <miaox@cn.fujitsu.com>
      Tested-by: NJim Schutt <jaschut@sandia.gov>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      2f7e33d4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 258e43fd
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN
        cifs: free blkcipher in smbhash
      258e43fd
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 804a007f
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        cifs: propagate errors from cifs_get_root() to mount(2)
        cifs: tidy cifs_do_mount() up a bit
        cifs: more breakage on mount failures
        cifs: close sget() races
        cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()
        cifs: move cifs_umount() call into ->kill_sb()
        cifs: pull cifs_mount() call up
        sanitize cifs_umount() prototype
        cifs: initialize ->tlink_tree in cifs_setup_cifs_sb()
        cifs: allocate mountdata earlier
        cifs: leak on mount if we share superblock
        cifs: don't pass superblock to cifs_mount()
        cifs: don't leak nls on mount failure
        cifs: double free on mount failure
        take bdi setup/destruction into cifs_mount/cifs_umount
      Acked-by: NSteve French <smfrench@gmail.com>
      804a007f
  4. 26 6月, 2011 5 次提交