1. 07 7月, 2011 1 次提交
    • K
      x86, suspend: Restore MISC_ENABLE MSR in realmode wakeup · 7a313666
      Kees Cook 提交于
      Some BIOSes will reset the Intel MISC_ENABLE MSR (specifically the
      XD_DISABLE bit) when resuming from S3, which can interact poorly with
      ebba638a. In 32bit PAE mode, this can
      lead to a fault when EFER is restored by the kernel wakeup routines,
      due to it setting the NX bit for a CPU that (thanks to the BIOS reset)
      now incorrectly thinks it lacks the NX feature. (64bit is not affected
      because it uses a common CPU bring-up that specifically handles the
      XD_DISABLE bit.)
      
      The need for MISC_ENABLE being restored so early is specific to the S3
      resume path. Normally, MISC_ENABLE is saved in save_processor_state(),
      but this happens after the resume header is created, so just reproduce
      the logic here. (acpi_suspend_lowlevel() creates the header, calls
      do_suspend_lowlevel, which calls save_processor_state(), so the saved
      processor context isn't available during resume header creation.)
      
      [ hpa: Consider for stable if OK in mainline ]
      Signed-off-by: NKees Cook <kees.cook@canonical.com>
      Link: http://lkml.kernel.org/r/20110707011034.GA8523@outflux.netSigned-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: <stable@kernel.org> 2.6.38+
      7a313666
  2. 06 7月, 2011 1 次提交
  3. 01 7月, 2011 7 次提交
    • T
      x86-32, NUMA: Fix boot regression caused by NUMA init unification on highmem machines · a26474e8
      Tejun Heo 提交于
      During 32/64 NUMA init unification, commit 797390d8 ("x86-32,
      NUMA: use sparse_memory_present_with_active_regions()") made
      32bit mm init call memory_present() automatically from
      active_regions instead of leaving it to each NUMA init path.
      
      This commit description is inaccurate - memory_present() calls
      aren't the same for flat and numaq.  After the commit,
      memory_present() is only called for the intersection of e820 and
      NUMA layout.  Before, on flatmem, memory_present() would be
      called from 0 to max_pfn.  After, it would be called only on the
      areas that e820 indicates to be populated.
      
      This is how x86_64 works and should be okay as memmap is allowed
      to contain holes; however, x86_32 DISCONTIGMEM is missing
      early_pfn_valid(), which makes memmap_init_zone() assume that
      memmap doesn't contain any hole.  This leads to the following
      oops if e820 map contains holes as it often does on machine with
      near or more 4GiB of memory by calling pfn_to_page() on a pfn
      which isn't mapped to a NUMA node, a reported by Conny Seidel:
      
        BUG: unable to handle kernel paging request at 000012b0
        IP: [<c1aa13ce>] memmap_init_zone+0x6c/0xf2
        *pdpt =3D 0000000000000000 *pde =3D f000eef3f000ee00
        Oops: 0000 [#1] SMP
        last sysfs file:
        Modules linked in:
      
        Pid: 0, comm: swapper Not tainted 2.6.39-rc5-00164-g797390d8 #1 To Be Filled By O.E.M. To Be Filled By O.E.M./E350M1
        EIP: 0060:[<c1aa13ce>] EFLAGS: 00010012 CPU: 0
        EIP is at memmap_init_zone+0x6c/0xf2
        EAX: 00000000 EBX: 000a8000 ECX: 000a7fff EDX: f2c00b80
        ESI: 000a8000 EDI: f2c00800 EBP: c19ffe54 ESP: c19ffe34
         DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
        Process swapper (pid: 0, ti=3Dc19fe000 task=3Dc1a07f60 task.ti=3Dc19fe000)
        Stack:
         00000002 00000000 0023f000 00000000 10000000 00000a00 f2c00000 f2c00b58
         c19ffeb0 c1a80f24 000375fe 00000000 f2c00800 00000800 00000100 00000030
         c1abb768 0000003c 00000000 00000000 00000004 00207a02 f2c00800 000375fe
        Call Trace:
         [<c1a80f24>] free_area_init_node+0x358/0x385
         [<c1a81384>] free_area_init_nodes+0x420/0x487
         [<c1a79326>] paging_init+0x114/0x11b
         [<c1a6cb13>] setup_arch+0xb37/0xc0a
         [<c1a69554>] start_kernel+0x76/0x316
         [<c1a690a8>] i386_start_kernel+0xa8/0xb0
      
      This patch fixes the bug by defining early_pfn_valid() to be the
      same as pfn_valid() when DISCONTIGMEM.
      Reported-bisected-and-tested-by: NConny Seidel <conny.seidel@amd.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: hans.rosenfeld@amd.com
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Conny Seidel <conny.seidel@amd.com>
      Link: http://lkml.kernel.org/r/20110628094107.GB3386@htj.dyndns.orgSigned-off-by: NIngo Molnar <mingo@elte.hu>
      a26474e8
    • A
      drm/radeon/kms: Fix chremap setup on RV770 CE · daf54f1f
      Alex Deucher 提交于
      CE variant requires a different chremap setup.
      
      Fixes:
      https://bugzilla.kernel.org/show_bug.cgi?id=35472Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      daf54f1f
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 0e90ed0e
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
        usbnet: Remove over-broad module alias from zaurus.
        MAINTAINERS: drop Michael from bfin_mac driver
        net/can: activate bit-timing calculation and netlink based drivers by default
        rionet: fix NULL pointer dereference in rionet_remove
        net+crypto: Use vmalloc for zlib inflate buffers.
        netfilter: Fix ip_route_me_harder triggering ip_rt_bug
        ipv4: Fix IPsec slowpath fragmentation problem
        ipv4: Fix packet size calculation in __ip_append_data
        cxgb3: skb_record_rx_queue now records the queue index relative to the net_device.
        bridge: Only flood unregistered groups to routers
        qlge: Add maintainer.
        MAINTAINERS: mark socketcan-core lists as subscribers-only
        MAINTAINERS: Remove Sven Eckelmann from BATMAN ADVANCED
        r8169: fix wrong register use.
        net/usb/kalmia: signedness bug in kalmia_bind()
        net/usb: kalmia: Various fixes for better support of non-x86 architectures.
        rtl8192cu: Fix missing firmware load
        udp/recvmsg: Clear MSG_TRUNC flag when starting over for a new packet
        ipv6/udp: Use the correct variable to determine non-blocking condition
        netconsole: fix build when CONFIG_NETCONSOLE_DYNAMIC is turned on
        ...
      0e90ed0e
    • L
      5fc3054d
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 3b775e22
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        watchdog: update author email for at32ap700x_wdt
        watchdog: gef_wdt: fix MODULE_ALIAS
        watchdog: Intel SCU Watchdog: Fix build and remove duplicate code
        watchdog: mtx1-wdt: fix section mismatch
        watchdog: mtx1-wdt: fix GPIO toggling
        watchdog: mtx1-wdt: request gpio before using it
        watchdog: Handle multiple wm831x watchdogs being registered
      3b775e22
    • L
      Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x · c8618d16
      Linus Torvalds 提交于
      * 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:
        sh: use printk_ratelimited instead of printk_ratelimit
        sh: Fix up unmet dependency warnings with USB EHCI/OHCI selects.
        sh: fix the value of sh_dmae_slave_config in setup-sh7757
        sh: fix the INTC vector for IRQ and IRL in setup-sh7757
        sh: add to select the new configuration for USB EHCI/OHCI
        sh: add platform_device of EHCI/OHCI to setup-sh7757
        sh: fix compile error using sh7757lcr_defconfig
      c8618d16
    • L
      Merge branch 'rmobile-fixes-for-linus' of... · 427e3df6
      Linus Torvalds 提交于
      Merge branch 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x
      
      * 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:
        ARM: mach-shmobile: make a struct in board-ap4evb.c static
        ARM: mach-shmobile: ag5evm: consistently name sdhi info structures
        ARM: mach-shmobile: mackerel: change usbhs devices order
      427e3df6
  4. 30 6月, 2011 12 次提交
  5. 29 6月, 2011 19 次提交