1. 11 Dec, 2009 7 commits
    • Borislav Petkov's avatar
      x86, msr: Add support for non-contiguous cpumasks · 50542251
      Borislav Petkov authored
      The current rd/wrmsr_on_cpus helpers assume that the supplied
      cpumasks are contiguous. However, there are machines out there
      like some K8 multinode Opterons which have a non-contiguous core
      enumeration on each node (e.g. cores 0,2 on node 0 instead of 0,1), see
      http://www.gossamer-threads.com/lists/linux/kernel/1160268.
      
      This patch fixes out-of-bounds writes (see URL above) by adding per-CPU
      msr structs which are used on the respective cores.
      
      Additionally, two helpers, msrs_{alloc,free}, are provided for use by
      the callers of the MSR accessors.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Doug Thompson <dougthompson@xmission.com>
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      LKML-Reference: <20091211171440.GD31998@aftab>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      50542251
    • H. Peter Anvin's avatar
      5c6baba8
    • Yinghai Lu's avatar
      x86: Use find_e820() instead of hard coded trampoline address · 893f38d1
      Yinghai Lu authored
      Jens found the following crash/regression:
      
      [    0.000000] found SMP MP-table at [ffff8800000fdd80] fdd80
      [    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 0-fff BIOS data page
      
      and
      
      [    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 6000-7fff TRAMPOLINE
      
      and bisected it to b24c2a92 ("x86: Move find_smp_config()
      earlier and avoid bootmem usage").
      
      It turns out the BIOS is using the first 64k for mptable,
      without reserving it.
      
      So try to find good range for the real-mode trampoline instead of
      hard coding it, in case some bios tries to use that range for sth.
      Reported-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Tested-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      LKML-Reference: <4B21630A.6000308@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      893f38d1
    • Linus Torvalds's avatar
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 3ef884b4
      Linus Torvalds authored
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (189 commits)
        drm/radeon/kms: fix warning about cur_placement being uninitialised.
        drm/ttm: Print debug information on memory manager when eviction fails
        drm: Add memory manager debug function
        drm/radeon/kms: restore surface registers on resume.
        drm/radeon/kms/r600/r700: fallback gracefully on ucode failure
        drm/ttm: Initialize eviction placement in case the driver callback doesn't
        drm/radeon/kms: cleanup structure and module if initialization fails
        drm/radeon/kms: actualy set the eviction placements we choose
        drm/radeon/kms: Fix NULL ptr dereference
        drm/radeon/kms/avivo: add support for new pll selection algo
        drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup
        drm/radeon/kms: fix return value from fence function.
        drm/radeon: Remove tests for -ERESTART from the TTM code.
        drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.
        drm/radeon/kms: Convert radeon to new TTM validation API (V2)
        drm/ttm: Rework validation & memory space allocation (V3)
        drm: Add search/get functions to get a block in a specific range
        drm/radeon/kms: fix avivo tiling regression since radeon object rework
        drm/i915: Remove a debugging printk from hangcheck
        drm/radeon/kms: make sure i2c id matches
        ...
      3ef884b4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 4e5df806
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits)
        amd64_edac: bump driver version
        amd64_edac: fix use-uninitialised bug
        amd64_edac: correct sys address to chip select mapping
        amd64_edac: add a leaner syndrome decoding algorithm
        amd64_edac: remove early hw support check
        amd64_edac: detect DDR3 memory type
        edac: add memory types strings for debugging
        edac, mce: update AMD F10h revD check
        amd64_edac: remove unneeded extract_error_address wrapper
        amd64_edac: rename StinkyIdentifier
        amd64_edac: remove superfluous dbg printk
        amd64_edac: enhance address to DRAM bank mapping
        amd64_edac: cleanup f10_early_channel_count
        amd64_edac: dump DIMM sizes on K8 too
        amd64_edac: cleanup rest of amd64_dump_misc_regs
        amd64_edac: cleanup DRAM cfg low debug output
        amd64_edac: wrap-up pci config read error handling
        amd64_edac: unify MCGCTL ECC switching
        cpumask: use modern cpumask style in drivers/edac/amd64_edac.c
        amd64_edac: make DRAM regions output more human-readable
        ...
      4e5df806
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · aa2cf420
      Linus Torvalds authored
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
        MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer
        OMAP: SDP: Enable DSS2 for OMAP3 SDP board
        OMAP: DSS2: Taal DSI command mode panel driver
        OMAP: DSS2: Add generic and Sharp panel drivers
        OMAP: DSS2: omapfb driver
        OMAP: DSS2: DSI driver
        OMAP: DSS2: SDI driver
        OMAP: DSS2: RFBI driver
        OMAP: DSS2: Video encoder driver
        OMAP: DSS2: DPI driver
        OMAP: DSS2: DISPC
        OMAP: DSS2: Add more core files
        OMAP: DSS2: Display Subsystem Driver core
        OMAP: DSS2: Documentation for DSS2
        OMAP: Add support for VRFB rotation engine
        OMAP: Add VRAM manager
        OMAP: OMAPFB: add omapdss device
        OMAP: OMAPFB: split omapfb.h
        OMAP2: Add funcs for writing SMS_ROT_* registers
      aa2cf420
    • Prarit Bhargava's avatar
      x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map cpumasks · ebb682f5
      Prarit Bhargava authored
      The per_cpu cpuid4_info shared_map can contain stale data when CPUs are added
      and removed.
      
      The stale data can lead to a NULL pointer derefernce panic on a remove of a
      CPU that has had siblings previously removed.
      
      This patch resolves the panic by verifying a cpu is actually online before
      adding it to the shared_cpu_map, only examining cpus that are part of
      the same lower level cache, and by updating other siblings lowest level cache
      maps when a cpu is added.
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      LKML-Reference: <20091209183336.17855.98708.sendpatchset@prarit.bos.redhat.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      ebb682f5
  2. 10 Dec, 2009 33 commits