1. 15 1月, 2015 3 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 6fb400d3
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
       "Two small performance tweaks, the plumbing for the execveat system
        call and a couple of bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/uprobes: fix user space PER events
        s390/bpf: Fix JMP_JGE_X (A > X) and JMP_JGT_X (A >= X)
        s390/bpf: Fix ALU_NEG (A = -A)
        s390/mm: avoid using pmd_to_page for !USE_SPLIT_PMD_PTLOCKS
        s390/timex: fix get_tod_clock_ext() inline assembly
        s390: wire up execveat syscall
        s390/kernel: use stnsm 255 instead of stosm 0
        s390/vtime: Get rid of redundant WARN_ON
        s390/zcrypt: kernel oops at insmod of the z90crypt device driver
      6fb400d3
    • L
      Merge tag 'locks-v3.19-1' of git://git.samba.org/jlayton/linux · fb005c47
      Linus Torvalds 提交于
      Pull file locking fix from Jeff Layton:
       "Just a simple bugfix for a regression that I introduced into v3.18
        with the internal lease API overhaul -- mea culpa.  Kudos to Linda and
        Neil for tracking this down and fixing it"
      
      * tag 'locks-v3.19-1' of git://git.samba.org/jlayton/linux:
        locks: fix NULL-deref in generic_delete_lease
      fb005c47
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 31238e61
      Linus Torvalds 提交于
      Pull block layer fixes from Jens Axboe:
       "The major part is an update to the NVMe driver, fixing various issues
        around surprise removal and hung controllers.  Most of that is from
        Keith, and parts are simple blk-mq fixes or exports/additions of minor
        functions to aid this effort, and parts are changes directly to the
        NVMe driver.
      
        Apart from the above, this contains:
      
         - Small blk-mq change from me, killing an unused member of the
           hardware queue structure.
      
         - Small fix from Ming Lei, fixing up a few drivers that didn't
           properly check for ERR_PTR() returns from blk_mq_init_queue()"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        NVMe: Fix locking on abort handling
        NVMe: Start and stop h/w queues on reset
        NVMe: Command abort handling fixes
        NVMe: Admin queue removal handling
        NVMe: Reference count admin queue usage
        NVMe: Start all requests
        blk-mq: End unstarted requests on a dying queue
        blk-mq: Allow requests to never expire
        blk-mq: Add helper to abort requeued requests
        blk-mq: Let drivers cancel requeue_work
        blk-mq: Export if requests were started
        blk-mq: Wake tasks entering queue on dying
        blk-mq: get rid of ->cmd_size in the hardware queue
        block: fix checking return value of blk_mq_init_queue
        block: wake up waiters when a queue is marked dying
        NVMe: Fix double free irq
        blk-mq: Export freeze/unfreeze functions
        blk-mq: Exit queue on alloc failure
      31238e61
  2. 14 1月, 2015 7 次提交
  3. 13 1月, 2015 6 次提交
    • N
      locks: fix NULL-deref in generic_delete_lease · 52d304eb
      NeilBrown 提交于
      commit 0efaa7e8
        locks: generic_delete_lease doesn't need a file_lock at all
      
      moves the call to fl->fl_lmops->lm_change() to a place in the
      code where fl might be a non-lease lock.
      When that happens, fl_lmops is NULL and an Oops ensures.
      
      So add an extra test to restore correct functioning.
      Reported-by: NLinda Walsh <suse@tlinx.org>
      Link: https://bugzilla.suse.com/show_bug.cgi?id=912569
      Cc: stable@vger.kernel.org (v3.18)
      Fixes: 0efaa7e8Signed-off-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NJeff Layton <jlayton@primarydata.com>
      52d304eb
    • J
      x86/xen: properly retrieve NMI reason · f221b04f
      Jan Beulich 提交于
      Using the native code here can't work properly, as the hypervisor would
      normally have cleared the two reason bits by the time Dom0 gets to see
      the NMI (if passed to it at all). There's a shared info field for this,
      and there's an existing hook to use - just fit the two together. This
      is particularly relevant so that NMIs intended to be handled by APEI /
      GHES actually make it to the respective handler.
      
      Note that the hook can (and should) be used irrespective of whether
      being in Dom0, as accessing port 0x61 in a DomU would be even worse,
      while the shared info field would just hold zero all the time. Note
      further that hardware NMI handling for PVH doesn't currently work
      anyway due to missing code in the hypervisor (but it is expected to
      work the native rather than the PV way).
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Reviewed-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      f221b04f
    • L
      Merge tag 'gpio-v3.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 971780b7
      Linus Torvalds 提交于
      Pull gpio fixes from Linus Walleij:
       "Here are some GPIO fixes, mainly affecting the DLN2 IRQ handling.
        Nothing special about them, just fixes:
      
         - Three patches fixing IRQ handling for the DLN2
         - Null pointer handling for grgpio"
      
      * tag 'gpio-v3.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: dln2: use bus_sync_unlock instead of scheduling work
        gpio: grgpio: Avoid potential NULL pointer dereference
        gpio: dln2: Fix gpio output value in dln2_gpio_direction_output()
        gpio: dln2: fix issue when an IRQ is unmasked then enabled
      971780b7
    • L
      Merge tag 'mmc-v3.19-3' of git://git.linaro.org/people/ulf.hansson/mmc · 904a9802
      Linus Torvalds 提交于
      Pull MMC fixes from Ulf Hansson:
       "MMC host:
         - sdhci-pci|acpi: Support some new IDs
         - sdhci: Fix sleep from atomic context
         - sdhci-pxav3: Prevent hang during ->probe()
         - sdhci: Disable re-tuning for HS400"
      
      * tag 'mmc-v3.19-3' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: sdhci-pci: Add support for Intel SPT
        mmc: sdhci-acpi: Add ACPI HID INT344D
        mmc: sdhci: Fix sleep in atomic after inserting SD card
        mmc: sdhci-pxav3: do the mbus window configuration after enabling clocks
        mmc: sdhci: Disable re-tuning for HS400
        mmc: sdhci: Simplify use of tuning timer
        mmc: sdhci: Add out_unlock to sdhci_execute_tuning
        mmc: sdhci: Tuning should not change max_blk_count
      904a9802
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · fb43bd08
      Linus Torvalds 提交于
      Pull scsi target fixes from Nicholas Bellinger:
       "Mostly minor fixes this time, including:
      
         - Add missing virtio-scsi -> TCM attribute conversion in vhost-scsi.
         - Fix persistent reservations write exclusive handling to allow
           readers for all registered I_T nexuses.
         - Drop arbitrary maximum I/O size limit in order to process I/Os
           larger than 4 MB, required for initiators that don't honor block
           limits EVPD.
         - Drop the now left-over fabric_max_sectors attribute"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        iscsi-target: Fix typos in enum cmd_flags_table
        MAINTAINERS: Add entry for iSER target driver
        target: Allow Write Exclusive non-reservation holders to READ
        target: Drop left-over fabric_max_sectors attribute
        target: Drop arbitrary maximum I/O size limit
        Documentation/target: Update fabric_ops to latest code
        vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion
      fb43bd08
    • W
      mm: mmu_gather: use tlb->end != 0 only for TLB invalidation · 721c21c1
      Will Deacon 提交于
      When batching up address ranges for TLB invalidation, we check tlb->end
      != 0 to indicate that some pages have actually been unmapped.
      
      As of commit f045bbb9 ("mmu_gather: fix over-eager
      tlb_flush_mmu_free() calling"), we use the same check for freeing these
      pages in order to avoid a performance regression where we call
      free_pages_and_swap_cache even when no pages are actually queued up.
      
      Unfortunately, the range could have been reset (tlb->end = 0) by
      tlb_end_vma, which has been shown to cause memory leaks on arm64.
      Furthermore, investigation into these leaks revealed that the fullmm
      case on task exit no longer invalidates the TLB, by virtue of tlb->end
       == 0 (in 3.18, need_flush would have been set).
      
      This patch resolves the problem by reverting commit f045bbb9, using
      instead tlb->local.nr as the predicate for page freeing in
      tlb_flush_mmu_free and ensuring that tlb->end is initialised to a
      non-zero value in the fullmm case.
      Tested-by: NMark Langsdorf <mlangsdo@redhat.com>
      Tested-by: NDave Hansen <dave@sr71.net>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      721c21c1
  4. 12 1月, 2015 21 次提交
    • J
      xen: check for zero sized area when invalidating memory · 9a17ad7f
      Juergen Gross 提交于
      With the introduction of the linear mapped p2m list setting memory
      areas to "invalid" had to be delayed. When doing the invalidation
      make sure no zero sized areas are processed.
      Signed-off-by: NJuegren Gross <jgross@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      9a17ad7f
    • J
      xen: use correct type for physical addresses · e86f9496
      Juergen Gross 提交于
      When converting a pfn to a physical address be sure to use 64 bit
      wide types or convert the physical address to a pfn if possible.
      Signed-off-by: NJuergen Gross <jgross@suse.com>
      Tested-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      e86f9496
    • J
      xen: correct race in alloc_p2m_pmd() · f241b0b8
      Juergen Gross 提交于
      When allocating a new pmd for the linear mapped p2m list a check is
      done for not introducing another pmd when this just happened on
      another cpu. In this case the old pte pointer was returned which
      points to the p2m_missing or p2m_identity page. The correct value
      would be the pointer to the found new page.
      Signed-off-by: NJuergen Gross <jgross@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      f241b0b8
    • J
      xen: correct error for building p2m list on 32 bits · 82c92ed1
      Juergen Gross 提交于
      In xen_rebuild_p2m_list() for large areas of invalid or identity
      mapped memory the pmd entries on 32 bit systems are initialized
      wrong. Correct this error.
      Suggested-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NJuergen Gross <jgross@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      82c92ed1
    • J
      s390/uprobes: fix user space PER events · 8d1a2427
      Jan Willeke 提交于
      If uprobes are single stepped for example with gdb, the behavior should
      now be correct. Before this patch, when gdb was single stepping a uprobe,
      the result was a SIGILL.
      When PER is active for any storage alteration and a uprobe is hit, a storage
      alteration event is indicated. These over indications are filterd out by gdb,
      if no change has happened within the observed area.
      Signed-off-by: NJan Willeke <willeke@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      8d1a2427
    • A
      mmc: sdhci-pci: Add support for Intel SPT · 1f7f2652
      Adrian Hunter 提交于
      Add PCI IDs for SPT eMMC, SDIO and SD card.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      1f7f2652
    • A
      mmc: sdhci-acpi: Add ACPI HID INT344D · d0ed8e6b
      Adrian Hunter 提交于
      Add ACPI HID INT344D for an Intel SDIO host controller.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      d0ed8e6b
    • K
      mmc: sdhci: Fix sleep in atomic after inserting SD card · 2836766a
      Krzysztof Kozlowski 提交于
      Sleep in atomic context happened on Trats2 board after inserting or
      removing SD card because mmc_gpio_get_cd() was called under spin lock.
      
      Fix this by moving card detection earlier, before acquiring spin lock.
      The mmc_gpio_get_cd() call does not have to be protected by spin lock
      because it does not access any sdhci internal data.
      The sdhci_do_get_cd() call access host flags (SDHCI_DEVICE_DEAD). After
      moving it out side of spin lock it could theoretically race with driver
      removal but still there is no actual protection against manual card
      eject.
      
      Dmesg after inserting SD card:
      [   41.663414] BUG: sleeping function called from invalid context at drivers/gpio/gpiolib.c:1511
      [   41.670469] in_atomic(): 1, irqs_disabled(): 128, pid: 30, name: kworker/u8:1
      [   41.677580] INFO: lockdep is turned off.
      [   41.681486] irq event stamp: 61972
      [   41.684872] hardirqs last  enabled at (61971): [<c0490ee0>] _raw_spin_unlock_irq+0x24/0x5c
      [   41.693118] hardirqs last disabled at (61972): [<c04907ac>] _raw_spin_lock_irq+0x18/0x54
      [   41.701190] softirqs last  enabled at (61648): [<c0026fd4>] __do_softirq+0x234/0x2c8
      [   41.708914] softirqs last disabled at (61631): [<c00273a0>] irq_exit+0xd0/0x114
      [   41.716206] Preemption disabled at:[<  (null)>]   (null)
      [   41.721500]
      [   41.722985] CPU: 3 PID: 30 Comm: kworker/u8:1 Tainted: G        W      3.18.0-rc5-next-20141121 #883
      [   41.732111] Workqueue: kmmcd mmc_rescan
      [   41.735945] [<c0014d2c>] (unwind_backtrace) from [<c0011c80>] (show_stack+0x10/0x14)
      [   41.743661] [<c0011c80>] (show_stack) from [<c0489d14>] (dump_stack+0x70/0xbc)
      [   41.750867] [<c0489d14>] (dump_stack) from [<c0228b74>] (gpiod_get_raw_value_cansleep+0x18/0x30)
      [   41.759628] [<c0228b74>] (gpiod_get_raw_value_cansleep) from [<c03646e8>] (mmc_gpio_get_cd+0x38/0x58)
      [   41.768821] [<c03646e8>] (mmc_gpio_get_cd) from [<c036d378>] (sdhci_request+0x50/0x1a4)
      [   41.776808] [<c036d378>] (sdhci_request) from [<c0357934>] (mmc_start_request+0x138/0x268)
      [   41.785051] [<c0357934>] (mmc_start_request) from [<c0357cc8>] (mmc_wait_for_req+0x58/0x1a0)
      [   41.793469] [<c0357cc8>] (mmc_wait_for_req) from [<c0357e68>] (mmc_wait_for_cmd+0x58/0x78)
      [   41.801714] [<c0357e68>] (mmc_wait_for_cmd) from [<c0361c00>] (mmc_io_rw_direct_host+0x98/0x124)
      [   41.810480] [<c0361c00>] (mmc_io_rw_direct_host) from [<c03620f8>] (sdio_reset+0x2c/0x64)
      [   41.818641] [<c03620f8>] (sdio_reset) from [<c035a3d8>] (mmc_rescan+0x254/0x2e4)
      [   41.826028] [<c035a3d8>] (mmc_rescan) from [<c003a0e0>] (process_one_work+0x180/0x3f4)
      [   41.833920] [<c003a0e0>] (process_one_work) from [<c003a3bc>] (worker_thread+0x34/0x4b0)
      [   41.841991] [<c003a3bc>] (worker_thread) from [<c003fed8>] (kthread+0xe4/0x104)
      [   41.849285] [<c003fed8>] (kthread) from [<c000f268>] (ret_from_fork+0x14/0x2c)
      [   42.038276] mmc0: new high speed SDHC card at address 1234
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Fixes: 94144a46 ("mmc: sdhci: add get_cd() implementation")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      2836766a
    • T
      mmc: sdhci-pxav3: do the mbus window configuration after enabling clocks · aa8165f9
      Thomas Petazzoni 提交于
      In commit 5491ce3f ("mmc: sdhci-pxav3: add support for the Armada
      38x SDHCI controller"), the sdhci-pxav3 driver was extended to include
      support for the SDHCI controller found in the Armada 38x
      processor. This mainly involved adding some MBus window related
      configuration.
      
      However, this configuration is currently done too early in ->probe():
      it is done before clocks are enabled, while this configuration
      involves touching the registers of the controller, which will hang the
      SoC if the clock is disabled. It wasn't noticed until now because the
      bootloader typically leaves gatable clocks enabled, but in situations
      where we have a deferred probe (due to a CD GPIO that cannot be taken,
      for example), then the probe will be re-tried later, after a clock
      disable has been done in the exit path of the failed probe attempt of
      the device. This second probe() will hang the system due to the clock
      being disabled.
      
      This can for example be produced on Armada 385 GP, which has a CD GPIO
      connected to an I2C PCA9555. If the driver for the PCA9555 is not
      compiled into the kernel, then we will have the following sequence of
      events:
      
        1. The SDHCI probes
        2. It does the MBus configuration (which works, because the clock is
           left enabled by the bootloader)
        3. It enables the clock
        4. It tries to get the CD GPIO, which fails due to the driver being
           missing, so -EPROBE_DEFER is returned.
        5. Before returning -EPROBE_DEFER, the driver cleans up what was
           done, which includes disabling the clock.
        6. Later on, the SDHCI probe is tried again.
        7. It does the MBus configuration, which hangs because the clock is
           no longer enabled.
      
      This commit does the obvious fix of doing the MBus configuration after
      the clock has been enabled by the driver.
      
      Fixes: 5491ce3f ("mmc: sdhci-pxav3: add support for the Armada 38x SDHCI controller")
      Cc: <stable@vger.kernel.org> # v3.15+
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      aa8165f9
    • A
      mmc: sdhci: Disable re-tuning for HS400 · b5540ce1
      Adrian Hunter 提交于
      Re-tuning for HS400 mode must be done in HS200
      mode. Currently there is no support for that.
      That needs to be reflected in the code.
      Specifically, if tuning is executed in HS400 mode
      then return an error, and do not start the
      tuning timer if HS200 tuning is being done prior
      to switching to HS400.
      
      Note that periodic re-tuning is not expected
      to be needed for HS400 but re-tuning is still
      needed after the host controller has lost power.
      In the case of suspend/resume that is not necessary
      because the card is fully re-initialised. That
      just leaves runtime suspend/resume with no support
      for HS400 re-tuning.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      b5540ce1
    • A
      mmc: sdhci: Simplify use of tuning timer · 38e40bf5
      Adrian Hunter 提交于
      The tuning timer is always used if the tuning mode
      is 1 and there is a tuning count, irrespective of
      whether this is the first call, or any subsequent
      call. Consequently the logic to start the timer
      can be simplified.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Reviewed-by: NAaron Lu <aaron.lu@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      38e40bf5
    • A
      mmc: sdhci: Add out_unlock to sdhci_execute_tuning · d519c863
      Adrian Hunter 提交于
      A 'goto' can be used to save duplicating unlocking
      and returning.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Reviewed-by: NAaron Lu <aaron.lu@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      d519c863
    • A
      mmc: sdhci: Tuning should not change max_blk_count · ac00531d
      Adrian Hunter 提交于
      Re-tuning requires that the maximum data length
      is limited to 4MiB. The code currently changes
      max_blk_count in an attempt to achieve that.
      This is wrong because max_blk_count is a different
      limit, but it is also un-necessary because
      max_req_size is 512KiB anyway. Consequently, the
      changes to max_blk_count are removed and the
      comment for max_req_size adjusted accordingly.
      The comment is also tweaked to show that the 512KiB
      limit is a SDMA limit not an ADMA limit.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Reviewed-by: NAaron Lu <aaron.lu@intel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      ac00531d
    • L
      linux 3.19-rc4 · eaa27f34
      Linus Torvalds 提交于
      eaa27f34
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 0cbaed1d
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Three small fixes from over the Christmas period, and wiring up the
        new execveat syscall for ARM"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8275/1: mm: fix PMD_SECT_RDONLY undeclared compile error
        ARM: 8253/1: mm: use phys_addr_t type in map_lowmem() for kernel mem region
        ARM: 8249/1: mm: dump: don't skip regions
        ARM: wire up execveat syscall
      0cbaed1d
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 505569d2
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes: two vdso fixes, two kbuild fixes and a boot failure fix
        with certain odd memory mappings"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, vdso: Use asm volatile in __getcpu
        x86/build: Clean auto-generated processor feature files
        x86: Fix mkcapflags.sh bash-ism
        x86: Fix step size adjustment during initial memory mapping
        x86_64, vdso: Fix the vdso address randomization algorithm
      505569d2
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5ab551d6
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixes: group scheduling corner case fix, two deadline scheduler
        fixes, effective_load() overflow fix, nested sleep fix, 6144 CPUs
        system fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Fix RCU stall upon -ENOMEM in sched_create_group()
        sched/deadline: Avoid double-accounting in case of missed deadlines
        sched/deadline: Fix migration of SCHED_DEADLINE tasks
        sched: Fix odd values in effective_load() calculations
        sched, fanotify: Deal with nested sleeps
        sched: Fix KMALLOC_MAX_SIZE overflow during cpumask allocation
      5ab551d6
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ddb321a8
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Mostly tooling fixes, but also some kernel side fixes: uncore PMU
        driver fix, user regs sampling fix and an instruction decoder fix that
        unbreaks PEBS precise sampling"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes
        perf/x86_64: Improve user regs sampling
        perf: Move task_pt_regs sampling into arch code
        x86: Fix off-by-one in instruction decoder
        perf hists browser: Fix segfault when showing callchain
        perf callchain: Free callchains when hist entries are deleted
        perf hists: Fix children sort key behavior
        perf diff: Fix to sort by baseline field by default
        perf list: Fix --raw-dump option
        perf probe: Fix crash in dwarf_getcfi_elf
        perf probe: Fix to fall back to find probe point in symbols
        perf callchain: Append callchains only when requested
        perf ui/tui: Print backtrace symbols when segfault occurs
        perf report: Show progress bar for output resorting
      ddb321a8
    • L
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1e6c3e8f
      Linus Torvalds 提交于
      Pull locking fixes from Ingo Molnar:
       "A liblockdep fix and a mutex_unlock() mutex-debugging fix"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        mutex: Always clear owner field upon mutex_unlock()
        tools/liblockdep: Fix debug_check thinko in mutex destroy
      1e6c3e8f
    • K
      mm: fix corner case in anon_vma endless growing prevention · b800c91a
      Konstantin Khlebnikov 提交于
      Fix for BUG_ON(anon_vma->degree) splashes in unlink_anon_vmas() ("kernel
      BUG at mm/rmap.c:399!") caused by commit 7a3ef208 ("mm: prevent
      endless growth of anon_vma hierarchy")
      
      Anon_vma_clone() is usually called for a copy of source vma in
      destination argument.  If source vma has anon_vma it should be already
      in dst->anon_vma.  NULL in dst->anon_vma is used as a sign that it's
      called from anon_vma_fork().  In this case anon_vma_clone() finds
      anon_vma for reusing.
      
      Vma_adjust() calls it differently and this breaks anon_vma reusing
      logic: anon_vma_clone() links vma to old anon_vma and updates degree
      counters but vma_adjust() overrides vma->anon_vma right after that.  As
      a result final unlink_anon_vmas() decrements degree for wrong anon_vma.
      
      This patch assigns ->anon_vma before calling anon_vma_clone().
      Signed-off-by: NKonstantin Khlebnikov <koct9i@gmail.com>
      Reported-and-tested-by: NChris Clayton <chris2553@googlemail.com>
      Reported-and-tested-by: NOded Gabbay <oded.gabbay@amd.com>
      Reported-and-tested-by: NChih-Wei Huang <cwhuang@android-x86.org>
      Acked-by: NRik van Riel <riel@redhat.com>
      Acked-by: NVlastimil Babka <vbabka@suse.cz>
      Cc: Daniel Forrest <dan.forrest@ssec.wisc.edu>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: stable@vger.kernel.org  # to match back-porting of 7a3ef208Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b800c91a
    • L
      mm: Don't count the stack guard page towards RLIMIT_STACK · 690eac53
      Linus Torvalds 提交于
      Commit fee7e49d ("mm: propagate error from stack expansion even for
      guard page") made sure that we return the error properly for stack
      growth conditions.  It also theorized that counting the guard page
      towards the stack limit might break something, but also said "Let's see
      if anybody notices".
      
      Somebody did notice.  Apparently android-x86 sets the stack limit very
      close to the limit indeed, and including the guard page in the rlimit
      check causes the android 'zygote' process problems.
      
      So this adds the (fairly trivial) code to make the stack rlimit check be
      against the actual real stack size, rather than the size of the vma that
      includes the guard page.
      Reported-and-tested-by: NChih-Wei Huang <cwhuang@android-x86.org>
      Cc: Jay Foad <jay.foad@gmail.com>
      Cc: stable@kernel.org  # to match back-porting of fee7e49dSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      690eac53
  5. 11 1月, 2015 3 次提交