1. 16 9月, 2009 19 次提交
    • W
      HWPOISON: check and isolate corrupted free pages v2 · 2a7684a2
      Wu Fengguang 提交于
      If memory corruption hits the free buddy pages, we can safely ignore them.
      No one will access them until page allocation time, then prep_new_page()
      will automatically check and isolate PG_hwpoison page for us (for 0-order
      allocation).
      
      This patch expands prep_new_page() to check every component page in a high
      order page allocation, in order to completely stop PG_hwpoison pages from
      being recirculated.
      
      Note that the common case -- only allocating a single page, doesn't
      do any more work than before. Allocating > order 0 does a bit more work,
      but that's relatively uncommon.
      
      This simple implementation may drop some innocent neighbor pages, hopefully
      it is not a big problem because the event should be rare enough.
      
      This patch adds some runtime costs to high order page users.
      
      [AK: Improved description]
      
      v2: Andi Kleen:
      Port to -mm code
      Move check into separate function.
      Don't dump stack in bad_pages for hwpoisoned pages.
      Signed-off-by: NWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      2a7684a2
    • A
      HWPOISON: Handle hardware poisoned pages in try_to_unmap · 888b9f7c
      Andi Kleen 提交于
      When a page has the poison bit set replace the PTE with a poison entry.
      This causes the right error handling to be done later when a process runs
      into it.
      
      v2: add a new flag to not do that (needed for the memory-failure handler
      later) (Fengguang)
      v3: remove unnecessary is_migration_entry() test (Fengguang, Minchan)
      Reviewed-by: NMinchan Kim <minchan.kim@gmail.com>
      Reviewed-by: NWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      888b9f7c
    • A
      HWPOISON: Use bitmask/action code for try_to_unmap behaviour · 14fa31b8
      Andi Kleen 提交于
      try_to_unmap currently has multiple modi (migration, munlock, normal unmap)
      which are selected by magic flag variables. The logic is not very straight
      forward, because each of these flag change multiple behaviours (e.g.
      migration turns off aging, not only sets up migration ptes etc.)
      Also the different flags interact in magic ways.
      
      A later patch in this series adds another mode to try_to_unmap, so
      this becomes quickly unmanageable.
      
      Replace the different flags with a action code (migration, munlock, munmap)
      and some additional flags as modifiers (ignore mlock, ignore aging).
      This makes the logic more straight forward and allows easier extension
      to new behaviours. Change all the caller to declare what they want to
      do.
      
      This patch is supposed to be a nop in behaviour. If anyone can prove
      it is not that would be a bug.
      
      Cc: Lee.Schermerhorn@hp.com
      Cc: npiggin@suse.de
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      14fa31b8
    • A
      HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2 · a6e04aa9
      Andi Kleen 提交于
      Add VM_FAULT_HWPOISON handling to the x86 page fault handler. This is
      very similar to VM_FAULT_OOM, the only difference is that a different
      si_code is passed to user space and the new addr_lsb field is initialized.
      
      v2: Make the printk more verbose/unique
      
      Cc: x86@kernel.org
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      a6e04aa9
    • A
      HWPOISON: Add poison check to page fault handling · a3b947ea
      Andi Kleen 提交于
      Bail out early when hardware poisoned pages are found in page fault handling.
      Since they are poisoned they should not be mapped freshly into processes,
      because that would cause another (potentially deadly) machine check
      
      This is generally handled in the same way as OOM, just a different
      error code is returned to the architecture code.
      
      v2: Do a page unlock if needed (Fengguang Wu)
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      a3b947ea
    • A
      HWPOISON: Add basic support for poisoned pages in fault handler v3 · d1737fdb
      Andi Kleen 提交于
      - Add a new VM_FAULT_HWPOISON error code to handle_mm_fault. Right now
      architectures have to explicitely enable poison page support, so
      this is forward compatible to all architectures. They only need
      to add it when they enable poison page support.
      - Add poison page handling in swap in fault code
      
      v2: Add missing delayacct_clear_flag (Hidehiro Kawai)
      v3: Really use delayacct_clear_flag (Hidehiro Kawai)
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      d1737fdb
    • A
      HWPOISON: Add new SIGBUS error codes for hardware poison signals · ad5fa913
      Andi Kleen 提交于
      Add new SIGBUS codes for reporting machine checks as signals. When
      the hardware detects an uncorrected ECC error it can trigger these
      signals.
      
      This is needed for telling KVM's qemu about machine checks that happen to
      guests, so that it can inject them, but might be also useful for other programs.
      I find it useful in my test programs.
      
      This patch merely defines the new types.
      
      - Define two new si_codes for SIGBUS.  BUS_MCEERR_AO and BUS_MCEERR_AR
      * BUS_MCEERR_AO is for "Action Optional" machine checks, which means that some
      corruption has been detected in the background, but nothing has been consumed
      so far. The program can ignore those if it wants (but most programs would
      already get killed)
      * BUS_MCEERR_AR is for "Action Required" machine checks. This happens
      when corrupted data is consumed or the application ran into an area
      which has been known to be corrupted earlier. These require immediate
      action and cannot just returned to. Most programs would kill themselves.
      - They report the address of the corruption in the user address space
      in si_addr.
      - Define a new si_addr_lsb field that reports the extent of the corruption
      to user space. That's currently always a (small) page. The user application
      cannot tell where in this page the corruption happened.
      
      AK: I plan to write a man page update before anyone asks.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      ad5fa913
    • A
      HWPOISON: Add support for poison swap entries v2 · a7420aa5
      Andi Kleen 提交于
      Memory migration uses special swap entry types to trigger special actions on
      page faults. Extend this mechanism to also support poisoned swap entries, to
      trigger poison handling on page faults. This allows follow-on patches to
      prevent processes from faulting in poisoned pages again.
      
      v2: Fix overflow in MAX_SWAPFILES (Fengguang Wu)
      v3: Better overflow fix (Hidehiro Kawai)
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      a7420aa5
    • A
      HWPOISON: Export some rmap vma locking to outside world · 10be22df
      Andi Kleen 提交于
      Needed for later patch that walks rmap entries on its own.
      
      This used to be very frowned upon, but memory-failure.c does
      some rather specialized rmap walking and rmap has been stable
      for quite some time, so I think it's ok now to export it.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      10be22df
    • A
      HWPOISON: Add page flag for poisoned pages · d466f2fc
      Andi Kleen 提交于
      Hardware poisoned pages need special handling in the VM and shouldn't be
      touched again. This requires a new page flag. Define it here.
      
      The page flags wars seem to be over, so it shouldn't be a problem
      to get a new one.
      
      v2: Add TestSetHWPoison (suggested by Johannes Weiner)
      Acked-by: NChristoph Lameter <cl@linux.com>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      d466f2fc
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 · 0cb583fd
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6:
        ide: fixup for fujitsu disk
        ide: convert to ->proc_fops
        at91_ide: remove headers specific for at91sam9263
        IDE: palm_bk3710: convert clock usage after clkdev conversion
        ide: fix races in handling of user-space SET XFER commands
        ide: allow ide_dev_read_id() to be called from the IRQ context
        ide: ide-taskfile.c fix style problems
        drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST
        ide-tape: fix handling of postponed rqs
        ide-tape: convert to ide_debug_log macro
        ide-tape: fix debug call
        ide: Fix annoying warning in ide_pio_bytes().
        IDE: Save a call to PageHighMem()
      0cb583fd
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 723e9db7
      Linus Torvalds 提交于
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (134 commits)
        powerpc/nvram: Enable use Generic NVRAM driver for different size chips
        powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline
        powerpc/ps3: Workaround for flash memory I/O error
        powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead
        powerpc/perf_counters: Reduce stack usage of power_check_constraints
        powerpc: Fix bug where perf_counters breaks oprofile
        powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops
        powerpc/irq: Improve nanodoc
        powerpc: Fix some late PowerMac G5 with PCIe ATI graphics
        powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT
        powerpc/book3e: Add missing page sizes
        powerpc/pseries: Fix to handle slb resize across migration
        powerpc/powermac: Thermal control turns system off too eagerly
        powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan()
        powerpc/405ex: support cuImage via included dtb
        powerpc/405ex: provide necessary fixup function to support cuImage
        powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC
        powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support.
        powerpc/44x: Update Arches defconfig
        powerpc/44x: Update Arches dts
        ...
      
      Fix up conflicts in drivers/char/agp/uninorth-agp.c
      723e9db7
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · ada3fa15
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)
        powerpc64: convert to dynamic percpu allocator
        sparc64: use embedding percpu first chunk allocator
        percpu: kill lpage first chunk allocator
        x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
        percpu: update embedding first chunk allocator to handle sparse units
        percpu: use group information to allocate vmap areas sparsely
        vmalloc: implement pcpu_get_vm_areas()
        vmalloc: separate out insert_vmalloc_vm()
        percpu: add chunk->base_addr
        percpu: add pcpu_unit_offsets[]
        percpu: introduce pcpu_alloc_info and pcpu_group_info
        percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward
        percpu: add @align to pcpu_fc_alloc_fn_t
        percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()
        percpu: drop @static_size from first chunk allocators
        percpu: generalize first chunk allocator selection
        percpu: build first chunk allocators selectively
        percpu: rename 4k first chunk allocator to page
        percpu: improve boot messages
        percpu: fix pcpu_reclaim() locking
        ...
      
      Fix trivial conflict as by Tejun Heo in kernel/sched.c
      ada3fa15
    • N
      Nicolas Pitre has a new email address · 2f82af08
      Nicolas Pitre 提交于
      Due to problems at cam.org, my nico@cam.org email address is no longer
      valid.  FRom now on, nico@fluxnic.net should be used instead.
      Signed-off-by: NNicolas Pitre <nico@fluxnic.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f82af08
    • L
      Merge branch 'perfcounters-fixes-for-linus' of... · f199fd99
      Linus Torvalds 提交于
      Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf_counter: Fix buffer overflow in perf_copy_attr()
      f199fd99
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 043fe50f
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (213 commits)
        V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2
        V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler
        V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed
        V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object
        V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object
        V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object
        V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111
        V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors.
        V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968
        V4L/DVB (12703): gspca - sn9c20x: Reduces size of object
        V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors
        V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e.
        V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r.
        V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r.
        V4L/DVB (12693): gspca - sunplus: The brightness is signed.
        V4L/DVB (12692): gspca - sunplus: Optimize code.
        V4L/DVB (12691): gspca - sonixj: Don't use mdelay().
        V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added.
        V4L/DVB (12686): dvb-core: check supported QAM modulations
        V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value
        ...
      043fe50f
    • L
      Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 22742390
      Linus Torvalds 提交于
      * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, pat: Fix cacheflush address in change_page_attr_set_clr()
        mm: remove !NUMA condition from PAGEFLAGS_EXTENDED condition set
        x86: Fix earlyprintk=dbgp for machines without NX
        x86, pat: Sanity check remap_pfn_range for RAM region
        x86, pat: Lookup the protection from memtype list on vm_insert_pfn()
        x86, pat: Add lookup_memtype to get the current memtype of a paddr
        x86, pat: Use page flags to track memtypes of RAM pages
        x86, pat: Generalize the use of page flag PG_uncached
        x86, pat: Add rbtree to do quick lookup in memtype tracking
        x86, pat: Add PAT reserve free to io_mapping* APIs
        x86, pat: New i/f for driver to request memtype for IO regions
        x86, pat: ioremap to follow same PAT restrictions as other PAT users
        x86, pat: Keep identity maps consistent with mmaps even when pat_disabled
        x86, mtrr: make mtrr_aps_delayed_init static bool
        x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init
        generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled
        x86: Fix an incorrect argument of reserve_bootmem()
        x86: Fix system crash when loading with "reservetop" parameter
      22742390
    • L
      Merge branch 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 1aaf2e59
      Linus Torvalds 提交于
      * 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, intel_txt: clean up the impact on generic code, unbreak non-x86
        x86, intel_txt: Handle ACPI_SLEEP without X86_TRAMPOLINE
        x86, intel_txt: Fix typos in Kconfig help
        x86, intel_txt: Factor out the code for S3 setup
        x86, intel_txt: tboot.c needs <asm/fixmap.h>
        intel_txt: Force IOMMU on for Intel TXT launch
        x86, intel_txt: Intel TXT Sx shutdown support
        x86, intel_txt: Intel TXT reboot/halt shutdown support
        x86, intel_txt: Intel TXT boot support
      1aaf2e59
    • L
      Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 · 66a4fe0c
      Linus Torvalds 提交于
      * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:
        agp/intel: remove restore in resume
        agp: fix uninorth build
        intel-agp: Set dma mask for i915
        agp: kill phys_to_gart() and gart_to_phys()
        intel-agp: fix sglist allocation to avoid vmalloc()
        intel-agp: Move repeated sglist free into separate function
        agp: Switch agp_{un,}map_page() to take struct page * argument
        agp: tidy up handling of scratch pages w.r.t. DMA API
        intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU
        agp: Add generic support for graphics dma remapping
        agp: Switch mask_memory() method to take address argument again, not page
      66a4fe0c
  2. 15 9月, 2009 21 次提交
    • W
      ide: fixup for fujitsu disk · a2d10568
      Wu Zhangjin 提交于
      This patch will fix the following problem on Yeeloong netbook with
      fujitsu disk.
      
      irq 14: nobody cared (try booting with the "irqpoll" option)
      Call Trace:
      [<ffffffff8020d438>] dump_stack+0x8/0x40
      [<ffffffff8027ec64>] __report_bad_irq+0x58/0xe4
      [<ffffffff8027ee6c>] note_interrupt+0x17c/0x23c
      [<ffffffff8027f9b8>] handle_level_irq+0xcc/0x134
      [<ffffffff802125b0>] mach_irq_dispatch+0xb8/0x1e0
      [<ffffffff8020041c>] ret_from_irq+0x0/0x4
      [<ffffffff8029e678>] free_hot_cold_page+0x224/0x2a0
      [<ffffffff8026f794>] swsusp_free+0xb0/0x14c
      [<ffffffff8026ec08>] hibernate+0x198/0x218
      [<ffffffff8026cfa8>] state_store+0x90/0x138
      [<ffffffff8032b5a4>] sysfs_write_file+0x130/0x194
      [<ffffffff802c94fc>] vfs_write+0xb8/0x180
      [<ffffffff802c96b8>] SyS_write+0x50/0x98
      [<ffffffff80203fd8>] handle_sys+0x158/0x174
      
      handlers:
      [<ffffffff80429670>] (ide_intr+0x0/0x300)
      Disabling IRQ #14
      
      References:
      
      1. commit 1fde02e7146d4a1bab80fd1506f9018fe71e8521 of
      git://dev.lemote.com/linux_loongson.git
      2. 8bc1e5aa (ide: respect quirk_drives[]
      list on all controllers)
      Signed-off-by: NYan Hua <yanh@lemote.com>
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2d10568
    • X
      perf_counter: Fix buffer overflow in perf_copy_attr() · b3e62e35
      Xiao Guangrong 提交于
      If we pass a big size data over perf_counter_open() syscall,
      the kernel will copy this data to a small buffer, it will
      cause kernel crash.
      
      This bug makes the kernel unsafe and non-root local user can
      trigger it.
      Signed-off-by: NXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Cc: <stable@kernel.org>
      LKML-Reference: <4AAF37D4.5010706@cn.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b3e62e35
    • L
      Merge branch 'for-linus3' of... · 18240904
      Linus Torvalds 提交于
      Merge branch 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX
        KEYS: Fix garbage collector
        KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent
        CRED: Allow put_cred() to cope with a NULL groups list
        SELinux: flush the avc before disabling SELinux
        SELinux: seperate avc_cache flushing
        Creds: creds->security can be NULL is selinux is disabled
      18240904
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · f86054c2
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (23 commits)
        at_hdmac: Rework suspend_late()/resume_early()
        PM: Reset transition_started at dpm_resume_noirq
        PM: Update kerneldoc comments in drivers/base/power/main.c
        PM: Add convenience macro to make switching to dev_pm_ops less error-prone
        hp-wmi: Switch driver to dev_pm_ops
        floppy: Switch driver to dev_pm_ops
        PM: Trivial fixes
        PM / Hibernate / Memory hotplug: Always use for_each_populated_zone()
        PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2)
        PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2)
        PM/Hibernate: Rework shrinking of memory
        PM: Fix typo in label name s/Platofrm_finish/Platform_finish/
        PM: Run-time PM platform device bus support
        PM: Introduce core framework for run-time PM of I/O devices (rev. 17)
        Driver Core: Make PM operations a const pointer
        PM: Remove platform device suspend_late()/resume_early() V2
        USB: Rework musb suspend()/resume_early()
        I2C: Rework i2c-s3c2410 suspend_late()/resume() V2
        I2C: Rework i2c-pxa suspend_late()/resume_early()
        DMA: Rework txx9dmac suspend_late()/resume_early()
        ...
      
      Fix trivial conflict in drivers/base/platform.c (due to same
      constification patch being merged in both sides, along with some other
      PM work in the PM branch)
      f86054c2
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig · c91d7d54
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig:
        kconfig: add missing dependency of conf to localyesconfig
        kconfig: test if a .config already exists
        kconfig: make local .config default for streamline_config
        kconfig: test for /boot/config-uname after /proc/config.gz in localconfig
        kconfig: unset IKCONFIG_PROC and clean up nesting
        kconfig: search for a config to base the local(mod|yes)config on
        kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set
        kconfig: have extract-ikconfig read ELF files
        kconfig: add check if end exists in extract-ikconfig
        kconfig: enable CONFIG_IKCONFIG from streamline_config.pl
        kconfig: do not warn about modules built in
        kconfig: streamline_config.pl do not stop with no depends
        kconfig: add make localyesconfig option
        kconfig: make localmodconfig to run streamline_config.pl
        kconfig: add streamline_config.pl to scripts
      c91d7d54
    • D
      V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 · ea47689e
      Douglas Schilling Landgraf 提交于
      Added Kworld DVD Maker 2
      Thanks to C Western <l@c-m-w.me.uk> for reporting this board.
      Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      ea47689e
    • E
      SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX · 8a478905
      Eric Paris 提交于
      Without this patch building a kernel emits millions of warning like:
      
      include/linux/selinux.h:92: warning: ?selinux_is_enabled? defined but not used
      
      When it is build without CONFIG_SECURITY_SELINUX.  This is harmless, but
      the function should be inlined, so it gets compiled out.
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NJames Morris <jmorris@namei.org>
      8a478905
    • T
      Merge branch 'for-next' into for-linus · 5579fd7e
      Tejun Heo 提交于
      * pcpu_chunk_page_occupied() doesn't exist in for-next.
      * pcpu_chunk_addr_search() updated to use raw_smp_processor_id().
      
      Conflicts:
      	mm/percpu.c
      5579fd7e
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 133309a8
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (52 commits)
        Input: bcm5974 - silence uninitialized variables warnings
        Input: wistron_btns - add keymap for AOpen 1557
        Input: psmouse - use boolean type
        Input: i8042 - use platform_driver_probe
        Input: i8042 - use boolean type where it makes sense
        Input: i8042 - try disabling and re-enabling AUX port at close
        Input: pxa27x_keypad - allow modifying keymap from userspace
        Input: sunkbd - fix formatting
        Input: i8042 - bypass AUX IRQ delivery test on laptops
        Input: wacom_w8001 - simplify querying logic
        Input: atkbd - allow setting force-release bitmap via sysfs
        Input: w90p910_keypad - move a dereference below a NULL test
        Input: add twl4030_keypad driver
        Input: matrix-keypad - add function to build device keymap
        Input: tosakbd - fix cleaning up KEY_STROBEs after error
        Input: joydev - validate axis/button maps before clobbering current ones
        Input: xpad - add USB ID for the drumkit controller from Rock Band
        Input: w90p910_keypad - rename driver name to match platform
        Input: add new driver for Sentelic Finger Sensing Pad
        Input: psmouse - allow defining read-only attributes
        ...
      133309a8
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 5489375d
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: completely remove apple mightymouse from blacklist
        HID: support larger reports than 64 bytes in hiddev
        HID: local function should be static
        HID: ignore Philips IEEE802.15.4 RF Dongle
        HID: ignore all recent SoundGraph iMON devices
        HID: fix memory leak on error patch in debug code
        HID: fix overrun in quirks initialization
        HID: Drop NULL test on list_entry result
        HID: driver for Twinhan USB 6253:0100 remote control
        HID: adding __init/__exit macros to module init/exit functions
        HID: add rumble support for Thrustmaster Dual Trigger 3-in-1
        HID: ntrig tool separation and pen usages
        HID: Avoid double spin_lock_init on usbhid->lock
        HID: add force feedback support for Logitech WingMan Formula Force GP
        HID: Support new variants of Samsung USB IR receiver (0419:0001)
        HID: fix memory leak on error path in debug code
        HID: fix debugfs build with !CONFIG_DEBUG_FS
        HID: use debugfs for events/reports dumping
        HID: use debugfs for report dumping descriptor
      5489375d
    • L
      Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block · 355bbd8c
      Linus Torvalds 提交于
      * 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block: (29 commits)
        block: use blkdev_issue_discard in blk_ioctl_discard
        Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads
        block: don't assume device has a request list backing in nr_requests store
        block: Optimal I/O limit wrapper
        cfq: choose a new next_req when a request is dispatched
        Seperate read and write statistics of in_flight requests
        aoe: end barrier bios with EOPNOTSUPP
        block: trace bio queueing trial only when it occurs
        block: enable rq CPU completion affinity by default
        cfq: fix the log message after dispatched a request
        block: use printk_once
        cciss: memory leak in cciss_init_one()
        splice: update mtime and atime on files
        block: make blk_iopoll_prep_sched() follow normal 0/1 return convention
        cfq-iosched: get rid of must_alloc flag
        block: use interrupts disabled version of raise_softirq_irqoff()
        block: fix comment in blk-iopoll.c
        block: adjust default budget for blk-iopoll
        block: fix long lines in block/blk-iopoll.c
        block: add blk-iopoll, a NAPI like approach for block devices
        ...
      355bbd8c
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · 39695224
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (209 commits)
        [SCSI] fix oops during scsi scanning
        [SCSI] libsrp: fix memory leak in srp_ring_free()
        [SCSI] libiscsi, bnx2i: make bound ep check common
        [SCSI] libiscsi: add completion function for drivers that do not need pdu processing
        [SCSI] scsi_dh_rdac: changes for rdac debug logging
        [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization
        [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach
        [SCSI] sg: fix oops in the error path in sg_build_indirect()
        [SCSI] mptsas : Bump version to 3.04.12
        [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command
        [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device
        [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic
        [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off
        [SCSI] mptsas : Sanity check for phyinfo is added
        [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530
        [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller
        [SCSI] qla2xxx: Update version number to 8.03.01-k6.
        [SCSI] qla2xxx: Properly delete rports attached to a vport.
        [SCSI] qla2xxx: Correct various NPIV issues.
        [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly.
        ...
      39695224
    • L
      Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 · a9bbd210
      Linus Torvalds 提交于
      * 'docs-next' of git://git.lwn.net/linux-2.6:
        Document the flex_array library.
        Doc: seq_file.txt fix wrong dd command example.
      a9bbd210
    • L
      Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm · 2ca7d674
      Linus Torvalds 提交于
      * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (257 commits)
        [ARM] Update mach-types
        ARM: 5636/1: Move vendor enum to AMBA include
        ARM: Fix pfn_valid() for sparse memory
        [ARM] orion5x: Add LaCie NAS 2Big Network support
        [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume
        ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board
        ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board
        ARM: 5689/1: Update default config of HP Jornada 700-series machines
        ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem
        ARM: 5688/1: ks8695_serial: disable_irq() lockup
        ARM: 5687/1: fix an oops with highmem
        ARM: 5684/1: Add nuc960 platform to w90x900
        ARM: 5683/1: Add nuc950 platform to w90x900
        ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform
        ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver
        ARM: 5625/1: fix hard coded 4K resource size in amba bus detection
        MMC: MMCI: convert realview MMC to use gpiolib
        ARM: 5685/1: Make MMCI driver compile without gpiolib
        ARM: implement highpte
        ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ
        ...
      
      Fix up trivial conflict in arch/arm/kernel/signal.c.
      
      It was due to the TIF_NOTIFY_RESUME addition in commit d0420c83 ("KEYS:
      Extend TIF_NOTIFY_RESUME to (almost) all architectures") and follow-ups.
      2ca7d674
    • H
      fix undefined reference to user_shm_unlock · 2195d281
      Hugh Dickins 提交于
      My 353d5c30 "mm: fix hugetlb bug due to
      user_shm_unlock call" broke the CONFIG_SYSVIPC !CONFIG_MMU build of both
      2.6.31 and 2.6.30.6: "undefined reference to `user_shm_unlock'".
      
      gcc didn't understand my comment! so couldn't figure out to optimize
      away user_shm_unlock() from the error path in the hugetlb-less case, as
      it does elsewhere.  Help it to do so, in a language it understands.
      Reported-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NHugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2195d281
    • L
      Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 69def9f0
      Linus Torvalds 提交于
      * 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (202 commits)
        MAINTAINERS: update KVM entry
        KVM: correct error-handling code
        KVM: fix compile warnings on s390
        KVM: VMX: Check cpl before emulating debug register access
        KVM: fix misreporting of coalesced interrupts by kvm tracer
        KVM: x86: drop duplicate kvm_flush_remote_tlb calls
        KVM: VMX: call vmx_load_host_state() only if msr is cached
        KVM: VMX: Conditionally reload debug register 6
        KVM: Use thread debug register storage instead of kvm specific data
        KVM guest: do not batch pte updates from interrupt context
        KVM: Fix coalesced interrupt reporting in IOAPIC
        KVM guest: fix bogus wallclock physical address calculation
        KVM: VMX: Fix cr8 exiting control clobbering by EPT
        KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp
        KVM: Document KVM_CAP_IRQCHIP
        KVM: Protect update_cr8_intercept() when running without an apic
        KVM: VMX: Fix EPT with WP bit change during paging
        KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors
        KVM: x86 emulator: Add adc and sbb missing decoder flags
        KVM: Add missing #include
        ...
      69def9f0
    • A
      cleanup console_print() · 353f6dd2
      Anirban Sinha 提交于
      console_print() is an old legacy interface mostly unused in the entire
      kernel tree. It's best to clean up its existing use and let developers
      use their own implementation of it as they feel fit.
      Signed-off-by: NAnirban Sinha <asinha@zeugmasystems.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      353f6dd2
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · bb193c98
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        slub: fix slab_pad_check()
        slub: release kobject if sysfs_create_group failed in sysfs_slab_add
        SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256
        SLUB: Fix some coding style issues
        SLUB: Drop write permission to /proc/slabinfo
        slab: remove duplicate kmem_cache_init_late() declarations
        slub: change kmem_cache->align to record the real alignment
        slub: use size and objsize orders to disable debug flags
        slub: add option to disable higher order debugging slabs
      bb193c98
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · f65ac45e
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        x86, mce: do not compile mcelog message on AMD
        EDAC, AMD: decode FR MCEs
        EDAC, AMD: decode load store MCEs
        EDAC, AMD: decode bus unit MCEs
        EDAC, AMD: decode instruction cache MCEs
        EDAC, AMD: decode data cache MCEs
        EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode
        EDAC, AMD: carve out MCi_STATUS decoding
        x86, mce: pass mce info to EDAC for decoding
        amd64_edac: cleanup amd64_decode_bus_error
        amd64_edac: remove memory and GART TLB error decoders
        amd64_edac: cleanup/complete NB MCE decoding
        amd64_edac: cleanup amd64_process_error_info
        EDAC: beef up ErrorCodeExt error signatures
        EDAC: move MCE error descriptions to EDAC core
      f65ac45e
    • D
      KEYS: Fix garbage collector · c08ef808
      David Howells 提交于
      Fix a number of problems with the new key garbage collector:
      
       (1) A rogue semicolon in keyring_gc() was causing the initial count of dead
           keys to be miscalculated.
      
       (2) A missing return in keyring_gc() meant that under certain circumstances,
           the keyring semaphore would be unlocked twice.
      
       (3) The key serial tree iterator (key_garbage_collector()) part of the garbage
           collector has been modified to:
      
           (a) Complete each scan of the keyrings before setting the new timer.
      
           (b) Only set the new timer for keys that have yet to expire.  This means
               that the new timer is now calculated correctly, and the gc doesn't
               get into a loop continually scanning for keys that have expired, and
               preventing other things from happening, like RCU cleaning up the old
               keyring contents.
      
           (c) Perform an extra scan if any keys were garbage collected in this one
           	 as a key might become garbage during a scan, and (b) could mean we
           	 don't set the timer again.
      
       (4) Made key_schedule_gc() take the time at which to do a collection run,
           rather than the time at which the key expires.  This means the collection
           of dead keys (key type unregistered) can happen immediately.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJames Morris <jmorris@namei.org>
      c08ef808
    • M
      KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent · 5c84342a
      Marc Dionne 提交于
      When we exit early from keyctl_session_to_parent because of permissions or
      because the session keyring is the same as the parent, we need to unlock the
      tasklist.
      
      The missing unlock causes the system to hang completely when using
      keyctl(KEYCTL_SESSION_TO_PARENT) with a keyring shared with the parent.
      Signed-off-by: NMarc Dionne <marc.c.dionne@gmail.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJames Morris <jmorris@namei.org>
      5c84342a