13 Oct, 2009

1 commit

  • Meaning receive multiple messages, reducing the number of syscalls and
    net stack entry/exit operations.

    Next patches will introduce mechanisms where protocols that want to
    optimize this operation will provide an unlocked_recvmsg operation.

    This takes into account comments made by:

    . Paul Moore: sock_recvmsg is called only for the first datagram,
    sock_recvmsg_nosec is used for the rest.

    . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
    works in the same fashion as the ppoll one.

    If the underlying protocol returns a datagram with MSG_OOB set, this
    will make recvmmsg return right away with as many datagrams (+ the OOB
    one) it has received so far.

    . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
    datagrams and then recvmsg returns an error, recvmmsg will return
    the successfully received datagrams, store the error and return it
    in the next call.

    This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
    where we will be able to acquire the lock only at batch start and end, not at
    every underlying recvmsg call.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     

02 Oct, 2009

2 commits

  • Just like ip_fast_csum, the assembly snippet in csum_ipv6_magic needs a
    memory clobber, as it is only passed the address of the buffer, not a
    memory reference to the buffer itself.

    This caused failures in Hurd's pfinetv4 when we tried to compile it with
    gcc-4.3 (bogus checksums).

    Signed-off-by: Samuel Thibault
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Acked-by: "David S. Miller"
    Cc: Andi Kleen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     
  • [akpm@linux-foundation.org: fix KVM]
    Signed-off-by: Alexey Dobriyan
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

01 Oct, 2009

2 commits

  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched_clock: Fix atomicity/continuity bug by using cmpxchg64()
    x86: Provide an alternative() based cmpxchg64()

    Linus Torvalds
     
  • cmpxchg64() today generates, to quote Linus, "barf bag" code.

    cmpxchg64() is about to get used in the scheduler to fix a bug there,
    but it's a prerequisite that cmpxchg64() first be made non-sucking.

    This patch turns cmpxchg64() into an efficient implementation that
    uses the alternative() mechanism to just use the raw instruction on
    all modern systems.

    Note: the fallback is NOT smp safe, just like the current fallback
    is not SMP safe. (Interested parties with i486 based SMP systems
    are welcome to submit fix patches for that.)

    Signed-off-by: Arjan van de Ven
    Acked-by: Linus Torvalds
    [ fixed asm constraint bug ]
    Fixed-by: Eric Dumazet
    Cc: Martin Schwidefsky
    Cc: John Stultz
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Arjan van de Ven
     

30 Sep, 2009

1 commit


28 Sep, 2009

2 commits


27 Sep, 2009

4 commits

  • This build failure triggers:

    In file included from include/linux/suspend.h:8,
    from arch/x86/kernel/asm-offsets_32.c:11,
    from arch/x86/kernel/asm-offsets.c:2:
    include/linux/mm.h:503:2: error: #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > BITS_PER_LONG - NR_PAGEFLAGS

    Because due to the hwpoison page flag we ran out of page
    flags on 32-bit.

    Dont turn on hwpoison on 32-bit NUMA (it's rare in any
    case).

    Also clean up the Kconfig dependencies in the generic MM
    code by introducing ARCH_SUPPORTS_MEMORY_FAILURE.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Ingo Molnar

    Linus Torvalds
     
  • Don't disable ARB_DISABLE when the familary ID is 0x0F.

    http://bugzilla.kernel.org/show_bug.cgi?id=14211

    This was a 2.6.31 regression, and so this patch
    needs to be applied to 2.6.31.stable

    Signed-off-by: Zhao Yakui
    Signed-off-by: Len Brown

    Zhao Yakui
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Dont use openat()
    perf tools: Fix buffer allocation
    perf tools: .gitignore += perf*.html
    perf tools: Handle relative paths while loading module symbols
    perf tools: Fix module symbol loading bug
    perf_event, x86: Fix 'perf sched record' crashing the machine
    perf_event: Update PERF_EVENT_FORK header definition
    perf stat: Fix zero total printouts

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Remove redundant non-NUMA topology functions
    x86: early_printk: Protect against using the same device twice
    x86: Reduce verbosity of "PAT enabled" kernel message
    x86: Reduce verbosity of "TSC is reliable" message
    x86: mce: Use safer ways to access MCE registers
    x86: mce, inject: Use real inject-msg in raise_local
    x86: mce: Fix thermal throttling message storm
    x86: mce: Clean up thermal throttling state tracking code
    x86: split NX setup into separate file to limit unstack-protected code
    xen: check EFER for NX before setting up GDT mapping
    x86: Cleanup linker script using new linker script macros.
    x86: Use section .data.page_aligned for the idt_table.
    x86: convert to use __HEAD and HEAD_TEXT macros.
    x86: convert compressed loader to use __HEAD and HEAD_TEXT macros.
    x86: fix fragile computation of vsyscall address

    Linus Torvalds
     

