1. 16 Dec, 2008 5 commits
    • Paul Menage's avatar
      cgroups: fix a race between rmdir and remount · 307257cf
      Paul Menage authored
      When a cgroup is removed, it's unlinked from its parent's children list,
      but not actually freed until the last dentry on it is released (at which
      point cgrp->root->number_of_cgroups is decremented).
      
      Currently rebind_subsystems checks for the top cgroup's child list being
      empty in order to rebind subsystems into or out of a hierarchy - this can
      result in the set of subsystems bound to a hierarchy being
      removed-but-not-freed cgroup.
      
      The simplest fix for this is to forbid remounts that change the set of
      subsystems on a hierarchy that has removed-but-not-freed cgroups.  This
      bug can be reproduced via:
      
      mkdir /mnt/cg
      mount -t cgroup -o ns,freezer cgroup /mnt/cg
      mkdir /mnt/cg/foo
      sleep 1h < /mnt/cg/foo &
      rmdir /mnt/cg/foo
      mount -t cgroup -o remount,ns,devices,freezer cgroup /mnt/cg
      kill $!
      
      Though the above will cause oops in -mm only but not mainline, but the bug
      can cause memory leak in mainline (and even oops)
      Signed-off-by: default avatarPaul Menage <menage@google.com>
      Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      307257cf
    • Frederik Deweerdt's avatar
      ACPI toshiba: only register rfkill if bt is enabled · 38aefbc5
      Frederik Deweerdt authored
      Part of the rfkill initialization was done whenever BT was on or not.  The
      following patch checks for BT presence before registering the rfkill to
      the input layer.  Some minor cleanups (> 80 char lines) were also added in
      the process.
      
      On Tue, Oct 28, 2008 at 10:10:37PM +0300, Andrey Borzenkov wrote:
      [...]
      > [   66.633036] toshiba_acpi: Toshiba Laptop ACPI Extras version 0.19
      > [   66.633054] toshiba_acpi:     HCI method: \_SB_.VALD.GHCI
      > [   66.637764] input: Toshiba RFKill Switch as /devices/virtual/input/input3
      [...]
      > [  113.920753] ------------[ cut here ]------------
      > [  113.920828] kernel BUG at /home/bor/src/linux-git/net/rfkill/rfkill.c:347!
      > [  113.920845] invalid opcode: 0000 [#1]
      > [  113.920877] last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/host0/target0:0:0/0:0:0:0/block/sda/size
      > [  113.920900] Dumping ftrace buffer:
      > [  113.920919]    (ftrace buffer empty)
      > [  113.920933] Modules linked in: af_packet irnet ppp_generic slhc ircomm_tty ircomm binfmt_misc loop dm_mirror dm_region_hash dm_log dm_round_robin dm_multipath dm_mod alim15x3 ide_core nvram toshiba cryptomgr aead crypto_blkcipher michael_mic crypto_algapi orinoco_cs orinoco hermes_dld hermes pcmcia firmware_class snd_ali5451 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device smsc_ircc2 snd_pcm_oss snd_pcm rtc_cmos irda snd_timer snd_mixer_oss rtc_core snd crc_ccitt yenta_socket rtc_lib rsrc_nonstatic i2c_ali1535 pcmcia_core pcspkr psmouse soundcore i2c_core evdev sr_mod snd_page_alloc alim1535_wdt cdrom fan sg video output toshiba_acpi rfkill thermal backlight ali_agp processor ac button input_polldev battery agpgart ohci_hcd usbcore reiserfs pata_ali libata sd_mod scsi_mod [last unloaded: scsi_wait_scan]
      > [  113.921765]
      > [  113.921785] Pid: 3272, comm: ipolldevd Not tainted (2.6.28-rc2-1avb #3) PORTEGE 4000
      > [  113.921801] EIP: 0060:[<dfaa4683>] EFLAGS: 00010246 CPU: 0
      > [  113.921854] EIP is at rfkill_force_state+0x53/0x90 [rfkill]
      > [  113.921870] EAX: 00000000 EBX: 00000000 ECX: 00000003 EDX: 00000000
      > [  113.921885] ESI: 00000000 EDI: ddd50300 EBP: d8d7af40 ESP: d8d7af24
      > [  113.921900]  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      > [  113.921918] Process ipolldevd (pid: 3272, ti=d8d7a000 task=d8d93c90 task.ti=d8d7a000)
      > [  113.921933] Stack:
      > [  113.921945]  d8d7af38 00000246 dfb029d8 dfb029c0 dfb029d8 dfb029c0 ddd50300 d8d7af5c
      > [  113.922014]  dfb018e2 01000246 01000000 ddd50300 ddd50314 ddabb8a0 d8d7af68 dfb381c1
      > [  113.922098]  00000000 d8d7afa4 c012ec0a 00000000 00000002 00000000 c012eba8 ddabb8c0
      > [  113.922240] Call Trace:
      > [  113.922240]  [<dfb018e2>] ? bt_poll_rfkill+0x5c/0x82 [toshiba_acpi]
      > [  113.922240]  [<dfb381c1>] ? input_polled_device_work+0x11/0x40 [input_polldev]
      > [  113.922240]  [<c012ec0a>] ? run_workqueue+0xea/0x1f0
      > [  113.922240]  [<c012eba8>] ? run_workqueue+0x88/0x1f0
      > [  113.922240]  [<dfb381b0>] ? input_polled_device_work+0x0/0x40 [input_polldev]
      > [  113.922240]  [<c012f047>] ? worker_thread+0x87/0xf0
      > [  113.922240]  [<c0132b00>] ? autoremove_wake_function+0x0/0x50
      > [  113.922240]  [<c012efc0>] ? worker_thread+0x0/0xf0
      > [  113.922240]  [<c013280f>] ? kthread+0x3f/0x80
      > [  113.922240]  [<c01327d0>] ? kthread+0x0/0x80
      > [  113.922240]  [<c01040d7>] ? kernel_thread_helper+0x7/0x10
      > [  113.922240] Code: 43 54 89 73 54 39 c6 74 11 89 d9 ba 01 00 00 00 b8 40 68 aa df e8 3e 35 69 e0 89 f8 e8 77 fd 85 e0 31 c0 83 c4 10 5b 5e 5f 5d c3 <0f> 0b eb fe 89 f6 8d bc 27 00 00 00 00 be f4 4d aa df bb 5f 01
      > [  113.922240] EIP: [<dfaa4683>] rfkill_force_state+0x53/0x90 [rfkill] SS:ESP 0068:d8d7af24
      > [  113.924700] ---[ end trace 0e404eb40cadd5f0 ]---
      Signed-off-by: default avatarFrederik Deweerdt <frederik.deweerdt@gmail.com>
      Tested-by: default avatarAndrey Borzenkov <arvidjaar@mail.ru>
      Acked-by: default avatarLen Brown <len.brown@intel.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Acked-by: default avatarPhilip Langdale <philipl@overt.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      38aefbc5
    • Michael Halcrow's avatar
      eCryptfs: Update maintainers · 6dc7516e
      Michael Halcrow authored
      Tyler Hicks and Dustin Kirkland are now the primary contact points for
      eCryptfs issues that may arise from this point forward.
      Signed-off-by: default avatarMichael Halcrow <mhalcrow@us.ibm.com>
      Acked-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      Acked-by: default avatarDustin Kirkland <kirkland@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6dc7516e
    • Catalin Marinas's avatar
      slob: do not pass the SLAB flags as GFP in kmem_cache_create() · 5e18e2b8
      Catalin Marinas authored
      The kmem_cache_create() function in the slob allocator passes the SLAB
      flags as GFP flags to the slob_alloc() function.  The patch changes this
      call to pass GFP_KERNEL as the other allocators seem to do.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarMatt Mackall <mpm@selenic.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5e18e2b8
    • Mike Frysinger's avatar
      pcmcia: blackfin: fix bug - add missing ; to MODULE macro · 35024c38
      Mike Frysinger authored
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarMike Frysinger <vapier.adi@gmail.com>
      Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      35024c38
  2. 15 Dec, 2008 3 commits
  3. 13 Dec, 2008 7 commits
  4. 12 Dec, 2008 5 commits
  5. 11 Dec, 2008 4 commits
  6. 10 Dec, 2008 16 commits