1. 08 Sep, 2008 15 commits
  2. 07 Sep, 2008 5 commits
  3. 06 Sep, 2008 12 commits
  4. 05 Sep, 2008 8 commits
    • H. Peter Anvin's avatar
      x86: use X86_FEATURE_NOPL in alternatives · f31d731e
      H. Peter Anvin authored
      Use X86_FEATURE_NOPL to determine if it is safe to use P6 NOPs in
      alternatives.  Also, replace table and loop with simple if statement.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      f31d731e
    • H. Peter Anvin's avatar
      x86: add NOPL as a synthetic CPU feature bit · b6734c35
      H. Peter Anvin authored
      The long noops ("NOPL") are supposed to be detected by family >= 6.
      Unfortunately, several non-Intel x86 implementations, both hardware
      and software, don't obey this dictum.  Instead, probe for NOPL
      directly by executing a NOPL instruction and see if we get #UD.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      b6734c35
    • H. Peter Anvin's avatar
      x86: boot: stub out unimplemented CPU feature words · b74b06c5
      H. Peter Anvin authored
      The CPU feature detection code in the boot code is somewhat minimal,
      and doesn't include all possible CPUID words.  In particular, it
      doesn't contain the code for CPU feature words 2 (Transmeta),
      3 (Linux-specific), 5 (VIA), or 7 (scattered).  Zero them out, so we
      can still set those bits as known at compile time; in particular, this
      allows creating a Linux-specific NOPL flag and have it required (and
      therefore resolvable at compile time) in 64-bit mode.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      b74b06c5
    • Andrew Morton's avatar
      drivers/mmc/card/block.c: fix refcount leak in mmc_block_open() · 70bb0896
      Andrew Morton authored
      mmc_block_open() increments md->usage although it returns with -EROFS when
      default mounting a MMC/SD card with write protect switch on.  This
      reference counting bug prevents /dev/mmcblkX from being released on card
      removal, and situation worsen with reinsertion until the minor number
      range runs out.
      
      Reported-by: <sasin@solomon-systech.com>
      Acked-by: default avatarPierre Ossman <drzeus-list@drzeus.cx>
      Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70bb0896
    • Roland McGrath's avatar
      tracehook: comment pasto fixes · 22f30168
      Roland McGrath authored
      Fix some pasto's in comments in the new linux/tracehook.h and
      asm-generic/syscall.h files.
      Reported-by: default avatarWenji Huang <wenji.huang@oracle.com>
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22f30168
    • Stanislaw Gruszka's avatar
      atmel_lcdfb: fix oops in rmmod when framebuffer fails to register · 34a35bdd
      Stanislaw Gruszka authored
      If framebuffer registration failed in platform driver ->probe() callback,
      dev_get_drvdata() points to freed memory region, but ->remove() function
      try to use it and the following oops occurs:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000228
      pgd = c3a20000
      [00000228] *pgd=23a2b031, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1]
      Modules linked in: atmel_lcdfb(-) cfbcopyarea cfbimgblt cfbfillrect [last unloaded: atmel_lcdfb]
      CPU: 0    Not tainted  (2.6.27-rc2 #116)
      PC is at atmel_lcdfb_remove+0x14/0xf8 [atmel_lcdfb]
      LR is at platform_drv_remove+0x20/0x24
      pc : [<bf006bc4>]    lr : [<c0157d28>]    psr: a0000013
      sp : c3a45e84  ip : c3a45ea0  fp : c3a45e9c
      r10: 00000002  r9 : c3a44000  r8 : c0026c04
      r7 : 00000880  r6 : c02bb228  r5 : 00000000  r4 : c02bb230
      r3 : bf007e3c  r2 : c02bb230  r1 : 00000004  r0 : c02bb228
      Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 0005317f  Table: 23a20000  DAC: 00000015
      Process rmmod (pid: 6799, stack limit = 0xc3a44260)
      Stack: (0xc3a45e84 to 0xc3a46000)
      5e80:          c02bb230 bf007e3c bf007e3c c3a45eac c3a45ea0 c0157d28 bf006bc0
      5ea0: c3a45ec4 c3a45eb0 c0156d20 c0157d18 c02bb230 c02bb2d8 c3a45ee0 c3a45ec8
      5ec0: c0156da8 c0156cb8 bf007e3c bf007ee0 c02c8e14 c3a45efc c3a45ee4 c0156018
      5ee0: c0156d50 bf007e3c bf007ee0 00000000 c3a45f18 c3a45f00 c0157220 c0155f9c
      5f00: 00000000 bf007ee0 bf008000 c3a45f28 c3a45f1c c0157e34 c01571ec c3a45f38
      5f20: c3a45f2c bf006ba8 c0157e30 c3a45fa4 c3a45f3c c005772c bf006ba4 656d7461
      5f40: 636c5f6c 00626664 c004c988 c3a45f80 c3a45f5c 00000000 c3a45fb0 00000000
      5f60: ffffffff becaccd8 00000880 00000000 000a5e80 00000001 bf007ee0 00000880
      5f80: c3a45f84 00000000 becaccd4 00000002 000003df 00000081 00000000 c3a45fa8
      5fa0: c0026a60 c0057584 00000002 000003df 00900081 000a5e80 00000880 00000000
      5fc0: becaccd4 00000002 000003df 00000000 000a5e80 00000001 00000002 0000005f
      5fe0: 4004f5ec becacbe8 0001a158 4004f5fc 20000010 00900081 f9ffbadf 7bbfb2bb
      Backtrace:
      [<bf006bb0>] (atmel_lcdfb_remove+0x0/0xf8 [atmel_lcdfb]) from [<c0157d28>] (platform_drv_remove+0x20/0x24)
       r6:bf007e3c r5:bf007e3c r4:c02bb230
      [<c0157d08>] (platform_drv_remove+0x0/0x24) from [<c0156d20>] (__device_release_driver+0x78/0x98)
      [<c0156ca8>] (__device_release_driver+0x0/0x98) from [<c0156da8>] (driver_detach+0x68/0x90)
       r5:c02bb2d8 r4:c02bb230
      [<c0156d40>] (driver_detach+0x0/0x90) from [<c0156018>] (bus_remove_driver+0x8c/0xb4)
       r6:c02c8e14 r5:bf007ee0 r4:bf007e3c
      [<c0155f8c>] (bus_remove_driver+0x0/0xb4) from [<c0157220>] (driver_unregister+0x44/0x48)
       r6:00000000 r5:bf007ee0 r4:bf007e3c
      [<c01571dc>] (driver_unregister+0x0/0x48) from [<c0157e34>] (platform_driver_unregister+0x14/0x18)
       r6:bf008000 r5:bf007ee0 r4:00000000
      [<c0157e20>] (platform_driver_unregister+0x0/0x18) from [<bf006ba8>] (atmel_lcdfb_exit+0x14/0x1c [atmel_lcdfb])
      [<bf006b94>] (atmel_lcdfb_exit+0x0/0x1c [atmel_lcdfb]) from [<c005772c>] (sys_delete_module+0x1b8/0x22c)
      [<c0057574>] (sys_delete_module+0x0/0x22c) from [<c0026a60>] (ret_fast_syscall+0x0/0x2c)
       r7:00000081 r6:000003df r5:00000002 r4:becaccd4
      Code: e92dd870 e24cb004 e59050c4 e1a06000 (e5954228)
      ---[ end trace 85476b184d9e68d8 ]---
      
      This patch fixes the oops.
      Signed-off-by: default avatarStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      34a35bdd
    • Rafael J. Wysocki's avatar
      forcedeth: fix kexec regression · 3cb5599a
      Rafael J. Wysocki authored
      Fix regression tracked as http://bugzilla.kernel.org/show_bug.cgi?id=11361
      and caused by commit f735a2a1 ("[netdrvr]
      forcedeth: setup wake-on-lan before shutting down") that makes network
      adapters integrated into the NVidia MCP55 chipsets fail to work in kexeced
      kernels.  The problem appears to be that if the adapter is put into D3_hot
      during ->shutdown(), it cannot be brought back into D0 after kexec (ref.
      http://marc.info/?l=linux-kernel&m=121900062814967&w=4).  Therefore, only
      put forcedeth into D3 during ->shutdown() if the system is to be powered
      off.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Tested-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Ayaz Abdulla <aabdulla@nvidia.com>
      Acked-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3cb5599a
    • Li Zefan's avatar
      res_counter: fix off-by-one bug in setting limit · 11d55d2c
      Li Zefan authored
      I found we can no longer set limit to 0 with 2.6.27-rcX:
       # mount -t cgroup -omemory xxx /mnt
       # mkdir /mnt/0
       # echo 0 > /mnt/0/memory.limit_in_bytes
       bash: echo: write error: Device or resource busy
      
      It turned out 'limit' can't be set to 'usage', which is wrong IMO.
      Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Acked-by: default avatarBalbir Singh <balbir@linux.vnet.ibm.com>
      Acked-by: default avatarPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11d55d2c