25 Sep, 2009

3 commits

  • Merge reason: The linker script cleanups are ready for upstream.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (57 commits)
    drm/i915: Handle ERESTARTSYS during page fault
    drm/i915: Warn before mmaping a purgeable buffer.
    drm/i915: Track purged state.
    drm/i915: Remove eviction debug spam
    drm/i915: Immediately discard any backing storage for uneeded objects
    drm/i915: Do not mis-classify clean objects as purgeable
    drm/i915: Whitespace correction for madv
    drm/i915: BUG_ON page refleak during unbind
    drm/i915: Search harder for a reusable object
    drm/i915: Clean up evict from list.
    drm/i915: Add tracepoints
    drm/i915: framebuffer compression for GM45+
    drm/i915: split display functions by chip type
    drm/i915: Skip the sanity checks if the current relocation is valid
    drm/i915: Check that the relocation points to within the target
    drm/i915: correct FBC update when pipe base update occurs
    drm/i915: blacklist Acer AspireOne lid status
    ACPI: make ACPI button funcs no-ops if not built in
    drm/i915: prevent FIFO calculation overflows on 32 bits with high dotclocks
    drm/i915: intel_display.c handle latency variable efficiently
    ...

    Fix up trivial conflicts in drivers/gpu/drm/i915/{i915_dma.c|i915_drv.h}

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)
    x86/PCI: make 32 bit NUMA node array int, not unsigned char
    x86/PCI: default pcibus cpumask to all cpus if it lacks affinity
    MAINTAINTERS: remove hotplug driver entries
    PCI: pciehp: remove slot capabilities definitions
    PCI: pciehp: remove error message definitions
    PCI: pciehp: remove number field
    PCI: pciehp: remove hpc_ops
    PCI: pciehp: remove pci_dev field
    PCI: pciehp: remove crit_sect mutex
    PCI: pciehp: remove slot_bus field
    PCI: pciehp: remove first_slot field
    PCI: pciehp: remove slot_device_offset field
    PCI: pciehp: remove hp_slot field
    PCI: pciehp: remove device field
    PCI: pciehp: remove bus field
    PCI: pciehp: remove slot_num_inc field
    PCI: pciehp: remove num_slots field
    PCI: pciehp: remove slot_list field
    PCI: fix VGA arbiter header file
    PCI: Disable AER with pci=nomsi
    ...

    Fixed up trivial conflicts in MAINTAINERS

    Linus Torvalds
     

24 Sep, 2009

21 commits

  • * 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits)
    HWPOISON: Enable error_remove_page on btrfs
    HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs
    HWPOISON: Add madvise() based injector for hardware poisoned pages v4
    HWPOISON: Enable error_remove_page for NFS
    HWPOISON: Enable .remove_error_page for migration aware file systems
    HWPOISON: The high level memory error handler in the VM v7
    HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process
    HWPOISON: shmem: call set_page_dirty() with locked page
    HWPOISON: Define a new error_remove_page address space op for async truncation
    HWPOISON: Add invalidate_inode_page
    HWPOISON: Refactor truncate to allow direct truncating of page v2
    HWPOISON: check and isolate corrupted free pages v2
    HWPOISON: Handle hardware poisoned pages in try_to_unmap
    HWPOISON: Use bitmask/action code for try_to_unmap behaviour
    HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2
    HWPOISON: Add poison check to page fault handling
    HWPOISON: Add basic support for poisoned pages in fault handler v3
    HWPOISON: Add new SIGBUS error codes for hardware poison signals
    HWPOISON: Add support for poison swap entries v2
    HWPOISON: Export some rmap vma locking to outside world
    ...

    Linus Torvalds
     
  • It's unused.

    It isn't needed -- read or write flag is already passed and sysctl
    shouldn't care about the rest.

    It _was_ used in two places at arch/frv for some reason.

    Signed-off-by: Alexey Dobriyan
    Cc: David Howells
    Cc: "Eric W. Biederman"
    Cc: Al Viro
    Cc: Ralf Baechle
    Cc: Martin Schwidefsky
    Cc: Ingo Molnar
    Cc: "David S. Miller"
    Cc: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • arch/x86/include/asm/topology.h declares inline fns cpu_to_node and
    cpumask_of_node for !NUMA, even though they are then declared as
    macros by asm-generic/topology.h, which is #included just below.

    The macros (which are the same) end up being used; these functions
    are just confusing.

    Noticed-by: Linus Torvalds
    Signed-off-by: Rusty Russell
    Cc: Jesse Barnes
    Cc: "Greg Kroah-Hartman"
    Cc: Yinghai Lu
    Cc: Tejun Heo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Rusty Russell
     
  • If you use the kernel argument:

    earlyprintk=serial,ttyS0,115200

    This will cause a recursive hang printing the same line
    again and again:

    BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
    BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
    BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
    bootconsole [earlyser0] enabled
    Linux version 2.6.31-07863-gb64ada6 (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #16789 SMP Wed Sep 23 21:09:43 CEST 2009
    Linux version 2.6.31-07863-gb64ada6 (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #16789 SMP Wed Sep 23 21:09:43 CEST 2009
    Linux version 2.6.31-07863-gb64ada6 (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #16789 SMP Wed Sep 23 21:09:43 CEST 2009
    Linux version 2.6.31-07863-gb64ada6 (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #16789 SMP Wed Sep 23 21:09:43 CEST 2009
    Linux version 2.6.31-07863-gb64ada6 (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #16789 SMP Wed Sep 23 21:09:43 CEST 2009

    Instead warn the end user that they specified the device
    a second time, and ignore that second console.

    Reported-by: Ingo Molnar
    Signed-off-by: Jason Wessel
    Cc: Len Brown
    Cc: Greg KH
    Cc: Andrew Morton
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jason Wessel
     
  • Merge reason: Queueing up dependent early-printk fix.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • On modern systems, the kernel prints the message

    x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106

    once for every CPU.

    This gets kind of ridiculous on huge systems; for example, on a
    64-thread system I was lucky enough to get:

    dmesg| grep 'PAT enabled' | wc
    64 704 5174

    There is already a BUG() if non-boot CPUs have PAT capabilities
    that don't match the boot CPU, so just print the message on the
    boot CPU. (I kept the print after the wrmsrl() that enables PAT,
    so that the log output continues to mean that the system survived
    enabling PAT on the boot CPU)

    Signed-off-by: Roland Dreier
    Cc: Suresh Siddha
    Cc: Venkatesh Pallipadi
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Roland Dreier
     
  • On modern systems, the kernel prints the message

    Skipping synchronization checks as TSC is reliable.

    once for every non-boot CPU.

    This gets kind of ridiculous on huge systems; for example, on a
    64-thread system I was lucky enough to get:

    $ dmesg | grep 'TSC is reliable' | wc
    63 567 4221

    There's no point to doing this for every CPU, since the code is
    just checking the boot CPU anyway, so change this to a
    printk_once() to make the message appears only once.

    Signed-off-by: Roland Dreier
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Roland Dreier
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (39 commits)
    cpumask: Move deprecated functions to end of header.
    cpumask: remove unused deprecated functions, avoid accusations of insanity
    cpumask: use new-style cpumask ops in mm/quicklist.
    cpumask: use mm_cpumask() wrapper: x86
    cpumask: use mm_cpumask() wrapper: um
    cpumask: use mm_cpumask() wrapper: mips
    cpumask: use mm_cpumask() wrapper: mn10300
    cpumask: use mm_cpumask() wrapper: m32r
    cpumask: use mm_cpumask() wrapper: arm
    cpumask: Use accessors for cpu_*_mask: um
    cpumask: Use accessors for cpu_*_mask: powerpc
    cpumask: Use accessors for cpu_*_mask: mips
    cpumask: Use accessors for cpu_*_mask: m32r
    cpumask: remove arch_send_call_function_ipi
    cpumask: arch_send_call_function_ipi_mask: s390
    cpumask: arch_send_call_function_ipi_mask: powerpc
    cpumask: arch_send_call_function_ipi_mask: mips
    cpumask: arch_send_call_function_ipi_mask: m32r
    cpumask: arch_send_call_function_ipi_mask: alpha
    cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: ia64
    ...

    Linus Torvalds
     
  • * remove asm/atomic.h inclusion from linux/utsname.h --
    not needed after kref conversion
    * remove linux/utsname.h inclusion from files which do not need it

    NOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however
    due to some personality stuff it _is_ needed -- cowardly leave ELF-related
    headers and files alone.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Makes code futureproof against the impending change to mm->cpu_vm_mask (to be a pointer).

    It's also a chance to use the new cpumask_ ops which take a pointer
    (the older ones are deprecated, but there's no hurry for arch code).

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Now everyone is converted to arch_send_call_function_ipi_mask, remove
    the shim and the #defines.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • This snuck in after the patch which removed all the others.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • Remove open-coded zalloc_cpumask_var() and zalloc_cpumask_var_node().

    Signed-off-by: Li Zefan
    Signed-off-by: Rusty Russell

    Li Zefan
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits)
    Use macros for .data.page_aligned section.
    Use macros for .bss.page_aligned section.
    Use new __init_task_data macro in arch init_task.c files.
    kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts.
    arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0
    kbuild: add static to prototypes
    kbuild: fail build if recordmcount.pl fails
    kbuild: set -fconserve-stack option for gcc 4.5
    kbuild: echo the record_mcount command
    gconfig: disable "typeahead find" search in treeviews
    kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling
    checkincludes.pl: add option to remove duplicates in place
    markup_oops: use modinfo to avoid confusion with underscored module names
    checkincludes.pl: provide usage helper
    checkincludes.pl: close file as soon as we're done with it
    ctags: usability fix
    kernel hacking: move STRIP_ASM_SYMS from General
    gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma
    kbuild: Check if linker supports the -X option
    kbuild: introduce ld-option
    ...

    Fix trivial conflict in scripts/basic/fixdep.c

    Linus Torvalds
     
  • …nel/git/frob/linux-2.6-roland

    * 'x86/ptrace-syscall-exit' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    x86: ptrace: sysret path should reach syscall_trace_leave

    Linus Torvalds
     
  • * git://git.infradead.org/iommu-2.6: (23 commits)
    intel-iommu: Disable PMRs after we enable translation, not before
    intel-iommu: Kill DMAR_BROKEN_GFX_WA option.
    intel-iommu: Fix integer wrap on 32 bit kernels
    intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}()
    intel-iommu: Limit DOMAIN_MAX_PFN to fit in an 'unsigned long'
    intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS
    intel-iommu: Disallow interrupt remapping if not all ioapics covered
    intel-iommu: include linux/dmi.h to use dmi_ routines
    pci/dmar: correct off-by-one error in dmar_fault()
    intel-iommu: Cope with yet another BIOS screwup causing crashes
    intel-iommu: iommu init error path bug fixes
    intel-iommu: Mark functions with __init
    USB: Work around BIOS bugs by quiescing USB controllers earlier
    ia64: IOMMU passthrough mode shouldn't trigger swiotlb init
    intel-iommu: make domain_add_dev_info() call domain_context_mapping()
    intel-iommu: Unify hardware and software passthrough support
    intel-iommu: Cope with broken HP DC7900 BIOS
    iommu=pt is a valid early param
    intel-iommu: double kfree()
    intel-iommu: Kill pointless intel_unmap_single() function
    ...

    Fixed up trivial include lines conflict in drivers/pci/intel-iommu.c

    Linus Torvalds
     
  • * 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:
    SFI: remove unneeded includes
    sfi: Remove unused code
    SFI: Hook PCI MMCONFIG
    x86: add arch-specific SFI support
    SFI: add capability to parse ACPI tables
    SFI: add platform-independent core support
    SFI: create linux/sfi.h
    SFI: Simple Firmware Interface - MAINTAINERS, Kconfig

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (119 commits)
    ACPI: don't pass handle for fixed hardware notifications
    ACPI: remove null pointer checks in deferred execution path
    ACPI: simplify deferred execution path
    acerhdf: additional BIOS versions
    acerhdf: convert to dev_pm_ops
    acerhdf: fix fan control for AOA150 model
    thermal: add missing Kconfig dependency
    acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file
    hp-wmi: fix rfkill memory leak on unload
    ACPI: remove unnecessary #ifdef CONFIG_DMI
    ACPI: linux/acpi.h should not include linux/dmi.h
    hwmon driver for ACPI 4.0 power meters
    topstar-laptop: add new driver for hotkeys support on Topstar N01
    thinkpad_acpi: fix rfkill memory leak on unload
    thinkpad-acpi: report brightness events when required
    thinkpad-acpi: don't poll by default any of the reserved hotkeys
    thinkpad-acpi: Fix procfs hotkey reset command
    thinkpad-acpi: deprecate hotkey_bios_mask
    thinkpad-acpi: hotkey poll fixes
    thinkpad-acpi: be more strict when detecting a ThinkPad
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (142 commits)
    USB: Fix sysfs paths in documentation
    USB: skeleton: fix coding style issues.
    USB: O_NONBLOCK in read path of skeleton
    USB: make usb-skeleton honor O_NONBLOCK in write path
    USB: skel_read really sucks royally
    USB: Add hub descriptor update hook for xHCI
    USB: xhci: Support USB hubs.
    USB: xhci: Set multi-TT field for LS/FS devices under hubs.
    USB: xhci: Set route string for all devices.
    USB: xhci: Fix command wait list handling.
    USB: xhci: Change how xHCI commands are handled.
    USB: xhci: Refactor input device context setup.
    USB: xhci: Endpoint representation refactoring.
    USB: gadget: ether needs to select CRC32
    USB: fix USBTMC get_capabilities success handling
    USB: fix missing error check in probing
    USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag
    USB: support for autosuspend in sierra while online
    USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume
    USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY
    lguest: cleanup for map_switcher()
    lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
    lguest: use set_pte/set_pmd uniformly for real page table entries
    lguest: move panic notifier registration to its expected place.
    virtio_blk: add support for cache flush
    virtio: add virtio IDs file
    virtio: get rid of redundant VIRTIO_ID_9P definition
    virtio: make add_buf return capacity remaining
    virtio_pci: minor MSI-X cleanups

    Linus Torvalds
     
  • Use rdmsrl_safe() when accessing MCE registers. While in
    theory we always 'know' which ones are safe to access from
    the capability bits, there's a lot of hardware variations
    and reality might differ from theory, as it did in this case:

    http://bugzilla.kernel.org/show_bug.cgi?id=14204

    [ 0.010016] mce: CPU supports 5 MCE banks
    [ 0.011029] general protection fault: 0000 [#1]
    [ 0.011998] last sysfs file:
    [ 0.011998] Modules linked in:
    [ 0.011998]
    [ 0.011998] Pid: 0, comm: swapper Not tainted (2.6.31_router #1) HP Vectra
    [ 0.011998] EIP: 0060:[] EFLAGS: 00010246 CPU: 0
    [ 0.011998] EIP is at mce_rdmsrl+0x19/0x60
    [ 0.011998] EAX: 00000000 EBX: 00000001 ECX: 00000407 EDX: 08000000
    [ 0.011998] ESI: 00000000 EDI: 8c000000 EBP: 00000405 ESP: c17d5eac

    So WARN_ONCE() instead of crashing the box.

    ( also fix a number of stylistic inconsistencies in the code. )

    Note, we might still crash in wrmsrl() if we get that far, but
    we shouldnt if the registers are truly inaccessible.

    Reported-by: GNUtoo
    Cc: Hidetoshi Seto
    Cc: Huang Ying
    Cc: Andi Kleen
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

23 Sep, 2009

4 commits

  • * 'x86/orig_ax' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax>=0
    x86: ptrace: do not sign-extend orig_ax on write
    x86: syscall_get_nr returns int
    asm-generic: syscall_get_nr returns int

    Linus Torvalds
     
  • Some archs define MODULED_VADDR/MODULES_END which is not in VMALLOC area.
    This is handled only in x86-64. This patch make it more generic. And we
    can use vread/vwrite to access the area. Fix it.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Jiri Slaby
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • For /proc/kcore, each arch registers its memory range by kclist_add().
    In usual,

    - range of physical memory
    - range of vmalloc area
    - text, etc...

    are registered but "range of physical memory" has some troubles. It
    doesn't updated at memory hotplug and it tend to include unnecessary
    memory holes. Now, /proc/iomem (kernel/resource.c) includes required
    physical memory range information and it's properly updated at memory
    hotplug. Then, it's good to avoid using its own code(duplicating
    information) and to rebuild kclist for physical memory based on
    /proc/iomem.

    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Jiri Slaby
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: WANG Cong
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Some 64bit arch has special segment for mapping kernel text. It should be
    entried to /proc/kcore in addtion to direct-linear-map, vmalloc area.
    This patch unifies KCORE_TEXT entry scattered under x86 and ia64.

    I'm not familiar with other archs (mips has its own even after this patch)
    but range of [_stext ..._end) is a valid area of text and it's not in
    direct-map area, defining CONFIG_ARCH_PROC_KCORE_TEXT is only a necessary
    thing to do.

    Note: I left mips as it is now.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki