Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #22

Merged
merged 268 commits into from
Jan 13, 2015
Merged

Sync up with Linus #22

merged 268 commits into from
Jan 13, 2015
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Dec 17, 2014

  1. HID: Allow HID_BATTERY_STRENGTH to be enabled

    Allows for HID_BATTERY_STRENGTH config be enabled without the need for HID
    module to be built-in, prior to this HID and POWER_SUPPLY had to be equal, and
    now we only select POWER_SUPPLY and depend on the HID module.
    
    Signed-off-by: Daniel Nicoletti <[email protected]>
    Signed-off-by: Jiri Kosina <[email protected]>
    dantti authored and Jiri Kosina committed Dec 17, 2014
    Configuration menu
    Copy the full SHA
    060c998 View commit details
    Browse the repository at this point in the history
  2. drm/radeon: Assign VMID to PASID for IH in non-HWS mode

    This patch fixes a bug in kgd_set_pasid_vmid_mapping(), where the function
    only updated the ATC registers (IOMMU) with the new VMID <--> PASID mapping,
    but didn't update the IH (Interrupt) registers.
    
    The bug only occurs when using non-HWS mode. In HWS mode, the CP automatically
    does the VMID <--> PASID mapping.
    
    Signed-off-by: Ben Goz <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    Acked-by: Alex Deucher <[email protected]>
    Ben Goz authored and Oded Gabbay committed Dec 17, 2014
    Configuration menu
    Copy the full SHA
    fec77bb View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2014

  1. drm/i915: Kill check_power_well() calls

    pps_{lock,unlock}() call intel_display_power_{get,put}() outside
    pps_mutes to avoid deadlocks with the power_domain mutex. In theory
    during aux transfers we should usually have the relevant power domain
    references already held by some higher level code, so this should not
    result in much overhead (exception being userspace i2c-dev access).
    However thanks to the check_power_well() calls in
    intel_display_power_{get/put}() we end up doing a few Punit reads for
    each aux transfer. Obviously doing this for each byte transferred via
    i2c-over-aux is not a good idea.
    
    I can't think of a good way to keep check_power_well() while eliminating
    the overhead, so let's just remove check_power_well() entirely.
    
    Fixes a driver init time regression introduced by:
     commit 773538e
     Author: Ville Syrjälä <[email protected]>
     Date:   Thu Sep 4 14:54:56 2014 +0300
    
        drm/i915: Reset power sequencer pipe tracking when disp2d is off
    
    Credit goes to Jani for figuring this out.
    
    v2: Add the regression note in the commit message.
    
    Cc: [email protected] (v3.18+)
    Cc: Egbert Eich <[email protected]>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86201
    Tested-by: Wendy Wang <[email protected]>
    Signed-off-by: Ville Syrjälä <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 18, 2014
    Configuration menu
    Copy the full SHA
    7f1241e View commit details
    Browse the repository at this point in the history
  2. drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4

    The flip stall detector kicks in when pending>=INTEL_FLIP_COMPLETE. That
    means if we first call intel_prepare_page_flip() but don't call
    intel_finish_page_flip(), the next stall check will erroneosly think
    the page flip was somehow stuck.
    
    With enough debug spew emitted from the interrupt handler my 830 hangs
    when this happens. My theory is that the previous vblank interrupt gets
    sufficiently delayed that the handler will see the pending bit set in
    IIR, but ISR still has the bit set as well (ie. the flip was processed
    by CS but didn't complete yet). In this case the handler will proceed
    to call intel_check_page_flip() immediately after
    intel_prepare_page_flip(). It then tries to print a backtrace for the
    stuck flip WARN, which apparetly results in way too much debug spew
    delaying interrupt processing further. That then seems to cause an
    endless loop in the interrupt handler, and the machine is dead until
    the watchdog kicks in and reboots. At least limiting the number of
    iterations of the loop in the interrupt handler also prevented the
    hang.
    
    So it seems better to not call intel_prepare_page_flip() without
    immediately calling intel_finish_page_flip(). The IIR/ISR trickery
    avoids races here so this is a perfectly safe thing to do.
    
    v2: Fix typo in commit message (checkpatch)
    
    Cc: [email protected]
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88381
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85888
    Reviewed-by: Chris Wilson <[email protected]>
    Signed-off-by: Ville Syrjälä <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 18, 2014
    Configuration menu
    Copy the full SHA
    7d47559 View commit details
    Browse the repository at this point in the history
  3. Revert "drm/i915: Preserve VGACNTR bits from the BIOS"

    The VGA_2X_MODE bit apparently affects the display even when the VGA
    plane is disabled. The bit will set by the BIOS when the panel width
    is at least 1280 pixels. So by preserving the bit from the BIOS we
    end up with corrupted display on machines with such high res panels.
    I only have 1024x768 panels on my gen2 machines so never ran into
    this problem.
    
    The original reason for preserving the VGACNTR register was to make
    my 830 survive S3 with acpi_sleep=s3_bios option. However after
    further 830 fixes that option is no longer needed to make S3 work
    and preserving VGACNTR doesn't seem to be necessary without it,
    so we can just revert the entire patch.
    
    This reverts
    commit 69769f9
    Author: Ville Syrjälä <[email protected]>
    Date:   Fri Aug 15 01:22:08 2014 +0300
    
        drm/i915: Preserve VGACNTR bits from the BIOS
    
    Cc: Bruno Prémont <[email protected]>
    Cc: [email protected]
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87171
    Signed-off-by: Ville Syrjälä <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 18, 2014
    Configuration menu
    Copy the full SHA
    01f5a62 View commit details
    Browse the repository at this point in the history
  4. drm/i915: add missing rpm ref to i915_gem_pwrite_ioctl

    Without this RPM ref we can hit the device suspended WARN via:
    i915_gem_object_pin()->ggtt_bind_vma->gen6_ggtt_insert_entries(). I
    noticed this on my BYT while keeping the i915 device in runtime
    suspended state for a while. I chose this place to take the ref to
    avoid the possible deadlock via the mutex_lock taken both later in this
    function and in the runtime suspend handler. This can happen if an RPM
    suspend event is queued and need to be flushed before taking the RPM
    ref.
    
    Testcase: igt/pm_rpm/gem-evict-pwrite
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87363
    Signed-off-by: Imre Deak <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    ideak authored and jnikula committed Dec 18, 2014
    Configuration menu
    Copy the full SHA
    5d77d9c View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2014

  1. HID: logitech-hidpp: avoid unintended fall-through

    Add a return to avoid a fall-through. Introduced in commit
    57ac86c ("HID: logitech-hidpp: add
    support of the first Logitech Wireless Touchpad").
    
    Signed-off-by: Peter Wu <[email protected]>
    Reviewed-by: Benjamin Tissoires <[email protected]>
    Signed-off-by: Jiri Kosina <[email protected]>
    Lekensteyn authored and Jiri Kosina committed Dec 19, 2014
    Configuration menu
    Copy the full SHA
    8abd820 View commit details
    Browse the repository at this point in the history
  2. HID: logitech-hidpp: prefix the name with "Logitech"

    Current names are reported as "K750", "M705", and it can be misleading
    for the users when they look at their input device list.
    
    Prefixing the names with "Logitech " makes things better.
    
    Signed-off-by: Benjamin Tissoires <[email protected]>
    Reviewed-by: Peter Wu <[email protected]>
    Signed-off-by: Jiri Kosina <[email protected]>
    bentiss authored and Jiri Kosina committed Dec 19, 2014
    Configuration menu
    Copy the full SHA
    a0e625f View commit details
    Browse the repository at this point in the history
  3. tools/liblockdep: Fix debug_check thinko in mutex destroy

    In mutex destroy code currently we pass to debug_check_no_locks_freed()
    
        [mem_from, mem_end)
    
    address region. But debug_check_no_locks_freed() accepts
    
        mem_from, mem_*len*
    
    i.e. second parameter is region length, not end address. And it was
    always so, starting from 2006 (fbb9ce9 "lockdep: core").
    
    Fix it, or else on a mutex destroy we wrongly check
    much-wider-than-mutex region and can find not-yet-released other locks
    there and wrongly report BUGs on them.
    
    Signed-off-by: Kirill Smelkov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    navytux authored and sashalevin committed Dec 19, 2014
    Configuration menu
    Copy the full SHA
    95bfdf2 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2014

  1. x86_64, vdso: Fix the vdso address randomization algorithm

    The theory behind vdso randomization is that it's mapped at a random
    offset above the top of the stack.  To avoid wasting a page of
    memory for an extra page table, the vdso isn't supposed to extend
    past the lowest PMD into which it can fit.  Other than that, the
    address should be a uniformly distributed address that meets all of
    the alignment requirements.
    
    The current algorithm is buggy: the vdso has about a 50% probability
    of being at the very end of a PMD.  The current algorithm also has a
    decent chance of failing outright due to incorrect handling of the
    case where the top of the stack is near the top of its PMD.
    
    This fixes the implementation.  The paxtest estimate of vdso
    "randomisation" improves from 11 bits to 18 bits.  (Disclaimer: I
    don't know what the paxtest code is actually calculating.)
    
    It's worth noting that this algorithm is inherently biased: the vdso
    is more likely to end up near the end of its PMD than near the
    beginning.  Ideally we would either nix the PMD sharing requirement
    or jointly randomize the vdso and the stack to reduce the bias.
    
    In the mean time, this is a considerable improvement with basically
    no risk of compatibility issues, since the allowed outputs of the
    algorithm are unchanged.
    
    As an easy test, doing this:
    
    for i in `seq 10000`
      do grep -P vdso /proc/self/maps |cut -d- -f1
    done |sort |uniq -d
    
    used to produce lots of output (1445 lines on my most recent run).
    A tiny subset looks like this:
    
    7fffdfffe000
    7fffe01fe000
    7fffe05fe000
    7fffe07fe000
    7fffe09fe000
    7fffe0bfe000
    7fffe0dfe000
    
    Note the suspicious fe000 endings.  With the fix, I get a much more
    palatable 76 repeated addresses.
    
    Reviewed-by: Kees Cook <[email protected]>
    Cc: [email protected]
    Signed-off-by: Andy Lutomirski <[email protected]>
    amluto committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    394f56f View commit details
    Browse the repository at this point in the history
  2. Merge tag 'pr-20141220-x86-vdso' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/luto/linux into x86/urgent
    
    Pull a VDSO fix from Andy Lutomirski:
    
      "One vdso fix for a longstanding ASLR bug that's been in the news lately.
    
       The vdso base address has always been randomized, and I don't think there's
       anything particularly wrong with the range over which it's randomized,
       but the implementation seems to have been buggy since the very beginning.
    
       This fixes the implementation to remove a large bias that caused a small
       fraction of possible vdso load addresess to be vastly more likely than
       the rest of the possible addresses."
    
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    fbe1bf1 View commit details
    Browse the repository at this point in the history
  3. drm/nouveau/bios: fix oops on pre-nv50 chipsets

    Signed-off-by: Ben Skeggs <[email protected]>
    Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    c7e873f View commit details
    Browse the repository at this point in the history
  4. drm/nouveau: fix missing return statement in nouveau_ttm_tt_unpopulate

    nouveau_ttm_tt_unpopulate() is supposed to return right after calling
    ttm_dma_unpopulate() in the case of a coherent buffer. The return
    statement was omitted, leading to the pages being unmapped twice. Fix
    this.
    
    Signed-off-by: Alexandre Courbot <[email protected]>
    Signed-off-by: Ben Skeggs <[email protected]>
    Gnurou authored and Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    dcccdc1 View commit details
    Browse the repository at this point in the history
  5. drm/nouveau/device: Add support for GK208B, resolves bug 86935

    Signed-off-by: Ben Skeggs <[email protected]>
    skoehler authored and Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    8d5e3af View commit details
    Browse the repository at this point in the history
  6. drm/nouveau: wake up the card if necessary during gem callbacks

    The failure paths if we fail to wake the card are less than desirable,
    but there's not really a graceful way to handle this case currently.
    
    I'll keep this situation in mind when I get to fixing other vm-related
    issues.
    
    Signed-off-by: Ben Skeggs <[email protected]>
    Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    5cc8d53 View commit details
    Browse the repository at this point in the history
  7. drm/nouveau/fb/ram/mcp77: subclass nouveau_ram

    Signed-off-by: Ben Skeggs <[email protected]>
    Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    0b42801 View commit details
    Browse the repository at this point in the history
  8. drm/nouveau/fb/ram/mcp77: use carveout reg to determine size

    Signed-off-by: Ben Skeggs <[email protected]>
    Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    5f3ac29 View commit details
    Browse the repository at this point in the history
  9. drm/nouveau/fb/ram/mcp77: enable NISO poller

    Signed-off-by: Pierre Moreau <[email protected]>
    Signed-off-by: Ben Skeggs <[email protected]>
    pierremoreau authored and Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    e9d9123 View commit details
    Browse the repository at this point in the history
  10. drm/nv4c/mc: disable msi

    Several users have, over time, reported issues with MSI on these IGPs.
    They're old, rarely available, and MSI doesn't provide such huge
    advantages on them. Just disable.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87361
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74492
    Fixes: fa8c9ac ("drm/nv4c/mc: nv4x igp's have a different msi rearm register")
    Cc: [email protected]
    Signed-off-by: Ilia Mirkin <[email protected]>
    Signed-off-by: Ben Skeggs <[email protected]>
    imirkin authored and Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    4761703 View commit details
    Browse the repository at this point in the history
  11. drm/nouveau/nouveau: Do not BUG_ON(!spin_is_locked()) on UP

    On !SMP systems spinlocks do not exist. Thus checking of they
    are active will always fail.
    
    Use
      assert_spin_locked(lock);
    instead of
      BUG_ON(!spin_is_locked(lock));
    to not BUG() on all UP systems.
    
    Signed-off-by: Bruno Prémont <[email protected]>
    Signed-off-by: Ben Skeggs <[email protected]>
    Bruno Prémont authored and Ben Skeggs committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    ff4c0d5 View commit details
    Browse the repository at this point in the history
  12. drm: Put amdkfd before radeon in drm Makefile

    When amdkfd and radeon are compiled inside the kernel image (not as modules),
    radeon will load before amdkfd, which will cause a bug when radeon will probe
    the GPUs.
    
    When the two drivers are compiled as modules, amdkfd is loaded after radeon is
    loaded but before radeon starts probing the GPUs. This is done because radeon
    loads the amdkfd module through symbol_request function.
    
    This patch makes amdkfd load before radeon when they are both compiled inside
    the kernel image, which makes the behavior similar to the case when they are
    modules, and prevents the kernel bug.
    
    Signed-off-by: Oded Gabbay <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Oded Gabbay committed Dec 21, 2014
    Configuration menu
    Copy the full SHA
    611a03d View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2014

  1. drivers: Move iommu/ before gpu/ in Makefile

    AMD GPU devices are dependent on AMD IOMMU controller functionality to allow
    the GPU to access a process's virtual memory address space, without the need
    for pinning the memory.
    
    This patch changes the order in the drivers makefile, so iommu/ subsystem is
    linked before gpu/ subsystem. That way, if the gpu and iommu drivers are
    compiled inside the kernel image (not as modules), the correct order of device
    loading is still maintained (iommu module is loaded before gpu module).
    
    Signed-off-by: Oded Gabbay <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Oded Gabbay committed Dec 22, 2014
    Configuration menu
    Copy the full SHA
    1bacc89 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2014

  1. Merge branch 'liblockdep-fixes-3.19' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/sashal/linux into core/urgent
    
    Pull a liblockdep fix from Sasha Levin:
    
     "A small (but important) fix to the way we detect freeing live locks. We would
      pass a wrong memory region when testing for locks inside freed memory spaces,
      which would trigger false positives."
    
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    84dccbe View commit details
    Browse the repository at this point in the history
  2. x86/xen: Remove unnecessary BUG_ON(preemptible()) in xen_setup_timer()

    There is no reason for having it and, with commit 250a1ac ("x86,
    smpboot: Remove pointless preempt_disable() in
    native_smp_prepare_cpus()"), it prevents HVM guests from booting.
    
    Signed-off-by: Boris Ostrovsky <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    Boris Ostrovsky authored and David Vrabel committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    8b8cd8a View commit details
    Browse the repository at this point in the history
  3. x86: Fix step size adjustment during initial memory mapping

    The old scheme can lead to failure in certain cases - the
    problem is that after bumping step_size the next (non-final)
    iteration is only guaranteed to make available a memory block
    the size of what step_size was before. E.g. for a memory block
    [0,3004600000) we'd have:
    
     iter	start		end		step		amount
     1	3004400000	30045fffff	 2M		  2M
     2	3004000000	30043fffff	64M		  4M
     3	3000000000	3003ffffff	 2G		 64M
     4	2000000000	2fffffffff	64G		 64G
    
    Yet to map 64G with 4k pages (as happens e.g. under PV Xen) we
    need slightly over 128M, but the first three iterations made
    only about 70M available.
    
    The condition (new_mapped_ram_size > mapped_ram_size) for
    bumping step_size is just not suitable. Instead we want to bump
    it when we know we have enough memory available to cover a block
    of the new step_size. And rather than making that condition more
    complicated than needed, simply adjust step_size by the largest
    possible factor we know we can cover at that point - which is
    shifting it left by one less than the difference between page
    table level shifts. (Interestingly the original STEP_SIZE_SHIFT
    definition had a comment hinting at that having been the
    intention, just that it should have been PUD_SHIFT-PMD_SHIFT-1
    instead of (PUD_SHIFT-PMD_SHIFT)/2, and of course for non-PAE
    32-bit we can't really use these two constants as they're equal
    there.)
    
    Furthermore the comment in get_new_step_size() didn't get
    updated when the bottom-down mapping logic got added. Yet while
    an overflow (flushing step_size to zero) of the shift doesn't
    matter for the top-down method, it does for bottom-up because
    round_up(x, 0) = 0, and an upper range boundary of zero can't
    really work well.
    
    Signed-off-by: Jan Beulich <[email protected]>
    Acked-by: Yinghai Lu <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    jbeulich authored and Ingo Molnar committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    132978b View commit details
    Browse the repository at this point in the history
  4. sched: Fix KMALLOC_MAX_SIZE overflow during cpumask allocation

    When allocating space for load_balance_mask, in sched_init, when
    CPUMASK_OFFSTACK is set, we've managed to spill over
    KMALLOC_MAX_SIZE on our 6144 core machine.  The patch below
    breaks up the allocations so that they don't overflow the max
    alloc size.  It also allocates the masks on the the node from
    which they'll most commonly be accessed, to minimize remote
    accesses on NUMA machines.
    
    Suggested-by: George Beshers <[email protected]>
    Signed-off-by: Alex Thorlton <[email protected]>
    Cc: George Beshers <[email protected]>
    Cc: Russ Anderson <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Alex Thorlton authored and Ingo Molnar committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    b74e627 View commit details
    Browse the repository at this point in the history
  5. x86: Fix mkcapflags.sh bash-ism

    Chocked while compiling linux with dash shell instead of bash
    shell. See:
    
       http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
    
    Signed-off-by: Sylvain BERTRAND <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    sylware authored and Ingo Molnar committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    ea174f4 View commit details
    Browse the repository at this point in the history
  6. x86/build: Clean auto-generated processor feature files

    Commit 9def39b ("x86: Support compiling out human-friendly
    processor feature names") made two source file targets
    conditional. Such conditional targets will not be cleaned
    automatically by make mrproper.
    
    Fix by adding explicit clean-files targets for the two files.
    
    Fixes: 9def39b ("x86: Support compiling out human-friendly processor feature names")
    Signed-off-by: Bjørn Mork <[email protected]>
    Cc: Josh Triplett <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    bmork authored and Ingo Molnar committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    280dbc5 View commit details
    Browse the repository at this point in the history
  7. perf report: Show progress bar for output resorting

    Sometimes it takes a long time to resort hist entries for output in case
    of a large data file.  Show a progress bar window and inform user.
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Adrian Hunter <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    740b97f View commit details
    Browse the repository at this point in the history
  8. perf ui/tui: Print backtrace symbols when segfault occurs

    The output will look like below.  (I added an error into ui__init() for
    the test).
    
      $ perf report
      perf: Segmentation fault
      -------- backtrace --------
      perf[0x503781]
      /usr/lib/libc.so.6(+0x33b20)[0x7f1a14f04b20]
      perf(ui__init+0xd5)[0x503645]
      perf(setup_browser+0x97)[0x4ce4e7]
      perf(cmd_report+0xcea)[0x4392ba]
      perf[0x428493]
      perf(main+0x60a)[0x427c0a]
      /usr/lib/libc.so.6(__libc_start_main+0xf0)[0x7f1a14ef1040]
      perf[0x427d29]
      [0x0]
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Adrian Hunter <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    b11bc8e View commit details
    Browse the repository at this point in the history
  9. perf callchain: Append callchains only when requested

    The perf report --children can be called with callchain disabled so no
    need to append callchains.  Actually the root of callchain tree is not
    initialized properly in this case.
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Adrian Hunter <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    82aa019 View commit details
    Browse the repository at this point in the history
  10. x86, vdso: Use asm volatile in __getcpu

    In Linux 3.18 and below, GCC hoists the lsl instructions in the
    pvclock code all the way to the beginning of __vdso_clock_gettime,
    slowing the non-paravirt case significantly.  For unknown reasons,
    presumably related to the removal of a branch, the performance issue
    is gone as of
    
    e76b027 x86,vdso: Use LSL unconditionally for vgetcpu
    
    but I don't trust GCC enough to expect the problem to stay fixed.
    
    There should be no correctness issue, because the __getcpu calls in
    __vdso_vlock_gettime were never necessary in the first place.
    
    Note to stable maintainers: In 3.18 and below, depending on
    configuration, gcc 4.9.2 generates code like this:
    
         9c3:       44 0f 03 e8             lsl    %ax,%r13d
         9c7:       45 89 eb                mov    %r13d,%r11d
         9ca:       0f 03 d8                lsl    %ax,%ebx
    
    This patch won't apply as is to any released kernel, but I'll send a
    trivial backported version if needed.
    
    Fixes: 51c19b4 x86: vdso: pvclock gettime support
    Cc: [email protected] # 3.8+
    Cc: Marcelo Tosatti <[email protected]>
    Acked-by: Paolo Bonzini <[email protected]>
    Signed-off-by: Andy Lutomirski <[email protected]>
    amluto committed Dec 23, 2014
    Configuration menu
    Copy the full SHA
    1ddf0b1 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2014

  1. ext4: prevent online resize with backup superblock

    Prevent BUG or corrupted file systems after the following:
    
    mkfs.ext4 /dev/vdc 100M
    mount -t ext4 -o sb=40961 /dev/vdc /vdc
    resize2fs /dev/vdc
    
    We previously prevented online resizing using the old resize ioctl.
    Move the code to ext4_resize_begin(), so the check applies for all of
    the resize ioctl's.
    
    Reported-by: Maxim Malkov <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Dec 27, 2014
    Configuration menu
    Copy the full SHA
    011fa99 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2014

  1. amdkfd: actually allocate longs for the pasid bitmask

    Commit "amdkfd: use sizeof(long) granularity for the pasid bitmask" calculated
    the number of longs it will need, but ended up allocating that number of
    bytes rather than longs.
    
    Fix that silly error and allocate the amount of data really required.
    
    Signed-off-by: Sasha Levin <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    sashalevin authored and Oded Gabbay committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    68d0cb4 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2014

  1. powerpc: Wire up sys_execveat() syscall

    Wire up sys_execveat(). This passes the selftests for the system call.
    
    Check success of execveat(3, '../execveat', 0)... [OK]
    Check success of execveat(5, 'execveat', 0)... [OK]
    Check success of execveat(6, 'execveat', 0)... [OK]
    Check success of execveat(-100, '/home/pranith/linux/...ftests/exec/execveat', 0)... [OK]
    Check success of execveat(99, '/home/pranith/linux/...ftests/exec/execveat', 0)... [OK]
    Check success of execveat(8, '', 4096)... [OK]
    Check success of execveat(17, '', 4096)... [OK]
    Check success of execveat(9, '', 4096)... [OK]
    Check success of execveat(14, '', 4096)... [OK]
    Check success of execveat(14, '', 4096)... [OK]
    Check success of execveat(15, '', 4096)... [OK]
    Check failure of execveat(8, '', 0) with ENOENT... [OK]
    Check failure of execveat(8, '(null)', 4096) with EFAULT... [OK]
    Check success of execveat(5, 'execveat.symlink', 0)... [OK]
    Check success of execveat(6, 'execveat.symlink', 0)... [OK]
    Check success of execveat(-100, '/home/pranith/linux/...xec/execveat.symlink', 0)... [OK]
    Check success of execveat(10, '', 4096)... [OK]
    Check success of execveat(10, '', 4352)... [OK]
    Check failure of execveat(5, 'execveat.symlink', 256) with ELOOP... [OK]
    Check failure of execveat(6, 'execveat.symlink', 256) with ELOOP... [OK]
    Check failure of execveat(-100, '/home/pranith/linux/tools/testing/selftests/exec/execveat.symlink', 256) with ELOOP... [OK]
    Check success of execveat(3, '../script', 0)... [OK]
    Check success of execveat(5, 'script', 0)... [OK]
    Check success of execveat(6, 'script', 0)... [OK]
    Check success of execveat(-100, '/home/pranith/linux/...elftests/exec/script', 0)... [OK]
    Check success of execveat(13, '', 4096)... [OK]
    Check success of execveat(13, '', 4352)... [OK]
    Check failure of execveat(18, '', 4096) with ENOENT... [OK]
    Check failure of execveat(7, 'script', 0) with ENOENT... [OK]
    Check success of execveat(16, '', 4096)... [OK]
    Check success of execveat(16, '', 4096)... [OK]
    Check success of execveat(4, '../script', 0)... [OK]
    Check success of execveat(4, 'script', 0)... [OK]
    Check success of execveat(4, '../script', 0)... [OK]
    Check failure of execveat(4, 'script', 0) with ENOENT... [OK]
    Check failure of execveat(5, 'execveat', 65535) with EINVAL... [OK]
    Check failure of execveat(5, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(6, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(-100, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(5, '', 4096) with EACCES... [OK]
    Check failure of execveat(5, 'Makefile', 0) with EACCES... [OK]
    Check failure of execveat(11, '', 4096) with EACCES... [OK]
    Check failure of execveat(12, '', 4096) with EACCES... [OK]
    Check failure of execveat(99, '', 4096) with EBADF... [OK]
    Check failure of execveat(99, 'execveat', 0) with EBADF... [OK]
    Check failure of execveat(8, 'execveat', 0) with ENOTDIR... [OK]
    Invoke copy of 'execveat' via filename of length 4093:
    Check success of execveat(19, '', 4096)... [OK]
    Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]
    Invoke copy of 'script' via filename of length 4093:
    Check success of execveat(20, '', 4096)... [OK]
    /bin/sh: 0: Can't open /dev/fd/5/xxxxxxx(... a long line of x's and y's, 0)... [OK]
    Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]
    
    Tested on a 32-bit powerpc system.
    
    Signed-off-by: Pranith Kumar <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    pranith authored and mpe committed Dec 29, 2014
    Configuration menu
    Copy the full SHA
    1e5d0fd View commit details
    Browse the repository at this point in the history
  2. powerpc/kdump: Ignore failure in enabling big endian exception during…

    … crash
    
    In LE kernel, we currently have a hack for kexec that resets the exception
    endian before starting a new kernel as the kernel that is loaded could be a
    big endian or a little endian kernel. In kdump case, resetting exception
    endian fails when one or more cpus is disabled. But we can ignore the failure
    and still go ahead, as in most cases crashkernel will be of same endianess
    as primary kernel and reseting endianess is not even needed in those cases.
    This patch adds a new inline function to say if this is kdump path. This
    function is used at places where such a check is needed.
    
    Signed-off-by: Hari Bathini <[email protected]>
    [mpe: Rename to kdump_in_progress(), use bool, and edit comment]
    Signed-off-by: Michael Ellerman <[email protected]>
    Hari Bathini authored and mpe committed Dec 29, 2014
    Configuration menu
    Copy the full SHA
    c1caae3 View commit details
    Browse the repository at this point in the history
  3. Revert "powerpc: Secondary CPUs must set cpu_callin_map after setting…

    … active and online"
    
    This reverts commit 7c5c92e.
    
    Although this did fix the bug it was aimed at, it also broke secondary
    startup on platforms that use give/take_timebase(). Unfortunately we
    didn't detect that while it was in next.
    
    Signed-off-by: Michael Ellerman <[email protected]>
    mpe committed Dec 29, 2014
    Configuration menu
    Copy the full SHA
    1be6f10 View commit details
    Browse the repository at this point in the history
  4. HID: Add a new id 0x501a for Genius MousePen i608X

    New Genius MousePen i608X devices have a new id 0x501a instead of the
    old 0x5011 so add a new #define with "_2" appended and change required
    places.
    
    The remaining two checkpatch warnings about line length
    being over 80 characters are present in the original files too and this
    patch was made in the same style (no line break).
    
    Just adding a new id and changing the required places should make the
    new device work without any issues according to the bug report in the
    following url.
    
    This patch was made according to and fixes:
    https://bugzilla.kernel.org/show_bug.cgi?id=67111
    
    Signed-off-by: Giedrius Statkevičius <[email protected]>
    Signed-off-by: Jiri Kosina <[email protected]>
    GiedriusS authored and Jiri Kosina committed Dec 29, 2014
    Configuration menu
    Copy the full SHA
    2baceda View commit details
    Browse the repository at this point in the history
  5. drm/radeon: Init amdkfd only if it was compiled

    This patch changes the radeon_kfd_init(), which is used to initialize the
    interface between radeon and amdkfd, so the interface will be initialized only
    if amdkfd was build, either as module or inside the kernel image.
    
    In the modules case, the symbol_request() will be used (same as old code). In
    the in-image compilation case, a direct call to kgd2kfd_init() will be done.
    For other cases, radeon_kfd_init() will just return false.
    
    This patch is necessary because in case of the following specific
    configuration: kernel 32-bit, no modules support, random kernel base and no
    hibernation, the symbol_request() doesn't work as expected - it doesn't return
    NULL if the symbol doesn't exists - which makes the kernel panic.
    
    Reviewed-by: Christian König <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    Oded Gabbay committed Dec 29, 2014
    Configuration menu
    Copy the full SHA
    38c2adf View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2014

  1. pinctrl: rockchip: Handle wakeup pins

    The rockchip pinctrl driver was using irq_gc_set_wake() as its
    implementation of irq_set_wake() but was totally ignoring everything
    that irq_gc_set_wake() did (which is to upkeep gc->wake_active).
    
    Let's fix that by setting gc->wake_active as GPIO_INTEN at suspend
    time and restoring GPIO_INTEN at resume time.
    
    NOTE a few quirks when thinking about this patch:
    - Rockchip pinctrl hardware supports both "disable/enable" and
      "mask/unmask".  Right now we only use "disable/enable" and present
      those to Linux as "mask/unmask".  This should be OK because
      enable/disable is optional and Linux will implement it in terms of
      mask/unmask.  At the moment we always tell hardware all interrupts
      are unmasked (the boot default).
    - At suspend time Linux tries to call "disable" on all interrupts and
      also enables wakeup on all wakeup interrupts.  One would think that
      since "disable" is implemented as "mask" when "disable" isn't
      provided and that since we were ignoring gc->wake_active that
      nothing would have woken us up.  That's not the case since Linux
      "optimizes" things and just leaves interrutps unmasked, assuming it
      could mask them later when they go off.  That meant that at suspend
      time all interrupts were actually being left enabled.
    
    With this patch random non-wakeup interrupts no longer wake the system
    up.  Wakeup interrupts still wake the system up.
    
    Signed-off-by: Doug Anderson <[email protected]>
    Reviewed-by: Dmitry Torokhov <[email protected]>
    Reviewed-by: Heiko Stuebner <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    dianders authored and linusw committed Dec 30, 2014
    Configuration menu
    Copy the full SHA
    68bda47 View commit details
    Browse the repository at this point in the history
  2. pinctrl: rockchip: Fix enable/disable/mask/unmask

    The Rockchip pinctrl driver was only implementing the "mask" and
    "unmask" operations though the hardware actually has two distinct
    things: enable/disable and mask/unmask.  It was implementing the
    "mask" operations as a hardware enable/disable and always leaving all
    interrupts unmasked.
    
    I believe that the old system had some downsides, specifically:
    - (Untested) if an interrupt went off while interrupts were "masked"
      it would be lost.  Now it will be kept track of.
    - If someone wanted to change an interrupt back into a GPIO (is such a
      thing sensible?) by calling irq_disable() it wouldn't actually take
      effect.  That's because Linux does some extra optimizations when
      there's no true "disable" function: it does a lazy mask.
    
    Let's actually implement enable/disable/mask/unmask properly.
    
    Signed-off-by: Doug Anderson <[email protected]>
    Reviewed-by: Dmitry Torokhov <[email protected]>
    Reviewed-by: Heiko Stuebner <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    dianders authored and linusw committed Dec 30, 2014
    Configuration menu
    Copy the full SHA
    f2dd028 View commit details
    Browse the repository at this point in the history
  3. ipmi: Fix compile warning with tv_usec

    It's not a long int on all arches.
    
    Signed-off-by: Corey Minyard <[email protected]>
    cminyard committed Dec 30, 2014
    Configuration menu
    Copy the full SHA
    1421c93 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2014

  1. e100: fix typo in MDI/MDI-X eeprom check in e100_phy_init

    Although it doesn't explicitly say so, commit 60ffa47 ("e100:
    Fix MDIO/MDIO-X") appears to be intended to revert the earlier commit
    6489514 ("e100: fixed e100 MDI/MDI-X issues").  However,
    careful examination reveals that the attempted revert actually
    _inverted_ the test for eeprom_mdix_enabled.  That is bound to program
    a few PHYs incorrectly...
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1156417
    
    Signed-off-by: "John W. Linville" <[email protected]>
    Tested-by: Aaron Brown <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    linvjw authored and Jeff Kirsher committed Dec 31, 2014
    Configuration menu
    Copy the full SHA
    a3566b5 View commit details
    Browse the repository at this point in the history
  2. igb: Remove unneeded FIXME

    Remove a FIXME comment that was missed in a commit on 1/2007.
    
    Signed-off-by: Todd Fujinaka <[email protected]>
    Reported-by: nick <[email protected]>
    Tested-by: Aaron Brown <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    Todd Fujinaka authored and Jeff Kirsher committed Dec 31, 2014
    Configuration menu
    Copy the full SHA
    2184aa3 View commit details
    Browse the repository at this point in the history
  3. i40e: Fix possible memory leak in i40e_dbg_dump_desc

    I didn't notice that return in the code, fix it by
    adding a goto out instead to free the memory.
    
    Fixes:
    
    > New smatch warnings:
    > drivers/net/ethernet/intel/i40e/i40e_debugfs.c:832 i40e_dbg_dump_desc() warn: possible memory leak of 'ring'
    
    Reported-by: Dan Carpenter <[email protected]>
    Signed-off-by: Joe Perches <[email protected]>
    Tested-by: Jim Young <[email protected]>
    Signed-off-by: Jeff Kirsher <[email protected]>
    JoePerches authored and Jeff Kirsher committed Dec 31, 2014
    Configuration menu
    Copy the full SHA
    e3fe44c View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2015

  1. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/jkirsher/net
    
    Jeff Kirsher says:
    
    ====================
    Intel Wired LAN Driver Updates 2014-12-31
    
    This series contains updates to fixes for e100, igb and i40e.
    
    John Linville fixes a typo in e100 that has been around for some time,
    where an attempted revert actually inverted the test for eeprom_mdix_enabled.
    
    Todd fixes up a code comment that should have been removed back in 2007.
    
    Joe Perches fixes a possible memory leak in i40e which was reported by
    Dan Carpenter using smatch.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    4e4804b View commit details
    Browse the repository at this point in the history
  2. net: Xilinx: fix error return code

    Return a negative error code on failure.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    identifier ret; expression e1,e2;
    @@
    (
    if (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    // </smpl>
    
    Signed-off-by: Julia Lawall <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    JuliaLawall authored and davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    8a0a1f8 View commit details
    Browse the repository at this point in the history
  3. myri10ge: fix error return code

    Return a negative error code on failure.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    identifier ret; expression e1,e2;
    @@
    (
    if (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    // </smpl>
    
    The patch also modifies the test of mgp->cmd to satisfy checkpatch.
    
    Signed-off-by: Julia Lawall <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    JuliaLawall authored and davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    f12e77c View commit details
    Browse the repository at this point in the history
  4. net: sun4i-emac: fix error return code

    Return a negative error code on failure.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    identifier ret; expression e1,e2;
    @@
    (
    if (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    // </smpl>
    
    Signed-off-by: Julia Lawall <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    JuliaLawall authored and davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    3d2232f View commit details
    Browse the repository at this point in the history
  5. net: axienet: fix error return code

    Return a negative error code on failure.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    identifier ret; expression e1,e2;
    @@
    (
    if (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    // </smpl>
    
    Signed-off-by: Julia Lawall <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    JuliaLawall authored and davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    0f113b8 View commit details
    Browse the repository at this point in the history
  6. qlcnic: Fix return value in qlcnic_probe()

    If the check of adapter fails and goes into the 'else' branch, the
    return value 'err' should not still be zero.
    
    Signed-off-by: Yongjian Xu <[email protected]>
    Acked-by: Shahed Shaikh <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Yongjian Xu authored and davem330 committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    7824acd View commit details
    Browse the repository at this point in the history
  7. Merge tag 'pr-20141223-x86-vdso' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/luto/linux into x86/urgent
    
    Pull VDSO fix from Andy Lutomirski:
    
     "This is hopefully the last vdso fix for 3.19.  It should be very
      safe (it just adds a volatile).
    
      I don't think it fixes an actual bug (the __getcpu calls in the
      pvclock code may not have been needed in the first place), but
      discussion on that point is ongoing.
    
      It also fixes a big performance issue in 3.18 and earlier in which
      the lsl instructions in vclock_gettime got hoisted so far up the
      function that they happened even when the function they were in was
      never called.  n 3.19, the performance issue seems to be gone due to
      the whims of my compiler and some interaction with a branch that's
      now gone.
    
      I'll hopefully have a much bigger overhaul of the pvclock code
      for 3.20, but it needs careful review."
    
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    2aba73a View commit details
    Browse the repository at this point in the history
  8. Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
      User visible fixes:
    
      - Show progress bar in more places while doing histogram processing
        in the hists browser (Namhyung Kim)
    
      - Print backtrace symbols when segfault occurs in 'report' (Namhyung Kim)
    
      Infrastructure fixes:
    
      - Append callchains only when requested (Namhyung Kim)
    
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Jan 1, 2015
    Configuration menu
    Copy the full SHA
    5b5e762 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2015

  1. kbuild: Fix removal of the debian/ directory

    scripts/Makefile.clean treats absolute path specially, but
    $(objtree)/debian is no longer an absolute path since 7e1c047 (kbuild:
    Use relative path for $(objtree). Work around this by checking if the
    path starts with $(objtree)/.
    
    Reported-and-tested-by: Sedat Dilek <[email protected]>
    Fixes: 7e1c047 (kbuild: Use relative path for $(objtree)
    Signed-off-by: Michal Marek <[email protected]>
    michal42 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    a16c5f9 View commit details
    Browse the repository at this point in the history
  2. perf probe: Fix to fall back to find probe point in symbols

    Fix to fall back to find a probe point in symbols if perf fails to find
    it in debuginfo.
    
    This can happen when the target function is an alias of another
    function. Such alias doesn't have an entry in debuginfo but in symbols.
    
    David Ahern reported this problem in https://lkml.org/lkml/2014/12/29/355
    
    I ensured the problem and deeper investigation discovers it.
     -----
     eu-readelf --debug-dump=info /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so | grep \"malloc\" -A6
                 name                 (strp) "malloc"
                 decl_file            (data1) 25
                 decl_line            (data2) 466
                 prototyped           (flag_present)
                 type                 (ref4) [  81b5]
                 declaration          (flag_present)
     [  8f58]      formal_parameter
     --
                 name                 (strp) "malloc"
                 decl_file            (data1) 23
                 decl_line            (data2) 466
                 prototyped           (flag_present)
                 type                 (ref4) [  9f4a]
                 declaration          (flag_present)
                 sibling              (ref4) [  bb29]
     ...
     -----
    All these entires have no instances (all of them are declarations)
    This is why the perf probe failed to find it in debuginfo.
    
    However, there are some malloc instances in symbols.
     -----
     eu-readelf --symbols /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so | grep malloc$
      1181: 0000000000080700   5332 FUNC    LOCAL  DEFAULT       12 _int_malloc
      4537: 00000000000831d0    339 FUNC    LOCAL  DEFAULT       12 __GI___libc_malloc
      5545: 00000000000831d0    339 FUNC    LOCAL  DEFAULT       12 __malloc
      6063: 00000000000831d0    339 FUNC    GLOBAL DEFAULT       12 malloc
      7302: 00000000000831d0    339 FUNC    GLOBAL DEFAULT       12 __libc_malloc
     -----
    As you an see, malloc and __libc_malloc have same address, and actually
    __libc_malloc has an entry in debuginfo. So you can set up a probe on
    __libc_malloc.
    
    To fix this problem shortly, perf probe simply falls back to find probe
    point(malloc) in symbols if it is not found in debuginfo.
    
    Reported-by: David Ahern <[email protected]>
    Signed-off-by: Masami Hiramatsu <[email protected]>
    Acked-by: Namhyung Kim <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    mhiramathitachi authored and acmel committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    906451b View commit details
    Browse the repository at this point in the history
  3. perf probe: Fix crash in dwarf_getcfi_elf

    David reported that perf can segfault when adding an uprobe event like
    this:
    
      $ perf probe -x /lib64/libc-2.14.90.so -a 'malloc  size=%di'
    
      (gdb) bt
      #0  parse_eh_frame_hdr (hdr=0x0, hdr_size=2596, hdr_vaddr=71788,
          ehdr=0x7fffffffd390, eh_frame_vaddr=
          0x7fffffffd378, table_entries=0x8808d8, table_encoding=0x8808e0 "") at
          dwarf_getcfi_elf.c:79
      #1  0x000000385f81615a in getcfi_scn_eh_frame (hdr_vaddr=71788,
          hdr_scn=0x8839b0, shdr=0x7fffffffd2f0, scn=<optimized out>,
          ehdr=0x7fffffffd390, elf=0x882b30) at dwarf_getcfi_elf.c:231
      #2  getcfi_shdr (ehdr=0x7fffffffd390, elf=0x882b30) at dwarf_getcfi_elf.c:283
      #3  dwarf_getcfi_elf (elf=0x882b30) at dwarf_getcfi_elf.c:309
      #4  0x00000000004d5bac in debuginfo__find_probes (pf=0x7fffffffd4f0,
          dbg=Unhandled dwarf expression opcode 0xfa) at util/probe-finder.c:993
      #5  0x00000000004d634a in debuginfo__find_trace_events (dbg=0x880840,
          pev=<optimized out>, tevs=0x880f88, max_tevs=<optimized out>) at
          util/probe-finder.c:1200
      #6  0x00000000004aed6b in try_to_find_probe_trace_events (target=0x881b20
          "/lib64/libpthread-2.14.90.so",
          max_tevs=128, tevs=0x880f88, pev=0x859b30) at util/probe-event.c:482
      #7  convert_to_probe_trace_events (target=0x881b20
          "/lib64/libpthread-2.14.90.so", max_tevs=128, tevs=0x880f88,
          pev=0x859b30) at util/probe-event.c:2356
      #8  add_perf_probe_events (pevs=<optimized out>, npevs=1, max_tevs=128,
          target=0x881b20 "/lib64/libpthread-2.14.90.so", force_add=false) at
          util/probe-event.c:2391
      #9  0x000000000044014f in __cmd_probe (argc=<optimized out>,
          argv=0x7fffffffe2f0, prefix=Unhandled dwarf expression opcode 0xfa) at
          at builtin-probe.c:488
      #10 0x0000000000440313 in cmd_probe (argc=5, argv=0x7fffffffe2f0,
          prefix=<optimized out>) at builtin-probe.c:506
      #11 0x000000000041d133 in run_builtin (p=0x805680, argc=5,
          argv=0x7fffffffe2f0) at perf.c:341
      #12 0x000000000041c8b2 in handle_internal_command (argv=<optimized out>,
          argc=<optimized out>) at perf.c:400
      #13 run_argv (argv=<optimized out>, argcp=<optimized out>) at perf.c:444
      #14 main (argc=5, argv=0x7fffffffe2f0) at perf.c:559
    
    And I found a related commit (5704c8c4fa71 "getcfi_scn_eh_frame: Don't
    crash and burn when .eh_frame bits aren't there.") in elfutils that can
    lead to a unexpected crash like this.  To safely use the function, it
    needs to check the .eh_frame section is a PROGBITS type.
    
    Reported-by: David Ahern <[email protected]>
    Tested-by: David Ahern <[email protected]>
    Signed-off-by: Namhyung Kim <[email protected]>
    Acked-by: Masami Hiramatsu <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Mark Wielaard <[email protected]>
    Cc: Masami Hiramatsu <[email protected]>
    Link: http://lkml.kernel.org/r/20141230090533.GH6081@sejong
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    4093325 View commit details
    Browse the repository at this point in the history
  4. Btrfs: add more maintainers

    I'm lucky to have a huge amount of help on Btrfs, and want to thank
    everyone that sends patches, does review and helps track down bugs.
    
    Dave Sterba is a long time reviewer and contributor, and adding him
    to the maintainers file reflects the excellent work he has been
    doing for years.
    
    Signed-off-by: Chris Mason <[email protected]>
    masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    4e0c4a4 View commit details
    Browse the repository at this point in the history
  5. Btrfs, scrub: uninitialized variable in scrub_extent_for_parity()

    The only way that "ret" is set is when we call scrub_pages_for_parity()
    so the skip to "if (ret) " test doesn't make sense and causes a static
    checker warning.
    
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: Chris Mason <[email protected]>
    Dan Carpenter authored and masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    6b6d24b View commit details
    Browse the repository at this point in the history
  6. Btrfs: abort transaction if we don't find the block group

    We shouldn't BUG_ON() if there is corruption.  I hit this while testing my block
    group patch and the abort worked properly.  Thanks,
    
    Signed-off-by: Josef Bacik <[email protected]>
    Signed-off-by: Chris Mason <[email protected]>
    Josef Bacik authored and masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    df95e7f View commit details
    Browse the repository at this point in the history
  7. Btrfs: call inode_dec_link_count() on mkdir error path

    In btrfs_mkdir(), if it fails to create dir, we should
    clean up existed items, setting inode's link properly
    to make sure it could be cleaned up properly.
    
    Signed-off-by: Wang Shilong <[email protected]>
    Signed-off-by: Chris Mason <[email protected]>
    wangshilong authored and masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    c7cfb8a View commit details
    Browse the repository at this point in the history
  8. Btrfs: correctly get tree level in tree_backref_for_extent

    If we are using skinny metadata, the block's tree level is in the offset
    of the key and not in a btrfs_tree_block_info structure following the
    extent item (it doesn't exist). Therefore fix it.
    
    Besides returning the correct level in the tree, this also prevents reading
    past the leaf's end in the case where the extent item is the last item in
    the leaf (eb) and it has only 1 inline reference - this is because
    sizeof(struct btrfs_tree_block_info) is greater than
    sizeof(struct btrfs_extent_inline_ref).
    
    Got it while running a scrub which produced the following warning:
    
        BTRFS: checksum error at logical 4212326 on dev /dev/sde, sector 15840: metadata node (level 24) in tree 5
    
    Signed-off-by: Filipe Manana <[email protected]>
    Reviewed-by: Satoru Takeuchi <[email protected]>
    Signed-off-by: Chris Mason <[email protected]>
    fdmanana authored and masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    a1317f4 View commit details
    Browse the repository at this point in the history
  9. Btrfs: don't delay inode ref updates during log replay

    Commit 1d52c78 (Btrfs: try not to ENOSPC on log replay) added a
    check to skip delayed inode updates during log replay because it
    confuses the enospc code.  But the delayed processing will end up
    ignoring delayed refs from log replay because the inode itself wasn't
    put through the delayed code.
    
    This can end up triggering a warning at commit time:
    
    WARNING: CPU: 2 PID: 778 at fs/btrfs/delayed-inode.c:1410 btrfs_assert_delayed_root_empty+0x32/0x34()
    
    Which is repeated for each commit because we never process the delayed
    inode ref update.
    
    The fix used here is to change btrfs_delayed_delete_inode_ref to return
    an error if we're currently in log replay.  The caller will do the ref
    deletion immediately and everything will work properly.
    
    Signed-off-by: Chris Mason <[email protected]>
    cc: [email protected] # v3.18 and any stable series that picked 1d52c78
    masoncl committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    6f89605 View commit details
    Browse the repository at this point in the history
  10. Revert "ext4: fix suboptimal seek_{data,hole} extents traversial"

    This reverts commit 14516bb.
    
    This was causing regression test failures with generic/285 with an ext3
    filesystem using CONFIG_EXT4_USE_FOR_EXT23.
    
    Signed-off-by: Theodore Ts'o <[email protected]>
    tytso committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    ad7fefb View commit details
    Browse the repository at this point in the history
  11. ext4: remove spurious KERN_INFO from ext4_warning call

    Signed-off-by: Jakub Wilk <[email protected]>
    Signed-off-by: Theodore Ts'o <[email protected]>
    jwilk authored and tytso committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    363307e View commit details
    Browse the repository at this point in the history
  12. net/mlx4_core: Correcly update the mtt's offset in the MR re-reg flow

    Previously, mlx4_mt_rereg_write filled the MPT's entity_size with the
    old MTT's page shift, which could result in using an incorrect offset.
    Fix the initialization to be after we calculate the new MTT offset.
    
    In addition, assign mtt order to -1 after calling mlx4_mtt_cleanup. This
    is necessary in order to mark the MTT as invalid and avoid freeing it later.
    
    Fixes: e630664 ('mlx4_core: Add helper functions to support MR re-registration')
    Signed-off-by: Maor Gottlieb <[email protected]>
    Signed-off-by: Matan Barak <[email protected]>
    Signed-off-by: Or Gerlitz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Maor Gottlieb authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    a51e0df View commit details
    Browse the repository at this point in the history
  13. net/mlx4_core: Fix error flow in mlx4_init_hca()

    We shouldn't call UNMAP_FA here, this is done in mlx4_load_one.
    
    If mlx4_query_func fails, we need to invoke CLOSE_HCA for both
    native and master.
    
    Fixes: a0eacca ('net/mlx4_core: Refactor mlx4_load_one')
    Signed-off-by: Jack Morgenstein <[email protected]>
    Signed-off-by: Or Gerlitz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Jack Morgenstein authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    d0d0125 View commit details
    Browse the repository at this point in the history
  14. Merge branch 'mlx4-net'

    Or Gerlitz says:
    
    ====================
    mlx4 driver fixes for 3.19-rc2
    
    Please push Maor's patch to -stable >= 3.17
    
    Jack's fixes error-flow issues introduced in 3.19-rc1, no need for -stable.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    2b972ac View commit details
    Browse the repository at this point in the history
  15. Altera TSE: Add missing phydev

    Altera network device doesn't come up after
    
    ifconfig eth0 down
    ifconfig eth0 up
    
    The reason behind is clearing priv->phydev during tse_shutdown().
    The phydev is not restored back at tse_open().
    
    Resubmiting as to follow Tobias Klauser suggestion.
    phy_start/phy_stop are called on each ifup/ifdown and
    phy_disconnect is called once during the module removal.
    
    Signed-off-by: Kostya Belezko <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    bkostya authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    c484994 View commit details
    Browse the repository at this point in the history
  16. tcp: Do not apply TSO segment limit to non-TSO packets

    Thomas Jarosch reported IPsec TCP stalls when a PMTU event occurs.
    
    In fact the problem was completely unrelated to IPsec.  The bug is
    also reproducible if you just disable TSO/GSO.
    
    The problem is that when the MSS goes down, existing queued packet
    on the TX queue that have not been transmitted yet all look like
    TSO packets and get treated as such.
    
    This then triggers a bug where tcp_mss_split_point tells us to
    generate a zero-sized packet on the TX queue.  Once that happens
    we're screwed because the zero-sized packet can never be removed
    by ACKs.
    
    Fixes: 1485348 ("tcp: Apply device TSO segment limit earlier")
    Reported-by: Thomas Jarosch <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    
    Cheers,
    Signed-off-by: David S. Miller <[email protected]>
    herbertx authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    843925f View commit details
    Browse the repository at this point in the history
  17. openvswitch: Consistently include VLAN header in flow and port stats.

    Until now, when VLAN acceleration was in use, the bytes of the VLAN header
    were not included in port or flow byte counters.  They were however
    included when VLAN acceleration was not used.  This commit corrects the
    inconsistency, by always including the VLAN header in byte counters.
    
    Previous discussion at
    http://openvswitch.org/pipermail/dev/2014-December/049521.html
    
    Reported-by: Motonori Shindo <[email protected]>
    Signed-off-by: Ben Pfaff <[email protected]>
    Reviewed-by: Flavio Leitner <[email protected]>
    Acked-by: Pravin B Shelar <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    blp authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    24cc59d View commit details
    Browse the repository at this point in the history
  18. qmi_wwan: Set random MAC on devices with buggy fw

    Some buggy firmwares export an incorrect MAC address (00:a0:c6:00:00:00). This
    makes for example checking devices for random MAC addresses tricky, and you
    might end up with multiple network interfaces with the same address.
    
    This patch tries to fix, or at least improve, the situation by setting the MAC
    address of devices with this firmware bug to a random address. I tested the
    patch with two devices that has this firmware bug (Huawei E398 and E392), and
    network traffic worked fine after changing the address.
    
    Signed-off-by: Kristian Evensen <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    kristrev authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    531ad42 View commit details
    Browse the repository at this point in the history
  19. enic: free all rq buffs when allocation fails

    When allocation of all RQs fail, we do not free previously allocated buffers,
    before returning error. This causes memory leak.
    
    This patch fixes this by calling vnic_rq_clean(), which frees all the rq
    buffers.
    
    Signed-off-by: Govindarajulu Varadarajan <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Govindarajulu Varadarajan authored and davem330 committed Jan 2, 2015
    Configuration menu
    Copy the full SHA
    9dac623 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2015

  1. perf list: Fix --raw-dump option

    Currently, 'perf list --raw-dump' requires extra arguments
    (e.g., hw) to invoke, which breaks bash/zsh completion
    (perf-completion.sh).
    
      $ perf list --raw-dump
        Error: unknown option `raw-dump'
    
         usage: perf list [hw|sw|cache|tracepoint|pmu|event_glob]
    
    After,
    
      $ perf list --raw-dump
      cpu-cycles instructions cache-references cache-misses ...
    
    Signed-off-by: Taesoo Kim <[email protected]>
    Acked-by: Namhyung Kim <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Taesoo kim <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    tsgates authored and acmel committed Jan 3, 2015
    Configuration menu
    Copy the full SHA
    b350520 View commit details
    Browse the repository at this point in the history
  2. perf diff: Fix to sort by baseline field by default

    The currently perf diff didn't add the baseline and delta (or other
    compute) fields to the sort list so output will be sorted by other
    fields like alphabetical order of DSO or symbol as below example.
    
    Fix it by adding hpp formats for the fields and provides default compare
    functions.
    
    Before:
    
      $ perf diff
      # Event 'cycles'
      #
      # Baseline    Delta  Shared Object       Symbol
      # ........  .......  ..................  ...............................
      #
                           [bridge]            [k] ip_sabotage_in
                           [btrfs]             [k] __etree_search.constprop.47
           0.01%           [btrfs]             [k] btrfs_file_mmap
           0.01%   -0.01%  [btrfs]             [k] btrfs_getattr
                           [e1000e]            [k] e1000_watchdog
           0.00%           [kernel.vmlinux]    [k] PageHuge
           0.00%           [kernel.vmlinux]    [k] __acct_update_integrals
           0.00%           [kernel.vmlinux]    [k] __activate_page
                           [kernel.vmlinux]    [k] __alloc_fd
           0.02%   +0.02%  [kernel.vmlinux]    [k] __alloc_pages_nodemask
           ...
    
    After:
    
      # Baseline    Delta  Shared Object       Symbol
      # ........  .......  ..................  ................................
      #
          24.73%   -4.62%  perf                [.] append_chain_children
           7.96%   -1.29%  perf                [.] dso__find_symbol
           6.97%   -2.07%  libc-2.20.so        [.] vfprintf
           4.61%   +0.88%  libc-2.20.so        [.] __fprintf_chk
           4.41%   +2.43%  perf                [.] sort__comm_cmp
           4.10%   -0.16%  perf                [.] comm__str
           4.03%   -0.93%  perf                [.] machine__findnew_thread_time
           3.82%   +3.09%  perf                [.] __hists__add_entry
           2.95%   -0.18%  perf                [.] sort__dso_cmp
           ...
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Jan 3, 2015
    Configuration menu
    Copy the full SHA
    e7024fc View commit details
    Browse the repository at this point in the history
  3. drm/radeon: do not leave queue acquired if timeout happens in kgd_hqd…

    …_destroy()
    
    If timeout happens, kgd_hqd_destroy() just returns -ETIME leaving queue
    acquired.
    It may cause a deadlock, so the patch proposes to release queue before return.
    
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Signed-off-by: Alexey Khoroshilov <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    khoroshilov authored and Oded Gabbay committed Jan 3, 2015
    Configuration menu
    Copy the full SHA
    4c18442 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2015

  1. Merge tag 'drm-intel-next-fixes-2014-12-30' of git://anongit.freedesk…

    …top.org/drm-intel into linus
    
    I've had these since before -rc1, but they missed my last pull
    request. Real bug fixes and mostly cc: stable material.
    
    * tag 'drm-intel-next-fixes-2014-12-30' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: add missing rpm ref to i915_gem_pwrite_ioctl
      Revert "drm/i915: Preserve VGACNTR bits from the BIOS"
      drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4
      drm/i915: Kill check_power_well() calls
    airlied committed Jan 4, 2015
    Configuration menu
    Copy the full SHA
    379a2d3 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'amdkfd-fixes-2014-12-30' of git://people.freedesktop.org/~…

    …gabbayo/linux into linus
    
    Highlights:
    
    - Link order changes in drm/Makefile and drivers/Makefile to fix issue
      when amdkfd, radeon and amd_iommu_v2 are compiled inside the kernel
      image.
    
    - Consider kernel configuration (using #IFDEFs) when radeon initializes
      amdkfd, due to a specific configuration that makes symbol_request()
      return a non-NULL value when a symbol doesn't exists. Rusty Russel
      is helping me to find the root cause, but it may take a while because
      of year-end so I'm sending this as a band-aid solution.
    
    * tag 'amdkfd-fixes-2014-12-30' of git://people.freedesktop.org/~gabbayo/linux:
      drm/radeon: Init amdkfd only if it was compiled
      amdkfd: actually allocate longs for the pasid bitmask
      drm: Put amdkfd before radeon in drm Makefile
      drivers: Move iommu/ before gpu/ in Makefile
      amdkfd: Remove duplicate include
      amdkfd: Fixing topology bug in building sysfs nodes
      amdkfd: Fix accounting of device queues
    airlied committed Jan 4, 2015
    Configuration menu
    Copy the full SHA
    2f6bd4d View commit details
    Browse the repository at this point in the history
  3. drm/amdkfd: Load mqd to hqd in non-HWS mode

    This patch fixes a bug in DQM, where the MQD of a newly created compute queue
    is not loaded to an HQD slot. As a result, the CP never reads packets from this
    queue.
    
    This bug happens only in non-HWS (hardware scheduling) mode. In HWS mode, the
    CP is responsible of loading MQDs to HQDs slots.
    
    Signed-off-by: Ben Goz <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    Acked-by: Alex Deucher <[email protected]>
    Ben Goz authored and Oded Gabbay committed Jan 4, 2015
    Configuration menu
    Copy the full SHA
    030e416 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2015

  1. net: ethernet: cpsw: fix hangs with interrupts

    The CPSW IP implements pulse-signaled interrupts. Due to
    that we must write a correct, pre-defined value to the
    CPDMA_MACEOIVECTOR register so the controller generates
    a pulse on the correct IRQ line to signal the End Of
    Interrupt.
    
    The way the driver is written today, all four IRQ lines
    are requested using the same IRQ handler and, because of
    that, we could fall into situations where a TX IRQ fires
    but we tell the controller that we ended an RX IRQ (or
    vice-versa). This situation triggers an IRQ storm on the
    reserved IRQ 127 of INTC which will in turn call ack_bad_irq()
    which will, then, print a ton of:
    
    	unexpected IRQ trap at vector 00
    
    In order to fix the problem, we are moving all calls to
    cpdma_ctlr_eoi() inside the IRQ handler and making sure
    we *always* write the correct value to the CPDMA_MACEOIVECTOR
    register. Note that the algorithm assumes that IRQ numbers and
    value-to-be-written-to-EOI are proportional, meaning that a
    write of value 0 would trigger an EOI pulse for the RX_THRESHOLD
    Interrupt and that's the IRQ number sitting in the 0-th index
    of our irqs_table array.
    
    This, however, is safe at least for current implementations of
    CPSW so we will refrain from making the check smarter (and, as
    a side-effect, slower) until we actually have a platform where
    IRQ lines are swapped.
    
    This patch has been tested for several days with AM335x- and
    AM437x-based platforms. AM57x was left out because there are
    still pending patches to enable ethernet in mainline for that
    platform. A read of the TRM confirms the statement on previous
    paragraph.
    
    Reported-by: Yegor Yefremov <[email protected]>
    Fixes: 510a1e7 (drivers: net: davinci_cpdma: acknowledge interrupt properly)
    Cc: <[email protected]> # v3.9+
    Signed-off-by: Felipe Balbi <[email protected]>
    Acked-by: Tony Lindgren <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Felipe Balbi authored and davem330 committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    7ce67a3 View commit details
    Browse the repository at this point in the history
  2. ALSA: snd-usb-caiaq: fix stream count check

    Commit 897c329 ("ALSA: usb: caiaq: check for cdev->n_streams > 1")
    introduced a safety check to protect against bogus data provided by
    devices. However, the n_streams variable is already divided by
    CHANNELS_PER_STREAM, so the correct check is 'n_streams > 0'.
    
    Fix this to un-break support for stereo devices.
    
    Signed-off-by: Daniel Mack <[email protected]>
    Cc: [email protected] [v3.18+]
    Signed-off-by: Takashi Iwai <[email protected]>
    zonque authored and tiwai committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    49cdd5b View commit details
    Browse the repository at this point in the history
  3. Revert "mac80211: Fix accounting of the tailroom-needed counter"

    This reverts commit ca34e3b.
    
    It turns out that the p54 and cw2100 drivers assume that there's
    tailroom even when they don't say they really need it. However,
    there's currently no way for them to explicitly say they do need
    it, so for now revert this.
    
    This fixes https://bugzilla.kernel.org/show_bug.cgi?id=90331.
    
    Cc: [email protected]
    Fixes: ca34e3b ("mac80211: Fix accounting of the tailroom-needed counter")
    Reported-by: Christopher Chavez <[email protected]>
    Bisected-by: Larry Finger <[email protected]>
    Debugged-by: Christian Lamparter <[email protected]>
    Signed-off-by: Johannes Berg <[email protected]>
    jmberg-intel committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    1e359a5 View commit details
    Browse the repository at this point in the history
  4. crypto: aesni - fix "by8" variant for 128 bit keys

    The "by8" counter mode optimization is broken for 128 bit keys with
    input data longer than 128 bytes. It uses the wrong key material for
    en- and decryption.
    
    The key registers xkey0, xkey4, xkey8 and xkey12 need to be preserved
    in case we're handling more than 128 bytes of input data -- they won't
    get reloaded after the initial load. They must therefore be (a) loaded
    on the first iteration and (b) be preserved for the latter ones. The
    implementation for 128 bit keys does not comply with (a) nor (b).
    
    Fix this by bringing the implementation back to its original source
    and correctly load the key registers and preserve their values by
    *not* re-using the registers for other purposes.
    
    Kudos to James for reporting the issue and providing a test case
    showing the discrepancies.
    
    Reported-by: James Yonan <[email protected]>
    Cc: Chandramouli Narayanan <[email protected]>
    Cc: <[email protected]> # v3.18
    Signed-off-by: Mathias Krause <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    minipli authored and herbertx committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    0b1e95b View commit details
    Browse the repository at this point in the history
  5. crypto: sha-mb - Add avx2_supported check.

    This patch fixes this allyesconfig target build error with older
    binutils.
    
      LD      arch/x86/crypto/built-in.o
    ld: arch/x86/crypto/sha-mb/built-in.o: No such file: No such file or directory
    
    Cc: [email protected] # 3.18+
    Signed-off-by: Vinson Lee <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    Vinson Lee authored and herbertx committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    0b8c960 View commit details
    Browse the repository at this point in the history
  6. iommu/ipmmu-vmsa: Change IOMMU_EXEC to IOMMU_NOEXEC

    Commit a720b41 ("iommu/arm-smmu: change IOMMU_EXEC to
    IOMMU_NOEXEC") has inverted and replaced the IOMMU_EXEC flag with
    IOMMU_NOEXEC. Update the driver accordingly.
    
    Signed-off-by: Laurent Pinchart <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    Laurent Pinchart authored and joergroedel committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    04561ca View commit details
    Browse the repository at this point in the history
  7. iommu/vt-d: Fix dmar_domain leak in iommu_attach_device

    Since commit 1196c2f a domain is only destroyed in the
    notifier path if it is hot-unplugged. This caused a
    domain leakage in iommu_attach_device when a driver was
    unbound from the device and bound to VFIO. In this case the
    device is attached to a new domain and unlinked from the old
    domain. At this point nothing points to the old domain
    anymore and its memory is leaked.
    Fix this by explicitly freeing the old domain in
    iommu_attach_domain.
    
    Fixes: 1196c2f (iommu/vt-d: Fix dmar_domain leak in iommu_attach_device)
    Cc: [email protected] # v3.18
    Tested-by: Jerry Hoemann <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    joergroedel committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    62c2216 View commit details
    Browse the repository at this point in the history
  8. iommu/vt-d: Remove dead code in device_notifier

    This code only runs when action == BUS_NOTIFY_REMOVED_DEVICE,
    so it can't be BUS_NOTIFY_DEL_DEVICE.
    
    Signed-off-by: Joerg Roedel <[email protected]>
    joergroedel committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    6d1b9cc View commit details
    Browse the repository at this point in the history
  9. iommu/rockchip: Drop owner assignment from platform_drivers

    This platform_driver does not need to set an owner, it will be populated by the
    driver core.
    
    Signed-off-by: Wolfram Sang <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    Wolfram Sang authored and joergroedel committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    2c0ee8b View commit details
    Browse the repository at this point in the history
  10. ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC c…

    …odecs
    
    stac_store_hints() does utterly wrong for masking the values for
    gpio_dir and gpio_data, likely due to copy&paste errors.  Fortunately,
    this feature is used very rarely, so the impact must be really small.
    
    Reported-by: Rasmus Villemoes <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    c507de8 View commit details
    Browse the repository at this point in the history
  11. drm/amdkfd: unmap VMID<-->PASID when relesing VMID (non-HWS)

    This patch fixes a bug where deallocate_vmid() didn't actually unmap the
    VMID<-->PASID mapping (in the registers).
    That can cause undefined behavior.
    
    This bug only occurs in non-HWS mode.
    
    Signed-off-by: Ben Goz <[email protected]>
    Signed-off-by: Oded Gabbay <[email protected]>
    Acked-by: Alex Deucher <[email protected]>
    Ben Goz authored and Oded Gabbay committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    2030664 View commit details
    Browse the repository at this point in the history
  12. KEYS: close race between key lookup and freeing

    When a key is being garbage collected, it's key->user would get put before
    the ->destroy() callback is called, where the key is removed from it's
    respective tracking structures.
    
    This leaves a key hanging in a semi-invalid state which leaves a window open
    for a different task to try an access key->user. An example is
    find_keyring_by_name() which would dereference key->user for a key that is
    in the process of being garbage collected (where key->user was freed but
    ->destroy() wasn't called yet - so it's still present in the linked list).
    
    This would cause either a panic, or corrupt memory.
    
    Fixes CVE-2014-9529.
    
    Signed-off-by: Sasha Levin <[email protected]>
    Signed-off-by: David Howells <[email protected]>
    sashalevin authored and dhowells committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    a3a8784 View commit details
    Browse the repository at this point in the history
  13. drm/radeon: KV has three PPLLs (v2)

    Enable all three in the driver.  Early documentation
    indicated the 3rd one was used for something else, but
    that is not the case.
    
    v2: handle disable as well
    
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    alexdeucher committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    fbedf1c View commit details
    Browse the repository at this point in the history
  14. drm/radeon: fix sad_count check for dce3

    Make it consistent with the sad code for other asics to deal
    with monitors that don't report sads.
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=89461
    
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    alexdeucher committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    5665c3e View commit details
    Browse the repository at this point in the history
  15. drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw

    The check was already in place in the dp mode_valid check, but
    radeon_dp_get_dp_link_clock() never returned the high clock
    mode_valid was checking for because that function clipped the
    clock based on the hw capabilities.  Add an explicit check
    in the mode_valid function.
    
    bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=87172
    
    Signed-off-by: Alex Deucher <[email protected]>
    Cc:[email protected]
    alexdeucher committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    410cce2 View commit details
    Browse the repository at this point in the history
  16. drm/radeon: adjust default bapm settings for KV

    Enabling bapm seems to cause clocking problems on some
    KV configurations.  Disable it by default for now.
    
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    alexdeucher committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    02ae7af View commit details
    Browse the repository at this point in the history
  17. drm/radeon: integer underflow in radeon_cp_dispatch_texture()

    The test:
    
    	if (size > RADEON_MAX_TEXTURE_SIZE) {
    
    "size" is an integer and it's controled by the user so it can be
    negative and the test can underflow.  Later we use "size" in:
    
    	dwords = size / 4;
    	...
    	RADEON_COPY_MT(buffer, data, (int)(dwords * sizeof(u32)));
    
    It causes memory corruption to copy a negative size buffer.
    
    Signed-off-by: Dan Carpenter <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Dan Carpenter authored and alexdeucher committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    dd5a74f View commit details
    Browse the repository at this point in the history
  18. qla2xxx: fix busy wait regression

    Commit e05fe29 (qla2xxx: Honor FCP_RSP retry delay timer field.)
    causes systems to busy-wait for about 3 minutes after boot prior to
    detecting SAN disks.
    
    During this wait period one kworker is running full-time
    (though /proc/<pid>/stack has no useful data). Another kworker is
    waiting for IO to complete during that whole time period.
    
    Looking at drivers/scsi/qla2xxx/qla_os.c, fcport->retry_delay_timestamp
    has a special value of 0 though that 0 value forces system to wait when
    jiffies is very large value (e.g. 4294952605 - "negative" value when
    signed on 32bit systems).
    
    Signed-off-by: Bruno Prémont <[email protected]>
    Acked-by: Chad Dupuis <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Bruno Prémont authored and Christoph Hellwig committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    975f7d4 View commit details
    Browse the repository at this point in the history
  19. [IA64] Enable execveat syscall for ia64

    See commit 51f39a1
        syscalls: implement execveat() system call
    
    Signed-off-by: Tony Luck <[email protected]>
    aegl committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    b739896 View commit details
    Browse the repository at this point in the history
  20. ACPI / PM: Fix PM initialization for devices that are not present

    If an ACPI device object whose _STA returns 0 (not present and not
    functional) has _PR0 or _PS0, its power_manageable flag will be set
    and acpi_bus_init_power() will return 0 for it.  Consequently, if
    such a device object is passed to the ACPI device PM functions, they
    will attempt to carry out the requested operation on the device,
    although they should not do that for devices that are not present.
    
    To fix that problem make acpi_bus_init_power() return an error code
    for devices that are not present which will cause power_manageable to
    be cleared for them as appropriate in acpi_bus_get_power_flags().
    However, the lists of power resources should not be freed for the
    device in that case, so modify acpi_bus_get_power_flags() to keep
    those lists even if acpi_bus_init_power() returns an error.
    Accordingly, when deciding whether or not the lists of power
    resources need to be freed, acpi_free_power_resources_lists()
    should check the power.flags.power_resources flag instead of
    flags.power_manageable, so make that change too.
    
    Furthermore, if acpi_bus_attach() sees that flags.initialized is
    unset for the given device, it should reset the power management
    settings of the device and re-initialize them from scratch instead
    of relying on the previous settings (the device may have appeared
    after being not present previously, for example), so make it use
    the 'valid' flag of the D0 power state as the initial value of
    flags.power_manageable for it and call acpi_bus_init_power() to
    discover its current power state.
    
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Reviewed-by: Mika Westerberg <[email protected]>
    Cc: 3.10+ <[email protected]> # 3.10+
    rafaeljw committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    1b1f3e1 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'please-pull-syscall' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/aegl/linux
    
    Pull ia64 fixlet from Tony Luck:
     "Add execveat syscall"
    
    * tag 'please-pull-syscall' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
      [IA64] Enable execveat syscall for ia64
    torvalds committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    f40bde8 View commit details
    Browse the repository at this point in the history
  22. ACPI / processor: Convert apic_id to phys_id to make it arch agnostic

    apic_id in MADT table is the CPU hardware id which identify
    it self in the system for x86 and ia64, OSPM will use it for
    SMP init to map APIC ID to logical cpu number in the early
    boot, when the DSDT/SSDT (ACPI namespace) is scanned later, the
    ACPI processor driver is probed and the driver will use acpi_id
    in DSDT to get the apic_id, then map to the logical cpu number
    which is needed by the processor driver.
    
    Before ACPI 5.0, only x86 and ia64 were supported in ACPI spec,
    so apic_id is used both in arch code and ACPI core which is
    pretty fine. Since ACPI 5.0, ARM is supported by ACPI and
    APIC is not available on ARM, this will confuse people when
    apic_id is both used by x86 and ARM in one function.
    
    So convert apic_id to phys_id (which is the original meaning)
    in ACPI processor dirver to make it arch agnostic, but leave the
    arch dependent code unchanged, no functional change.
    
    Signed-off-by: Hanjun Guo <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Hanjun Guo authored and rafaeljw committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    af8f3f5 View commit details
    Browse the repository at this point in the history
  23. ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()

    acpi_map_lsapic() will allocate a logical CPU number and map it to
    physical CPU id (such as APIC id) for the hot-added CPU, it will also
    do some mapping for NUMA node id and etc, acpi_unmap_lsapic() will
    do the reverse.
    
    We can see that the name of the function is a little bit confusing and
    arch (IA64) dependent so rename them as acpi_(un)map_cpu() to make arch
    agnostic and explicit.
    
    Signed-off-by: Hanjun Guo <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Hanjun Guo authored and rafaeljw committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    d02dc27 View commit details
    Browse the repository at this point in the history
  24. Merge tag 'powerpc-3.19-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/mpe/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Wire up sys_execveat(). Tested on 32 & 64 bit.
    
     - Fix for kdump on LE systems with cpus hot unplugged.
    
     - Revert Anton's fix for "kernel BUG at kernel/smpboot.c:134!", this
       broke other platforms, we'll do a proper fix for 3.20.
    
    * tag 'powerpc-3.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
      Revert "powerpc: Secondary CPUs must set cpu_callin_map after setting active and online"
      powerpc/kdump: Ignore failure in enabling big endian exception during crash
      powerpc: Wire up sys_execveat() syscall
    torvalds committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    79b8cb9 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2015

  1. ACPI/int340x_thermal: enumerate INT340X devices even if they're not i…

    …n _ART/_TRT
    
    For some INT340X thermal devices, even if they are not referred in
    _TRT/_ART table, they still can be used by userspace for thermal control.
    Thus change the code to enumerated all the INT340X devices,
    no matter if they're referred in _TRT/_ART or not.
    
    Signed-off-by: Zhang Rui <[email protected]>
    Tested-by: Srinivas Pandruvada <[email protected]>
    zhang-rui committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    48628e4 View commit details
    Browse the repository at this point in the history
  2. ACPI/int340x_thermal: enumerate INT3401 for Intel SoC DTS thermal driver

    Intel SoC DTS thermal driver on Baytrail platform uses IRQ 86 for
    critical overheating notification.
    But this IRQ 86 is described in the _CRS control method of INT3401 device,
    thus we should enumerate INT3401 to set the IRQ descriptor when
    Intel SoC DTS thermal driver is built.
    
    Signed-off-by: Zhang Rui <[email protected]>
    Tested-by: Srinivas Pandruvada <[email protected]>
    zhang-rui committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    014d9d5 View commit details
    Browse the repository at this point in the history
  3. int340x_thermal/processor_thermal_device: return failure when

     there is no ACPI device object
    
    processor_thermal_device driver needs ACPI support to work. Thus, the driver
    probing should fail when there is no ACPI device object asscociated.
    
    This fixes a NULL pointer dereference when the driver is loaded
    with INT340X feature disabled in BIOS.
    
    Reported-by: Chen Yu <[email protected]>
    Signed-off-by: Zhang Rui <[email protected]>
    Tested-by: Chen Yu <[email protected]>
    zhang-rui committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    ad0f409 View commit details
    Browse the repository at this point in the history
  4. Linux 3.19-rc3

    torvalds committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    b1940cd View commit details
    Browse the repository at this point in the history
  5. batman-adv: fix and simplify condition when bonding should be used

    The current condition actually does NOT consider bonding when the
    interface the packet came in from is the soft interface, which is the
    opposite of what it should do (and the comment describes). Fix that and
    slightly simplify the condition.
    
    Reported-by: Ray Gibson <[email protected]>
    Signed-off-by: Simon Wunderlich <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    simonwunderlich authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    329887a View commit details
    Browse the repository at this point in the history
  6. batman-adv: fix delayed foreign originator recognition

    Currently it can happen that the reception of an OGM from a new
    originator is not being accepted. More precisely it can happen that
    an originator struct gets allocated and initialized
    (batadv_orig_node_new()), even the TQ gets calculated and set correctly
    (batadv_iv_ogm_calc_tq()) but still the periodic orig_node purging
    thread will decide to delete it if it has a chance to jump between
    these two function calls.
    
    This is because batadv_orig_node_new() initializes the last_seen value
    to zero and its caller (batadv_iv_ogm_orig_get()) makes it visible to
    other threads by adding it to the hash table already.
    batadv_iv_ogm_calc_tq() will set the last_seen variable to the correct,
    current time a few lines later but if the purging thread jumps in between
    that it will think that the orig_node timed out and will wrongly
    schedule it for deletion already.
    
    If the purging interval is the same as the originator interval (which is
    the default: 1 second), then this game can continue for several rounds
    until the random OGM jitter added enough difference between these
    two (in tests, two to about four rounds seemed common).
    
    Fixing this by initializing the last_seen variable of an orig_node
    to the current time before adding it to the hash table.
    
    Signed-off-by: Linus Lüssing <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    T-X authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    2c667a3 View commit details
    Browse the repository at this point in the history
  7. batman-adv: fix lock class for decoding hash in network-coding.c

    batadv_has_set_lock_class() is called with the wrong hash table as first
    argument (probably due to a copy-paste error), which leads to false
    positives when running with lockdep.
    
    Introduced-by: 612d2b4
    ("batman-adv: network coding - save overheard and tx packets for decoding")
    
    Signed-off-by: Martin Hundebøll <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    hundeboll authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    f44d540 View commit details
    Browse the repository at this point in the history
  8. batman-adv: fix counter for multicast supporting nodes

    A miscounting of nodes having multicast optimizations enabled can lead
    to multicast packet loss in the following scenario:
    
    If the first OGM a node receives from another one has no multicast
    optimizations support (no multicast tvlv) then we are missing to
    increase the counter. This potentially leads to the wrong assumption
    that we could safely use multicast optimizations.
    
    Fixings this by increasing the counter if the initial OGM has the
    multicast TVLV unset, too.
    
    Introduced by 60432d7
    ("batman-adv: Announce new capability via multicast TVLV")
    
    Reported-by: Tobias Hachmer <[email protected]>
    Signed-off-by: Linus Lüssing <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    T-X authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    e8829f0 View commit details
    Browse the repository at this point in the history
  9. batman-adv: fix multicast counter when purging originators

    When purging an orig_node we should only decrease counter tracking the
    number of nodes without multicast optimizations support if it was
    increased through this orig_node before.
    
    A not yet quite initialized orig_node (meaning it did not have its turn
    in the mcast-tvlv handler so far) which gets purged would not adhere to
    this and will lead to a counter imbalance.
    
    Fixing this by adding a check whether the orig_node is mcast-initalized
    before decreasing the counter in the mcast-orig_node-purging routine.
    
    Introduced by 60432d7
    ("batman-adv: Announce new capability via multicast TVLV")
    
    Reported-by: Tobias Hachmer <[email protected]>
    Signed-off-by: Linus Lüssing <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    T-X authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    a516488 View commit details
    Browse the repository at this point in the history
  10. batman-adv: fix potential TT client + orig-node memory leak

    This patch fixes a potential memory leak which can occur once an
    originator times out. On timeout the according global translation table
    entry might not get purged correctly. Furthermore, the non purged TT
    entry will cause its orig-node to leak, too. Which additionally can lead
    to the new multicast optimization feature not kicking in because of a
    therefore bogus counter.
    
    In detail: The batadv_tt_global_entry->orig_list holds the reference to
    the orig-node. Usually this reference is released after
    BATADV_PURGE_TIMEOUT through: _batadv_purge_orig()->
    batadv_purge_orig_node()->batadv_update_route()->_batadv_update_route()->
    batadv_tt_global_del_orig() which purges this global tt entry and
    releases the reference to the orig-node.
    
    However, if between two batadv_purge_orig_node() calls the orig-node
    timeout grew to 2*BATADV_PURGE_TIMEOUT then this call path isn't
    reached. Instead the according orig-node is removed from the
    originator hash in _batadv_purge_orig(), the batadv_update_route()
    part is skipped and won't be reached anymore.
    
    Fixing the issue by moving batadv_tt_global_del_orig() out of the rcu
    callback.
    
    Signed-off-by: Linus Lüssing <[email protected]>
    Acked-by: Antonio Quartulli <[email protected]>
    Signed-off-by: Marek Lindner <[email protected]>
    Signed-off-by: Antonio Quartulli <[email protected]>
    T-X authored and ordex committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    9d31b3c View commit details
    Browse the repository at this point in the history
  11. virtio: make del_vqs idempotent

    Our code calls del_vqs multiple times, assuming
    it's idempotent.
    
    commit 3ec7a77
        virtio_pci: free up vq->priv
    broke this assumption, by adding kfree there,
    so multiple calls cause double free.
    
    Fix it up.
    
    Fixes: 3ec7a77
    Reported-by: Sasha Levin <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    mstsirkin committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    80e9541 View commit details
    Browse the repository at this point in the history
  12. virtio_pci: device-specific release callback

    It turns out we need to add device-specific code
    in release callback. Move it to virtio_pci_legacy.c.
    
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    mstsirkin committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    945399a View commit details
    Browse the repository at this point in the history
  13. virtio_pci: defer kfree until release callback

    A struct device which has just been unregistered can live on past the
    point at which a driver decides to drop it's initial reference to the
    kobject gained on allocation.
    
    This implies that when releasing a virtio device, we can't free a struct
    virtio_device until the underlying struct device has been released,
    which might not happen immediately on device_unregister().
    
    Unfortunately, this is exactly what virtio pci does:
    it has an empty release callback, and frees memory immediately
    after unregistering the device.
    
    This causes an easy to reproduce crash if CONFIG_DEBUG_KOBJECT_RELEASE
    it enabled.
    
    To fix, free the memory only once we know the device is gone in the release
    callback.
    
    Cc: [email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    sashalevin authored and mstsirkin committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    63bd62a View commit details
    Browse the repository at this point in the history
  14. virtio_pci: document why we defer kfree

    The reason we defer kfree until release function is because it's a
    general rule for kobjects: kfree of the reference counter itself is only
    legal in the release function.
    
    Previous patch didn't make this clear, document this in code.
    
    Cc: [email protected]
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    mstsirkin committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    a1eb03f View commit details
    Browse the repository at this point in the history
  15. drm/amdkfd: Do copy_to/from_user in general kfd_ioctl()

    This patch moves the copy_to_user() and copy_from_user() calls from the
    different ioctl functions in amdkfd to the general kfd_ioctl() function, as
    this is a common code for all ioctls.
    
    This was done according to example taken from drm_ioctl.c
    
    Signed-off-by: Oded Gabbay <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Oded Gabbay committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    524a640 View commit details
    Browse the repository at this point in the history
  16. drm/amdkfd: reformat IOCTL definitions to drm-style

    This patch reformats the ioctl definitions in kfd_ioctl.h to be similar to the
    drm ioctls definition style.
    
    v2: Renamed KFD_COMMAND_(START|END) to AMDKFD_...
    
    Signed-off-by: Oded Gabbay <[email protected]>
    Acked-by: Christian König <[email protected]>
    Oded Gabbay committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    b81c55d View commit details
    Browse the repository at this point in the history
  17. drm/amdkfd: rewrite kfd_ioctl() according to drm_ioctl()

    This patch changes kfd_ioctl() to be very similar to drm_ioctl().
    
    The patch defines an array of amdkfd_ioctls, which maps IOCTL definition to the
    ioctl function.
    
    The kfd_ioctl() uses that mapping to call the appropriate ioctl function,
    through a function pointer.
    
    This patch also declares a new typedef for the ioctl function pointer.
    
    v2: Renamed KFD_COMMAND_(START|END) to AMDKFD_...
    
    Signed-off-by: Oded Gabbay <[email protected]>
    Acked-by: Christian König <[email protected]>
    Oded Gabbay committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    76baee6 View commit details
    Browse the repository at this point in the history
  18. r8152: support ndo_features_check

    Support ndo_features_check to avoid:
     - the transport offset is more than the hw limitation when using hw checksum.
     - the skb->len of a GSO packet is more than the limitation.
    
    Signed-off-by: Hayes Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    hayesorz authored and davem330 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    a5e3125 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'mac80211-for-davem-2015-01-06' of git://git.kernel.org/pub…

    …/scm/linux/kernel/git/jberg/mac80211
    
    Here's just a single fix - a revert of a patch that broke the
    p54 and cw2100 drivers (arguably due to bad assumptions there.)
    Since this affects kernels since 3.17, I decided to revert for
    now and we'll revisit this optimisation properly for -next.
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    15ecf7a View commit details
    Browse the repository at this point in the history
  20. xen-netback: fixing the propagation of the transmit shaper timeout

    Since e9ce7cb ("xen-netback: Factor queue-specific data into queue struct"),
    the transimt shaper timeout is always set to 0.  The value the user sets via
    xenbus is never propagated to the transmit shaper.
    
    This patch fixes the issue.
    
    Cc: Anthony Liguori <[email protected]>
    Signed-off-by: Imre Palik <[email protected]>
    Acked-by: Ian Campbell <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Palik, Imre authored and davem330 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    07ff890 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux…

    …-merge
    
    Included changes:
    - ensure bonding is used (if enabled) for packets coming in the soft
      interface
    - fix race condition to avoid orig_nodes to be deleted right after
      being added
    - avoid false positive lockdep splats by assigning lockclass to
      the proper hashtable lock objects
    - avoid miscounting of multicast 'disabled' nodes in the network
    - fix memory leak in the Global Translation Table in case of
      originator interval change
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    627d2cc View commit details
    Browse the repository at this point in the history
  22. selftests/exec: allow shell return code of 126

    When the shell fails to invoke a script because its path name
    is too long (ENAMETOOLONG), most shells return 127 to indicate
    command not found.  However, some systems report 126 (which POSIX
    suggests should indicate a non-executable file) for this case,
    so allow that too.
    
    Reported-by: Geert Uytterhoeven <[email protected]>
    Signed-off-by: David Drysdale <[email protected]>
    Tested-by: Geert Uytterhoeven <[email protected]>
    Signed-off-by: Shuah Khan <[email protected]>
    daviddrysdale authored and Shuah Khan committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    cd805f3 View commit details
    Browse the repository at this point in the history
  23. tools: testing: selftests: mq_perf_tests: Fix infinite loop on ARM

    We can't use a char type to check for a negative return value since char
    isn't guaranteed to be signed. Indeed, the char type tends to be unsigned on
    ARM.
    
    Signed-off-by: dann frazier <[email protected]>
    Signed-off-by: Shuah Khan <[email protected]>
    dannf authored and Shuah Khan committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    13e634d View commit details
    Browse the repository at this point in the history
  24. mm: propagate error from stack expansion even for guard page

    Jay Foad reports that the address sanitizer test (asan) sometimes gets
    confused by a stack pointer that ends up being outside the stack vma
    that is reported by /proc/maps.
    
    This happens due to an interaction between RLIMIT_STACK and the guard
    page: when we do the guard page check, we ignore the potential error
    from the stack expansion, which effectively results in a missing guard
    page, since the expected stack expansion won't have been done.
    
    And since /proc/maps explicitly ignores the guard page (commit
    d782437: "mm: fix up some user-visible effects of the stack guard
    page"), the stack pointer ends up being outside the reported stack area.
    
    This is the minimal patch: it just propagates the error.  It also
    effectively makes the guard page part of the stack limit, which in turn
    measn that the actual real stack is one page less than the stack limit.
    
    Let's see if anybody notices.  We could teach acct_stack_growth() to
    allow an extra page for a grow-up/grow-down stack in the rlimit test,
    but I don't want to add more complexity if it isn't needed.
    
    Reported-and-tested-by: Jay Foad <[email protected]>
    Cc: [email protected]
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    fee7e49 View commit details
    Browse the repository at this point in the history
  25. vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion

    While looking at hch's recent conversion to drop the MSG_*_TAG
    definitions, I noticed a long standing bug in vhost-scsi where
    the VIRTIO_SCSI_S_* attribute definitions where incorrectly
    being passed directly into target_submit_cmd_map_sgls().
    
    This patch adds the missing virtio-scsi to TCM/SAM task attribute
    conversion.
    
    Cc: Christoph Hellwig <[email protected]>
    Cc: Michael S. Tsirkin <[email protected]>
    Cc: Paolo Bonzini <[email protected]>
    Cc: [email protected] # 3.5
    Signed-off-by: Nicholas Bellinger <[email protected]>
    nablio3000 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    4624386 View commit details
    Browse the repository at this point in the history
  26. Documentation/target: Update fabric_ops to latest code

    This patch updates tcm_mod_builder.py to add/drop a handful of
    struct target_core_fabric_ops functions to sync up with the
    latest requirements to function in target_fabric_tf_ops_check().
    
    Signed-off-by: Nicholas Bellinger <[email protected]>
    nablio3000 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    67e51da View commit details
    Browse the repository at this point in the history
  27. Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tytso/ext4
    
    Pull ext4 bugfixes from Ted Ts'o:
     "Revert a potential seek_data/hole regression which shows up when using
      ext4 to handle ext3 file systems, plus two minor bug fixes"
    
    * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      ext4: remove spurious KERN_INFO from ext4_warning call
      Revert "ext4: fix suboptimal seek_{data,hole} extents traversial"
      ext4: prevent online resize with backup superblock
    torvalds committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    3b421b8 View commit details
    Browse the repository at this point in the history
  28. ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X

    The L521X variant of the Dell XPS15 has integrated nvidia graphics, and
    backlight control does not work properly when using the native interfaces.
    
    Link: https://bugzilla.redhat.com/show_bug.cgi?id=1163574
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    jwrdegoede authored and rafaeljw committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    6a3ef10 View commit details
    Browse the repository at this point in the history
  29. Merge branches 'acpi-pm', 'acpi-processor' and 'acpi-video'

    * acpi-pm:
      ACPI / PM: Fix PM initialization for devices that are not present
    
    * acpi-processor:
      ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()
      ACPI / processor: Convert apic_id to phys_id to make it arch agnostic
    
    * acpi-video:
      ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X
    rafaeljw committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    794c3a0 View commit details
    Browse the repository at this point in the history
  30. qla3xxx: don't allow never end busy loop

    The counter variable wasn't increased at all which may stuck under
    certain circumstances.
    
    Signed-off-by: Andy Shevchenko <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    andy-shev authored and davem330 committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    2abad79 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2015

  1. Merge tag 'for-linus-3' of git://git.code.sf.net/p/openipmi/linux-ipmi

    Pull IPMI fixlet from Corey Minyard:
     "Fix a compile warning"
    
    * tag 'for-linus-3' of git://git.code.sf.net/p/openipmi/linux-ipmi:
      ipmi: Fix compile warning with tv_usec
    torvalds committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    0adc180 View commit details
    Browse the repository at this point in the history
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
     "Just a pile of random fixes, including:
    
       1) Do not apply TSO limits to non-TSO packets, fix from Herbert Xu.
    
       2) MDI{,X} eeprom check in e100 driver is reversed, from John W.
          Linville.
    
       3) Missing error return assignments in several ethernet drivers, from
          Julia Lawall.
    
       4) Altera TSE device doesn't come back up after ifconfig down/up
          sequence, fix from Kostya Belezko.
    
       5) Add more cases to the check for whether the qmi_wwan device has a
          bogus MAC address and needs to be assigned a random one.  From
          Kristian Evensen.
    
       6) Fix interrupt hangs in CPSW, from Felipe Balbi.
    
       7) Implement ndo_features_check in r8152 so that the stack doesn't
          feed GSO packets which are outside of the chip's capabilities.
          From Hayes Wang"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (26 commits)
      qla3xxx: don't allow never end busy loop
      xen-netback: fixing the propagation of the transmit shaper timeout
      r8152: support ndo_features_check
      batman-adv: fix potential TT client + orig-node memory leak
      batman-adv: fix multicast counter when purging originators
      batman-adv: fix counter for multicast supporting nodes
      batman-adv: fix lock class for decoding hash in network-coding.c
      batman-adv: fix delayed foreign originator recognition
      batman-adv: fix and simplify condition when bonding should be used
      Revert "mac80211: Fix accounting of the tailroom-needed counter"
      net: ethernet: cpsw: fix hangs with interrupts
      enic: free all rq buffs when allocation fails
      qmi_wwan: Set random MAC on devices with buggy fw
      openvswitch: Consistently include VLAN header in flow and port stats.
      tcp: Do not apply TSO segment limit to non-TSO packets
      Altera TSE: Add missing phydev
      net/mlx4_core: Fix error flow in mlx4_init_hca()
      net/mlx4_core: Correcly update the mtt's offset in the MR re-reg flow
      qlcnic: Fix return value in qlcnic_probe()
      net: axienet: fix error return code
      ...
    torvalds committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    bdec419 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda - Add new GPU codec ID 0x10de0072 to snd-hda

    Vendor ID 0x10de0072 is used by a yet-to-be-named GPU chip.
    
    Signed-off-by: Aaron Plattner <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    aaronp24 authored and tiwai committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    60834b7 View commit details
    Browse the repository at this point in the history
  4. gpio: dln2: fix issue when an IRQ is unmasked then enabled

    As noticed during suspend/resume operations, the IRQ can be unmasked
    then disabled in suspend and eventually enabled in resume, but without
    being unmasked.
    
    The current implementation does not take into account interactions
    between mask/unmask and enable/disable interrupts, and thus in the
    above scenarios the IRQs remain unactive.
    
    To fix this we removed the enable/disable operations as they fallback
    to mask/unmask anyway.
    
    We also remove the pending bitmaks as it is already done in irq_data
    (i.e. IRQS_PENDING).
    
    Signed-off-by: Octavian Purdila <[email protected]>
    Acked-by: Alexandre Courbot <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    Octavian Purdila authored and linusw committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    0acb0e7 View commit details
    Browse the repository at this point in the history
  5. gpio: dln2: Fix gpio output value in dln2_gpio_direction_output()

    dln2_gpio_direction_output() ignored the state passed into it. Fix it.
    Also make dln2_gpio_pin_set_out_val return int, so we can check the error value.
    
    Signed-off-by: Axel Lin <[email protected]>
    Tested-by: Daniel Baluta <[email protected]>
    Acked-by: Alexandre Courbot <[email protected]>
    Reviewed-by: Octavian Purdila <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    AxelLin authored and linusw committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    5afb287 View commit details
    Browse the repository at this point in the history
  6. pinctrl: st: avoid multiple mutex lock

    Using the sysfs inteface to inspect the pins configuration
    the system can walk around a path which acquires the same
    mutex twice.
    
    On STiH407 platform, for example :
    cat /sys/kernel/debug/pinctrl/920f080.pin-controller-front0/pinconf-pins
    hangs the kernel and never returns.
    
    With this patch the mutex is temporary freed.
    
    Signed-off-by: Francesco Virlinzi <[email protected]>
    Signed-off-by: Patrice Chotard <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    Francesco VIRLINZI authored and linusw committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    96d16c3 View commit details
    Browse the repository at this point in the history
  7. pinctrl: st: Add irq_disable hook to st_gpio_irqchip

    Currently disable_irq() doesn't work for pinctrl-st driver, due to
    missing irq_disable hook in the driver.
    disable_irq() is required only for level-triggered interrupts, which
    is not the case normally.
    
    Signed-off-by: Pankaj Dev <[email protected]>
    Signed-off-by: Patrice Chotard <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    pchotard authored and linusw committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    fce7fcc View commit details
    Browse the repository at this point in the history
  8. vhost/net: length miscalculation

    commit 8b38694
        vhost/net: virtio 1.0 byte swap
    had this chunk:
    -       heads[headcount - 1].len += datalen;
    +       heads[headcount - 1].len = cpu_to_vhost32(vq, len - datalen);
    
    This adds datalen with the wrong sign, causing guest panics.
    
    Fixes: 8b38694
    Reported-by: Alex Williamson <[email protected]>
    Suggested-by: Greg Kurz <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    mstsirkin committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    99975cc View commit details
    Browse the repository at this point in the history
  9. arm64: Correct __NR_compat_syscalls for bpf

    Commit 97b56be (arm64: compat: Enable bpf syscall) made the
    usual mistake of forgetting to update __NR_compat_syscalls. Due to this,
    when el0_sync_compat calls el0_svc_naked, the test against sc_nr
    (__NR_compat_syscalls) will fail, and we'll call ni_sys, returning
    -ENOSYS to userspace.
    
    This patch bumps __NR_compat_syscalls appropriately, enabling the use of
    the bpf syscall from compat tasks.
    
    Due to the reorganisation of unistd{,32}.h as part of commit
    f3e5c84 (arm64: Add __NR_* definitions for compat syscalls) it
    is not currently possible to include both headers and sanity-check the
    value of __NR_compat_syscalls at build-time to prevent this from
    happening again. Additional rework is required to make such niceties a
    possibility.
    
    Cc: Will Deacon <[email protected]>
    Acked-by: Catalin Marinas <[email protected]>
    Signed-off-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Mark Rutland authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    0f9132c View commit details
    Browse the repository at this point in the history
  10. arm64: Remove unused prepare_to_copy()

    prepare_to_copy() was removed from all architectures supported at that
    time in commit 55ccf3f ("fork: move the real prepare_to_copy()
    users to arch_dup_task_struct()"). Remove it from arm64 as well.
    
    Signed-off-by: Tobias Klauser <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    tklauser authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    3efcb7a View commit details
    Browse the repository at this point in the history
  11. arm64: sanity checks: add missing AArch32 registers

    We don't currently check a number of registers exposed to AArch32 guests
    (MVFR{0,1,2}_EL1 and ID_DFR0_EL1), despite the fact these describe
    AArch32 feature support exposed to userspace and KVM guests similarly to
    AArch64 registers which we do check. We do not expect these registers to
    vary across a set of CPUs.
    
    This patch adds said registers to the cpuinfo framework and sanity
    checks. No sanity check failures have been observed on a current ARMv8
    big.LITTLE platform (Juno).
    
    Cc: Catalin Marinas <[email protected]>
    Reported-by: Suzuki K. Poulose <[email protected]>
    Signed-off-by: Suzuki K. Poulose <[email protected]>
    Signed-off-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Mark Rutland authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    80639d4 View commit details
    Browse the repository at this point in the history
  12. arm64: fix missing asm/pgtable-hwdef.h include in asm/processor.h

    On next-20150105, defconfig compilation breaks with:
    
    ./arch/arm64/include/asm/processor.h:47:32: error: ‘PHYS_MASK’ undeclared (first use in this function)
    
    Fix by including asm/pgtable-hwdef.h, where PHYS_MASK is defined.
    
    This second version incorporates a comment from Mark Rutland
    <[email protected]> to keep the includes in alphabetical order
    by filename.
    
    Signed-off-by: Paul Walmsley <[email protected]>
    Cc: Paul Walmsley <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Acked-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    nvpw authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    2ec4560 View commit details
    Browse the repository at this point in the history
  13. arm64: fix missing linux/bug.h include in asm/arch_timer.h

    On next-20150105, defconfig compilation breaks with:
    
    ./arch/arm64/include/asm/arch_timer.h:112:2: error: implicit declaration of function ‘BUG’ [-Werror=implicit-function-declaration]
    
    Fix by including linux/bug.h, where the BUG macro is defined.
    
    This second version incorporates a comment from Mark Rutland
    <[email protected]> to keep the includes in alphabetical order
    by filename.
    
    Signed-off-by: Paul Walmsley <[email protected]>
    Cc: Paul Walmsley <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Acked-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    nvpw authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    082471a View commit details
    Browse the repository at this point in the history
  14. arm64: fix missing asm/alternative.h include in kernel/module.c

    On next-20150105, defconfig compilation breaks with:
    
    arch/arm64/kernel/module.c:408:4: error: implicit declaration of function ‘apply_alternatives’ [-Werror=implicit-function-declaration]
    
    Fix by including asm/alternative.h, where the apply_alternatives()
    prototype is declared.
    
    This second version incorporates a comment from Mark Rutland
    <[email protected]> to keep the includes in alphabetical order
    by filename.
    
    Signed-off-by: Paul Walmsley <[email protected]>
    Cc: Paul Walmsley <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Acked-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    nvpw authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    2c2b282 View commit details
    Browse the repository at this point in the history
  15. arm64: fix missing asm/io.h include in kernel/smp_spin_table.c

    On next-20150105, defconfig compilation breaks with:
    
    arch/arm64/kernel/smp_spin_table.c:80:2: error: implicit declaration of function ‘ioremap_cache’ [-Werror=implicit-function-declaration]
    arch/arm64/kernel/smp_spin_table.c:92:2: error: implicit declaration of function ‘writeq_relaxed’ [-Werror=implicit-function-declaration]
    arch/arm64/kernel/smp_spin_table.c:101:2: error: implicit declaration of function ‘iounmap’ [-Werror=implicit-function-declaration]
    
    Fix by including asm/io.h, which contains definitions or prototypes
    for these macros or functions.
    
    This second version incorporates a comment from Mark Rutland
    <[email protected]> to keep the includes in alphabetical order
    by filename.
    
    Signed-off-by: Paul Walmsley <[email protected]>
    Cc: Paul Walmsley <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Acked-by: Mark Rutland <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    nvpw authored and wildea01 committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    59c6832 View commit details
    Browse the repository at this point in the history
  16. ALSA: fireworks: fix an endianness bug for transaction length

    Although the 't->length' is a big-endian value, it's used without any
    conversion. This means that the driver always uses 'length' parameter.
    
    Fixes: 555e8a8("ALSA: fireworks: Add command/response functionality into hwdep interface")
    Reported-by: Clemens Ladisch <[email protected]>
    Signed-off-by: Takashi Sakamoto <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    takaswie authored and tiwai committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    92cb465 View commit details
    Browse the repository at this point in the history
  17. assoc_array: Include rcupdate.h for call_rcu() definition

    Include rcupdate.h header to provide call_rcu() definition. This was implicitly
    being provided by slab.h file which include srcu.h somewhere in its include
    hierarchy which in-turn included rcupdate.h.
    
    Lately, tinification effort added support to remove srcu entirely because of
    which we are encountering build errors like
    
    lib/assoc_array.c: In function 'assoc_array_apply_edit':
    lib/assoc_array.c:1426:2: error: implicit declaration of function 'call_rcu' [-Werror=implicit-function-declaration]
    cc1: some warnings being treated as errors
    
    Fix these by including rcupdate.h explicitly.
    
    Signed-off-by: Pranith Kumar <[email protected]>
    Reported-by: Scott Wood <[email protected]>
    pranith authored and dhowells committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    990428b View commit details
    Browse the repository at this point in the history
  18. vfio-pci: Fix the check on pci device type in vfio_pci_probe()

    Current vfio-pci just supports normal pci device, so vfio_pci_probe() will
    return if the pci device is not a normal device. While current code makes a
    mistake. PCI_HEADER_TYPE is the offset in configuration space of the device
    type, but we use this value to mask the type value.
    
    This patch fixs this by do the check directly on the pci_dev->hdr_type.
    
    Signed-off-by: Wei Yang <[email protected]>
    Signed-off-by: Alex Williamson <[email protected]>
    Cc: [email protected] # v3.6+
    Wei Yang authored and awilliam committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    7c2e211 View commit details
    Browse the repository at this point in the history
  19. nfsd: fix fi_delegees leak when fi_had_conflict returns true

    Currently, nfs4_set_delegation takes a reference to an existing
    delegation and then checks to see if there is a conflict. If there is
    one, then it doesn't release that reference.
    
    Change the code to take the reference after the check and only if there
    is no conflict.
    
    Signed-off-by: Jeff Layton <[email protected]>
    Cc: [email protected]
    Signed-off-by: J. Bruce Fields <[email protected]>
    Jeff Layton authored and J. Bruce Fields committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    94ae1db View commit details
    Browse the repository at this point in the history
  20. rpc: fix xdr_truncate_encode to handle buffer ending on page boundary

    A struct xdr_stream at a page boundary might point to the end of one
    page or the beginning of the next, but xdr_truncate_encode isn't
    prepared to handle the former.
    
    This can cause corruption of NFSv4 READDIR replies in the case that a
    readdir entry that would have exceeded the client's dircount/maxcount
    limit would have ended exactly on a 4k page boundary.  You're more
    likely to hit this case on large directories.
    
    Other xdr_truncate_encode callers are probably also affected.
    
    Reported-by: Holger Hoffstätte <[email protected]>
    Tested-by: Holger Hoffstätte <[email protected]>
    Fixes: 3e19ce7 "rpc: xdr_truncate_encode"
    Cc: [email protected]
    Signed-off-by: J. Bruce Fields <[email protected]>
    J. Bruce Fields committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    49a068f View commit details
    Browse the repository at this point in the history
  21. ARM: wire up execveat syscall

    Signed-off-by: Russell King <[email protected]>
    Russell King committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    841ee23 View commit details
    Browse the repository at this point in the history
  22. ARM: 8249/1: mm: dump: don't skip regions

    Currently the arm page table dumping code starts dumping page tables
    from USER_PGTABLES_CEILING. This is unnecessary for skipping any entries
    related to userspace as the swapper_pg_dir does not contain such
    entries, and results in a couple of unfortuante side effects.
    
    Firstly, any kernel mappings which might exist below
    USER_PGTABLES_CEILING will not be accounted in the dump output. This
    masks any entries erroneously created below this address.
    
    Secondly, if the final page table entry walked is part of a valid
    mapping the page table dumping code will not log the region this entry
    is part of, as the final note_page call in walk_pgd will trigger an
    early return when 0 < USER_PGTABLES_CEILING. Luckily this isn't seen on
    contemporary systems as they typically don't have enough RAM to extend
    the linear mapping right to the end of the address space.
    
    Due to the way addr is constructed in the walk_* functions, it can never
    be less than USER_PGTABLES_CEILING when walking the page tables, so it
    is not necessary to avoid dereferencing invalid table addresses. The
    existing checks for st->current_prot and st->marker[1].start_address are
    sufficient to ensure we will not print and/or dereference garbage when
    trying to log information.
    
    This patch removes both problematic uses of USER_PGTABLES_CEILING from
    the arm page table dumping code, preventing both of these issues. We
    will now report any low mappings, and the final note_page call will not
    return early, ensuring all regions are logged.
    
    Signed-off-by: Mark Rutland <[email protected]>
    Cc: Steve Capper <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Will Deacon <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Mark Rutland authored and Russell King committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    cca547e View commit details
    Browse the repository at this point in the history
  23. ARM: 8253/1: mm: use phys_addr_t type in map_lowmem() for kernel mem …

    …region
    
    Now local variables kernel_x_start and kernel_x_end defined using
    'unsigned long' type which is wrong because they represent physical
    memory range and will be calculated wrongly if LPAE is enabled.
    As result, all following code in map_lowmem() will not work correctly.
    
    For example, Keystone 2 boot is broken because
     kernel_x_start == 0x0000 0000
     kernel_x_end   == 0x0080 0000
    
    instead of
     kernel_x_start == 0x0000 0008 0000 0000
     kernel_x_end   == 0x0000 0008 0080 0000
    and as result whole low memory will be mapped with MT_MEMORY_RW
    permissions by code (start > kernel_x_end):
    		} else if (start >= kernel_x_end) {
    			map.pfn = __phys_to_pfn(start);
    			map.virtual = __phys_to_virt(start);
    			map.length = end - start;
    			map.type = MT_MEMORY_RW;
    
    			create_mapping(&map);
    		}
    
    Hence, fix it by using phys_addr_t type for variables kernel_x_start
    and kernel_x_end.
    
    Tested-by: Murali Karicheri <[email protected]>
    Signed-off-by: Grygorii Strashko <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Grygorii Strashko authored and Russell King committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    ac08468 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2015

  1. Merge branch 'linux-3.19' of git://anongit.freedesktop.org/git/nouvea…

    …u/linux-2.6 into drm-fixes
    
        - Fix BUG() on !SMP builds
        - Fix for OOPS on pre-NV50 that snuck into -next
        - MCP7[789A] hang fix where firmware hasn't already setup NISO pollers
        - NV4x IGP MSI disable, it doesn't appear to work correctly
        - Add GK208B to recognised boards (no code change aside from adding
        chipset recognition)
    
    * 'linux-3.19' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
      drm/nouveau/nouveau: Do not BUG_ON(!spin_is_locked()) on UP
      drm/nv4c/mc: disable msi
      drm/nouveau/fb/ram/mcp77: enable NISO poller
      drm/nouveau/fb/ram/mcp77: use carveout reg to determine size
      drm/nouveau/fb/ram/mcp77: subclass nouveau_ram
      drm/nouveau: wake up the card if necessary during gem callbacks
      drm/nouveau/device: Add support for GK208B, resolves bug 86935
      drm/nouveau: fix missing return statement in nouveau_ttm_tt_unpopulate
      drm/nouveau/bios: fix oops on pre-nv50 chipsets
    airlied committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    f662488 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'drm-fixes-3.19' of git://people.freedesktop.org/~agd5f/…

    …linux into drm-fixes
    
    some minor radeon fixes.
    
    * 'drm-fixes-3.19' of git://people.freedesktop.org/~agd5f/linux:
      drm/radeon: integer underflow in radeon_cp_dispatch_texture()
      drm/radeon: adjust default bapm settings for KV
      drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw
      drm/radeon: fix sad_count check for dce3
      drm/radeon: KV has three PPLLs (v2)
    airlied committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    eaee8ec View commit details
    Browse the repository at this point in the history
  3. Merge tag 'amdkfd-fixes-2015-01-06' of git://people.freedesktop.org/~…

    …gabbayo/linux into drm-fixes
    
    - Complete overhaul to the main IOCTL function, kfd_ioctl(), according to
      drm_ioctl() example. This includes changing the IOCTL definitions, so it
      breaks compatibility with previous versions of the userspace. However,
      because the kernel was not officialy released yet, and this the first
      kernel that includes amdkfd, I assume I can still do that at this stage.
    
    - A couple of bug fixes for the non-HWS path (used for bring-ups and
      debugging purposes only).
    
    * tag 'amdkfd-fixes-2015-01-06' of git://people.freedesktop.org/~gabbayo/linux:
      drm/amdkfd: rewrite kfd_ioctl() according to drm_ioctl()
      drm/amdkfd: reformat IOCTL definitions to drm-style
      drm/amdkfd: Do copy_to/from_user in general kfd_ioctl()
      drm/amdkfd: unmap VMID<-->PASID when relesing VMID (non-HWS)
      drm/radeon: Assign VMID to PASID for IH in non-HWS mode
      drm/radeon: do not leave queue acquired if timeout happens in kgd_hqd_destroy()
      drm/amdkfd: Load mqd to hqd in non-HWS mode
      drm/amd: Fixing typos in kfd<->kgd interface
    airlied committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    79305ec View commit details
    Browse the repository at this point in the history
  4. Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
    "
      - 'perf probe' should fall back to find probe point in symbols when failing
        to do so in a debuginfo file (Masami Hiramatsu)
    
      - Fix 'perf probe' crash in dwarf_getcfi_elf (Namhyung Kim)
    
      - Fix shell completion with 'perf list' --raw-dump option (Taesoo Kim)
    
      - Fix 'perf diff' to sort by baseline field by default (Namhyung Kim)
    "
    
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    ed9eb84 View commit details
    Browse the repository at this point in the history
  5. arm64/efi: add missing call to early_ioremap_reset()

    The early ioremap support introduced by patch bf4b558
    ("arm64: add early_ioremap support") failed to add a call to
    early_ioremap_reset() at an appropriate time. Without this call,
    invocations of early_ioremap etc. that are done too late will go
    unnoticed and may cause corruption.
    
    This is exactly what happened when the first user of this feature
    was added in patch f84d027 ("arm64: add EFI runtime services").
    The early mapping of the EFI memory map is unmapped during an early
    initcall, at which time the early ioremap support is long gone.
    
    Fix by adding the missing call to early_ioremap_reset() to
    setup_arch(), and move the offending early_memunmap() to right after
    the point where the early mapping of the EFI memory map is last used.
    
    Fixes: f84d027 ("arm64: add EFI runtime services")
    Cc: <[email protected]>
    Signed-off-by: Leif Lindholm <[email protected]>
    Signed-off-by: Ard Biesheuvel <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Ard Biesheuvel authored and wildea01 committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    0e63ea4 View commit details
    Browse the repository at this point in the history
  6. x86/xen: Free bootmem in free_p2m_page() during early boot

    With recent changes in p2m we now have legitimate cases when
    p2m memory needs to be freed during early boot (i.e. before
    slab is initialized).
    
    Signed-off-by: Boris Ostrovsky <[email protected]>
    Reviewed-by: Juergen Gross <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    Boris Ostrovsky authored and David Vrabel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    701a261 View commit details
    Browse the repository at this point in the history
  7. x86/xen: don't count how many PFNs are identity mapped

    This accounting is just used to print a diagnostic message that isn't
    very useful.
    
    Signed-off-by: David Vrabel <[email protected]>
    Reviewed-by: Juergen Gross <[email protected]>
    David Vrabel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    bc7142c View commit details
    Browse the repository at this point in the history
  8. x86/xen: add extra memory for remapped frames during setup

    If the non-RAM regions in the e820 memory map are larger than the size
    of the initial balloon, a BUG was triggered as the frames are remaped
    beyond the limit of the linear p2m.  The frames are remapped into the
    initial balloon area (xen_extra_mem) but not enough of this is
    available.
    
    Ensure enough extra memory regions are added for these remapped
    frames.
    
    Signed-off-by: David Vrabel <[email protected]>
    Reviewed-by: Juergen Gross <[email protected]>
    David Vrabel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    a97dae1 View commit details
    Browse the repository at this point in the history
  9. x86/xen: avoid freeing static 'name' when kasprintf() fails

    In case kasprintf() fails in xen_setup_timer() we assign name to the
    static string "<timer kasprintf failed>". We, however, don't check
    that fact before issuing kfree() in xen_teardown_timer(), kernel is
    supposed to crash with 'kernel BUG at mm/slub.c:3341!'
    
    Solve the issue by making name a fixed length string inside struct
    xen_clock_event_device. 16 bytes should be enough.
    
    Suggested-by: Laszlo Ersek <[email protected]>
    Signed-off-by: Vitaly Kuznetsov <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    vittyvk authored and David Vrabel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    7be0772 View commit details
    Browse the repository at this point in the history
  10. perf hists: Fix children sort key behavior

    When perf report --children resorts output fields, it tries to put
    caller above the callee.  But this was only meaningful for a same thread
    and doing this requires callchain enabled.  So fix its check before
    comparing the callchain depth.
    
    This also changes the hist accumulation tests: In test 3, xmalloc in
    bash thread should be above than other perf threads due to alphabetical
    order of comm string.  Also it's under page_fault in bash thread since
    alphabetical order of dso name.  The sys_perf_event_open in perf thread
    is put on the last line since it's self overhead is 0.
    
    In test 4, the sys_perf_event_open is put above other perf entries that
    have same children overhead since its callchain depth is smaller.
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Adrian Hunter <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    5ca8271 View commit details
    Browse the repository at this point in the history
  11. perf callchain: Free callchains when hist entries are deleted

    Markus reported that "perf top -g" can leak ~300MB per second on his
    machine.  This is partly because it missed to free callchains when hist
    entries are deleted.  Fix it.
    
    Reported-by: Markus Trippelsdorf <[email protected]>
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Frederic Weisbecker <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Markus Trippelsdorf <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/20141230053813.GD6081@sejong
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    d114960 View commit details
    Browse the repository at this point in the history
  12. perf hists browser: Fix segfault when showing callchain

    When perf report on TUI shows callchain it checks first node has
    siblings to determine whether it needs to print percentage value.
    
    But it missed a case that first node is NULL.  So sometimes it segfaults
    like below:
    
      $ perf top -g
      perf: Segmentation fault
      -------- backtrace --------
      perf[0x4fcefb]
      /usr/lib/libc.so.6(+0x33b20)[0x7f2a35839b20]
      perf(rb_next+0x8)[0x47d3d8]
      perf[0x4f6058]
      perf[0x4f833b]
      perf[0x4f8610]
      perf[0x4f209e]
      perf(ui_browser__run+0x3a)[0x4f2e6a]
      perf[0x4f94ee]
      perf(perf_evlist__tui_browse_hists+0x94)[0x4fbbf4]
      perf[0x444d10]
      /usr/lib/libpthread.so.0(+0x7314)[0x7f2a37070314]
      /usr/lib/libc.so.6(clone+0x6d)[0x7f2a358ee5bd]
    
      $ addr2line -e `which perf` 0x4f6058
      /home/namhyung/project/linux/tools/perf/ui/browsers/hists.c:553
    
    I don't know why the backtrace didn't print some symbols..
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Fixes: 4087d11 ("perf hists browser: Print overhead percent value for first-level callchain")
    Cc: Adrian Hunter <[email protected]>
    Cc: Andi Kleen <[email protected]>
    Cc: Frederic Weisbecker <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    namhyung authored and acmel committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    c09e31c View commit details
    Browse the repository at this point in the history
  13. selftests/vm: fix link error for transhuge-stress test

    add -lrt to fix undefined reference to `clock_gettime'
    error seen when the test is compiled using gcc 4.6.4.
    
    Signed-off-by: Andrey Skvortsov <[email protected]>
    Signed-off-by: Shuah Khan <[email protected]>
    AndreySV authored and Shuah Khan committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    f5db310 View commit details
    Browse the repository at this point in the history
  14. ceph: use %zu for len in ceph_fill_inline_data()

    len is size_t, should be printed with %zu.
    
    Signed-off-by: Ilya Dryomov <[email protected]>
    idryomov committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    0668ff5 View commit details
    Browse the repository at this point in the history
  15. libceph: fix sparse endianness warnings

    The only real issue is the one in auth_x.c and it came with
    3.19-rc1 merge.
    
    Signed-off-by: Ilya Dryomov <[email protected]>
    idryomov committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    d7d5a00 View commit details
    Browse the repository at this point in the history
  16. gpio: grgpio: Avoid potential NULL pointer dereference

    irqmap is optional property, so priv->domain can be NULL if !irqmap.
    Thus add NULL test for priv->domain before calling irq_domain_remove()
    to prevent NULL pointer dereference.
    
    Signed-off-by: Axel Lin <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    AxelLin authored and linusw committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    879828c View commit details
    Browse the repository at this point in the history
  17. Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

    Pull crypto fixes from Herbert Xu:
     "This fixes a build problem with sha-mb with old toolchains and an
      implementation bug in the ctr(aes)/by8 branch of aesni-intel that's
      enabled when AVX is available"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: sha-mb - Add avx2_supported check.
      crypto: aesni - fix "by8" variant for 128 bit keys
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    716c13a View commit details
    Browse the repository at this point in the history
  18. Merge tag 'iommu-fixes-v3.19-rc3' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/joro/iommu
    
    Pull IOMMU fixes from Joerg Roedel:
     "Including:
    
       - a domain structure leak fix in the Intel VT-d driver
    
       - compile error fix for the VMSA IPMMU driver because of the
         IOMMU_EXEC -> IOMMU_NOEXEC conversion
    
       - two small cleanups as an aftermath of the merge window and the
         domain-leak fix"
    
    * tag 'iommu-fixes-v3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
      iommu/rockchip: Drop owner assignment from platform_drivers
      iommu/vt-d: Remove dead code in device_notifier
      iommu/vt-d: Fix dmar_domain leak in iommu_attach_device
      iommu/ipmmu-vmsa: Change IOMMU_EXEC to IOMMU_NOEXEC
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    1c16938 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/mst/vhost
    
    pull virtio/vhost fixes from Michael Tsirkin:
     "This fixes a couple of bugs triggered by hot-unplug of virtio devices,
      as well as a regression in vhost-net"
    
    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
      vhost/net: length miscalculation
      virtio_pci: document why we defer kfree
      virtio_pci: defer kfree until release callback
      virtio_pci: device-specific release callback
      virtio: make del_vqs idempotent
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    b11ecb2 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'keys-fixes-20150107' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/dhowells/linux-fs
    
    Pull keyrings fixes from David Howells:
     "Two fixes:
    
       - Fix for the order in which things are done during key garbage
         collection to prevent named keyrings causing a crash
         [CVE-2014-9529].
    
       - Fix assoc_array to explicitly #include rcupdate.h to prevent
         compilation errors under certain circumstances"
    
    * tag 'keys-fixes-20150107' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
      assoc_array: Include rcupdate.h for call_rcu() definition
      KEYS: close race between key lookup and freeing
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    086b2a9 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'pm+acpi-3.19-rc4' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rafael/linux-pm
    
    Pull power management and ACPI fixes from Rafael Wysocki:
     "These are an ACPI device power management initialization fix (-stable
      material), two commits renaming stuff in the ACPI processor driver to
      make it more suitable for ARM64 processors and a new ACPI backlight
      blacklist entry.
    
      Specifics:
    
       - Fix ACPI power management intialization for device objects
         corresponding to devices that are not present at the init time (the
         _STA control method returns 0 for them) and therefore should not be
         regarded as power manageable (Rafael J Wysocki).
    
       - Rename a structure field and two functions used by the ACPI
         processor driver to make them less tied to architectures that use
         APICs (both x86 and ia64) and more suitable for ARM64 processors
         (Hanjun Guo).
    
       - Add a disable_native_backlight quirk for Dell XPS15 L521X designed
         in an unusual way preventing native backlight from working on that
         machine (Hans de Goede)"
    
    * tag 'pm+acpi-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X
      ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()
      ACPI / processor: Convert apic_id to phys_id to make it arch agnostic
      ACPI / PM: Fix PM initialization for devices that are not present
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    74e59ea View commit details
    Browse the repository at this point in the history
  22. Merge tag 'pinctrl-v3.19-2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/linusw/linux-pinctrl
    
    Pull pinctrl fixes from Linus Walleij:
     "Allright allright I've been lazy over christmas and New Years.  Here
      are a few collected pin control fixes eventually.  Details:
    
      A set of assorted pin control fixes for the Rockchip and STi drivers"
    
    * tag 'pinctrl-v3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
      pinctrl: st: Add irq_disable hook to st_gpio_irqchip
      pinctrl: st: avoid multiple mutex lock
      pinctrl: rockchip: Fix enable/disable/mask/unmask
      pinctrl: rockchip: Handle wakeup pins
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    c4ccac4 View commit details
    Browse the repository at this point in the history
  23. Makefile: include arch/*/include/generated/uapi before .../generated

    The introduction of the uapi directories in v3.7-rc1 moved some of the
    generated headers from arch/*/include/generated to the uapi directory,
    keeping the #include directives intact.
    
    This creates a problem when bisecting, because the unversioned files are
    not cleaned automatically by git and the compiler might include stale
    headers as a result.  Instead of cleaning them in the Makefiles, promote
    arch/*/include/generated/uapi in the search path.  Under normal
    circumstances, there is no overlap between this uapi subdirectory and
    its parent, so the include choices remain the same.  We keep
    arch/*/include/generated/uapi in the USERINCLUDE variable so that it is
    usable standalone.
    
    Note that we cannot completely swap the order of the uapi and
    kernel-only directories, since the headers in include/uapi/asm-generic
    are meant to be wrapped by their include/asm-generic counterparts when
    building kernel code.
    
    Reported-by: "Nicholas A. Bellinger" <[email protected]>
    Reported-by: David Drysdale <[email protected]>
    Signed-off-by: Michal Marek <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    michal42 authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    90ac086 View commit details
    Browse the repository at this point in the history
  24. Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/mmarek/kbuild
    
    Pull kbuild fix from Michal Marek:
     "make mrproper / distclean stopped removing the generated debian/
      directory in v3.16.  This fixes it"
    
    * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
      kbuild: Fix removal of the debian/ directory
    torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    11c8f01 View commit details
    Browse the repository at this point in the history
  25. ocfs2: remove bogus check in dlm_process_recovery_data

    In dlm_process_recovery_data, only when dlm_new_lock failed the ret will
    be set to -ENOMEM.  And in this case, newlock is definitely NULL.  So
    test newlock is meaningless, remove it.
    
    Signed-off-by: Joseph Qi <[email protected]>
    Reviewed-by: Alex Chen <[email protected]>
    Reviewed-by: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    josephhz authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    eb4f73b View commit details
    Browse the repository at this point in the history
  26. exit: fix race between wait_consider_task() and wait_task_zombie()

    wait_consider_task() checks EXIT_ZOMBIE after EXIT_DEAD/EXIT_TRACE and
    both checks can fail if we race with EXIT_ZOMBIE -> EXIT_DEAD/EXIT_TRACE
    change in between, gcc needs to reload p->exit_state after
    security_task_wait().  In this case ->notask_error will be wrongly
    cleared and do_wait() can hang forever if it was the last eligible
    child.
    
    Many thanks to Arne who carefully investigated the problem.
    
    Note: this bug is very old but it was pure theoretical until commit
    b3ab031 ("wait: completely ignore the EXIT_DEAD tasks").  Before
    this commit "-O2" was probably enough to guarantee that compiler won't
    read ->exit_state twice.
    
    Signed-off-by: Oleg Nesterov <[email protected]>
    Reported-by: Arne Goedeke <[email protected]>
    Tested-by: Arne Goedeke <[email protected]>
    Cc: <[email protected]>	[3.15+]
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    oleg-nesterov authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    3245d6a View commit details
    Browse the repository at this point in the history
  27. mm: prevent endless growth of anon_vma hierarchy

    Constantly forking task causes unlimited grow of anon_vma chain.  Each
    next child allocates new level of anon_vmas and links vma to all
    previous levels because pages might be inherited from any level.
    
    This patch adds heuristic which decides to reuse existing anon_vma
    instead of forking new one.  It adds counter anon_vma->degree which
    counts linked vmas and directly descending anon_vmas and reuses anon_vma
    if counter is lower than two.  As a result each anon_vma has either vma
    or at least two descending anon_vmas.  In such trees half of nodes are
    leafs with alive vmas, thus count of anon_vmas is no more than two times
    bigger than count of vmas.
    
    This heuristic reuses anon_vmas as few as possible because each reuse
    adds false aliasing among vmas and rmap walker ought to scan more ptes
    when it searches where page is might be mapped.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Fixes: 5beb493 ("mm: change anon_vma linking to fix multi-process server scalability issue")
    [[email protected]: fix typo, per Rik]
    Signed-off-by: Konstantin Khlebnikov <[email protected]>
    Reported-by: Daniel Forrest <[email protected]>
    Tested-by: Michal Hocko <[email protected]>
    Tested-by: Jerome Marchand <[email protected]>
    Reviewed-by: Michal Hocko <[email protected]>
    Reviewed-by: Rik van Riel <[email protected]>
    Cc: <[email protected]>	[2.6.34+]
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    koct9i authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    7a3ef20 View commit details
    Browse the repository at this point in the history
  28. mm: protect set_page_dirty() from ongoing truncation

    Tejun, while reviewing the code, spotted the following race condition
    between the dirtying and truncation of a page:
    
    __set_page_dirty_nobuffers()       __delete_from_page_cache()
      if (TestSetPageDirty(page))
                                         page->mapping = NULL
    				     if (PageDirty())
    				       dec_zone_page_state(page, NR_FILE_DIRTY);
    				       dec_bdi_stat(mapping->backing_dev_info, BDI_RECLAIMABLE);
        if (page->mapping)
          account_page_dirtied(page)
            __inc_zone_page_state(page, NR_FILE_DIRTY);
    	__inc_bdi_stat(mapping->backing_dev_info, BDI_RECLAIMABLE);
    
    which results in an imbalance of NR_FILE_DIRTY and BDI_RECLAIMABLE.
    
    Dirtiers usually lock out truncation, either by holding the page lock
    directly, or in case of zap_pte_range(), by pinning the mapcount with
    the page table lock held.  The notable exception to this rule, though,
    is do_wp_page(), for which this race exists.  However, do_wp_page()
    already waits for a locked page to unlock before setting the dirty bit,
    in order to prevent a race where clear_page_dirty() misses the page bit
    in the presence of dirty ptes.  Upgrade that wait to a fully locked
    set_page_dirty() to also cover the situation explained above.
    
    Afterwards, the code in set_page_dirty() dealing with a truncation race
    is no longer needed.  Remove it.
    
    Reported-by: Tejun Heo <[email protected]>
    Signed-off-by: Johannes Weiner <[email protected]>
    Acked-by: Kirill A. Shutemov <[email protected]>
    Reviewed-by: Jan Kara <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    hnaz authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    2d6d7f9 View commit details
    Browse the repository at this point in the history
  29. MAINTAINERS: update rydberg's addresses

    My ISP finally gave up on the old mail address, so I am moving things
    over to bitmath.org instead.  Also change the status fields to better
    reflect reality.
    
    Signed-off-by: Henrik Rydberg <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Henrik Rydberg authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    75dd112 View commit details
    Browse the repository at this point in the history
  30. ocfs2: fix the wrong directory passed to ocfs2_lookup_ino_from_name()…

    … when link file
    
    In ocfs2_link(), the parent directory inode passed to function
    ocfs2_lookup_ino_from_name() is wrong.  Parameter dir is the parent of
    new_dentry not old_dentry.  We should get old_dir from old_dentry and
    lookup old_dentry in old_dir in case another node remove the old dentry.
    
    With this change, hard linking works again, when paths are relative with
    at least one subdirectory.  This is how the problem was reproducable:
    
      # mkdir a
      # mkdir b
      # touch a/test
      # ln a/test b/test
      ln: failed to create hard link `b/test' => `a/test': No such file or  directory
    
    However when creating links in the same dir, it worked well.
    
    Now the link gets created.
    
    Fixes: 0e04831 ("ocfs2: check existence of old dentry in ocfs2_link()")
    Signed-off-by: joyce.xue <[email protected]>
    Reported-by: Szabo Aron - UBIT <[email protected]>
    Cc: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Tested-by: Aron Szabo <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    xuejiufei authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    53dc20b View commit details
    Browse the repository at this point in the history
  31. arch/blackfin/mach-bf533/boards/stamp.c: add linux/delay.h

    build error
    
      arch/blackfin/mach-bf533/boards/stamp.c:834:2: error: implicit declaration of function 'mdelay'
    
    Signed-off-by: Oleg Nesterov <[email protected]>
    Reported-by: Wu Fengguang <[email protected]>
    Acked-by: Mike Frysinger <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    oleg-nesterov authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    9de93e7 View commit details
    Browse the repository at this point in the history
  32. vfs: renumber FMODE_NONOTIFY and add to uniqueness check

    Fix clashing values for O_PATH and FMODE_NONOTIFY on sparc.  The
    clashing O_PATH value was added in commit 5229645 ("vfs: add
    nonconflicting values for O_PATH") but this can't be changed as it is
    user-visible.
    
    FMODE_NONOTIFY is only used internally in the kernel, but it is in the
    same numbering space as the other O_* flags, as indicated by the comment
    at the top of include/uapi/asm-generic/fcntl.h (and its use in
    fs/notify/fanotify/fanotify_user.c).  So renumber it to avoid the clash.
    
    All of this has happened before (commit 12ed2e3: "fanotify:
    FMODE_NONOTIFY and __O_SYNC in sparc conflict"), and all of this will
    happen again -- so update the uniqueness check in fcntl_init() to
    include __FMODE_NONOTIFY.
    
    Signed-off-by: David Drysdale <[email protected]>
    Acked-by: David S. Miller <[email protected]>
    Acked-by: Jan Kara <[email protected]>
    Cc: Heinrich Schuchardt <[email protected]>
    Cc: Alexander Viro <[email protected]>
    Cc: Arnd Bergmann <[email protected]>
    Cc: Stephen Rothwell <[email protected]>
    Cc: Eric Paris <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    daviddrysdale authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    75069f2 View commit details
    Browse the repository at this point in the history
  33. mm/debug_pagealloc: remove obsolete Kconfig options

    These are obsolete since commit e30825f ("mm/debug-pagealloc:
    prepare boottime configurable") was merged.  So remove them.
    
    [[email protected]: find obsolete Kconfig options]
    Signed-off-by: Joonsoo Kim <[email protected]>
    Cc: Paul Bolle <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Cc: Minchan Kim <[email protected]>
    Cc: Dave Hansen <[email protected]>
    Cc: Michal Nazarewicz <[email protected]>
    Cc: Jungsoo Son <[email protected]>
    Acked-by: David Rientjes <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    JoonsooKim authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    70ecb3c View commit details
    Browse the repository at this point in the history
  34. mm: memcontrol: switch soft limit default back to infinity

    Commit 3e32cb2 ("mm: memcontrol: lockless page counters")
    accidentally switched the soft limit default from infinity to zero,
    which turns all memcgs with even a single page into soft limit excessors
    and engages soft limit reclaim on all of them during global memory
    pressure.  This makes global reclaim generally more aggressive, but also
    inverts the meaning of existing soft limit configurations where unset
    soft limits are usually more generous than set ones.
    
    Signed-off-by: Johannes Weiner <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Acked-by: Vladimir Davydov <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    hnaz authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    24d404d View commit details
    Browse the repository at this point in the history
  35. memcg: fix destination cgroup leak on task charges migration

    We are supposed to take one css reference per each memory page and per
    each swap entry accounted to a memory cgroup.  However, during task
    charges migration we take a reference to the destination cgroup twice
    per each swap entry: first in mem_cgroup_do_precharge()->try_charge()
    and then in mem_cgroup_move_swap_account(), permanently leaking the
    destination cgroup.
    
    The hunk taking the second reference seems to be a leftover from the
    pre-00501b531c472 ("mm: memcontrol: rewrite charge API") era.  Remove it
    to fix the leak.
    
    Fixes: e8ea14c (mm: memcontrol: take a css reference for each charged page)
    Signed-off-by: Vladimir Davydov <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Vladimir Davydov authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    4bdfc1c View commit details
    Browse the repository at this point in the history
  36. mm, vmscan: prevent kswapd livelock due to pfmemalloc-throttled proce…

    …ss being killed
    
    Charles Shirron and Paul Cassella from Cray Inc have reported kswapd
    stuck in a busy loop with nothing left to balance, but
    kswapd_try_to_sleep() failing to sleep.  Their analysis found the cause
    to be a combination of several factors:
    
    1. A process is waiting in throttle_direct_reclaim() on pgdat->pfmemalloc_wait
    
    2. The process has been killed (by OOM in this case), but has not yet been
       scheduled to remove itself from the waitqueue and die.
    
    3. kswapd checks for throttled processes in prepare_kswapd_sleep():
    
            if (waitqueue_active(&pgdat->pfmemalloc_wait)) {
                    wake_up(&pgdat->pfmemalloc_wait);
    		return false; // kswapd will not go to sleep
    	}
    
       However, for a process that was already killed, wake_up() does not remove
       the process from the waitqueue, since try_to_wake_up() checks its state
       first and returns false when the process is no longer waiting.
    
    4. kswapd is running on the same CPU as the only CPU that the process is
       allowed to run on (through cpus_allowed, or possibly single-cpu system).
    
    5. CONFIG_PREEMPT_NONE=y kernel is used. If there's nothing to balance, kswapd
       encounters no voluntary preemption points and repeatedly fails
       prepare_kswapd_sleep(), blocking the process from running and removing
       itself from the waitqueue, which would let kswapd sleep.
    
    So, the source of the problem is that we prevent kswapd from going to
    sleep until there are processes waiting on the pfmemalloc_wait queue,
    and a process waiting on a queue is guaranteed to be removed from the
    queue only when it gets scheduled.  This was done to make sure that no
    process is left sleeping on pfmemalloc_wait when kswapd itself goes to
    sleep.
    
    However, it isn't necessary to postpone kswapd sleep until the
    pfmemalloc_wait queue actually empties.  To prevent processes from being
    left sleeping, it's actually enough to guarantee that all processes
    waiting on pfmemalloc_wait queue have been woken up by the time we put
    kswapd to sleep.
    
    This patch therefore fixes this issue by substituting 'wake_up' with
    'wake_up_all' and removing 'return false' in the code snippet from
    prepare_kswapd_sleep() above.  Note that if any process puts itself in
    the queue after this waitqueue_active() check, or after the wake up
    itself, it means that the process will also wake up kswapd - and since
    we are under prepare_to_wait(), the wake up won't be missed.  Also we
    update the comment prepare_kswapd_sleep() to hopefully more clearly
    describe the races it is preventing.
    
    Fixes: 5515061 ("mm: throttle direct reclaimers if PF_MEMALLOC reserves are low and swap is backed by network storage")
    Signed-off-by: Vlastimil Babka <[email protected]>
    Signed-off-by: Vladimir Davydov <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Acked-by: Rik van Riel <[email protected]>
    Cc: <[email protected]>	[3.6+]
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    tehcaster authored and torvalds committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    9e5e366 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2015

  1. gpio: dln2: use bus_sync_unlock instead of scheduling work

    Use the irq_chip bus_sync_unlock method to update hardware registers
    instead of scheduling work from the mask/unmask methods. This simplifies
    a bit the driver and make it more uniform with the other GPIO IRQ
    drivers.
    
    Signed-off-by: Octavian Purdila <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    Octavian Purdila authored and linusw committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    96b932b View commit details
    Browse the repository at this point in the history
  2. Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
     - Free callchains when hist entries are deleted, plugging a massive leak in
       'top -g', where hist_entries (and its callchains) are decayed over time. (Namhyung Kim)
    
     - Fix segfault when showing callchain in the hists browser (report & top) (Namhyung Kim)
    
     - Fix children sort key behavior, and also the 'perf test 32' test that
       was failing due to reliance on undefined behaviour (Namhyung Kim)
    
    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    300176a View commit details
    Browse the repository at this point in the history
  3. x86: Fix off-by-one in instruction decoder

    Stephane reported that the PEBS fixup was broken by the recent commit to
    the instruction decoder. The thing had an off-by-one which resulted in
    not being able to decode the last instruction and always bail.
    
    Reported-by: Stephane Eranian <[email protected]>
    Fixes: 6ba48ff ("x86: Remove arbitrary instruction size limit in instruction decoder")
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: [email protected] # 3.18
    Cc: <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Liang Kan <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Dave Hansen <[email protected]>
    Cc: Jim Keniston <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Masami Hiramatsu <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    0f363b2 View commit details
    Browse the repository at this point in the history
  4. perf: Move task_pt_regs sampling into arch code

    On x86_64, at least, task_pt_regs may be only partially initialized
    in many contexts, so x86_64 should not use it without extra care
    from interrupt context, let alone NMI context.
    
    This will allow x86_64 to override the logic and will supply some
    scratch space to use to make a cleaner copy of user regs.
    
    Tested-by: Jiri Olsa <[email protected]>
    Signed-off-by: Andy Lutomirski <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: [email protected]
    Cc: Wu Fengguang <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Mike Galbraith <[email protected]>
    Cc: Arjan van de Ven <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Jean Pihet <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Mark Salter <[email protected]>
    Cc: Russell King <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/e431cd4c18c2e1c44c774f10758527fb2d1025c4.1420396372.git.luto@amacapital.net
    Signed-off-by: Ingo Molnar <[email protected]>
    amluto authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    88a7c26 View commit details
    Browse the repository at this point in the history
  5. perf/x86_64: Improve user regs sampling

    Perf reports user regs for kernel-mode samples so that samples can
    be backtraced through user code.  The old code was very broken in
    syscall context, resulting in useless backtraces.
    
    The new code, in contrast, is still dangerously racy, but it should
    at least work most of the time.
    
    Tested-by: Jiri Olsa <[email protected]>
    Signed-off-by: Andy Lutomirski <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: [email protected]
    Cc: Wu Fengguang <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Cc: Mike Galbraith <[email protected]>
    Cc: Arjan van de Ven <[email protected]>
    Cc: David Ahern <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/243560c26ff0f739978e2459e203f6515367634d.1420396372.git.luto@amacapital.net
    Signed-off-by: Ingo Molnar <[email protected]>
    amluto authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    86c269f View commit details
    Browse the repository at this point in the history
  6. perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes

    There was another report of a boot failure with a #GP fault in the
    uncore SBOX initialization. The earlier work around was not enough
    for this system.
    
    The boot was failing while trying to initialize the third SBOX.
    
    This patch detects parts with only two SBOXes and limits the number
    of SBOX units to two there.
    
    Stable material, as it affects boot problems on 3.18.
    
    Tested-by: Andreas Oehler <[email protected]>
    Signed-off-by: Andi Kleen <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: Yan, Zheng <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Andi Kleen authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    5306c31 View commit details
    Browse the repository at this point in the history
  7. sched, fanotify: Deal with nested sleeps

    As per e23738a ("sched, inotify: Deal with nested sleeps").
    
    fanotify_read is a wait loop with sleeps in. Wait loops rely on
    task_struct::state and sleeps do too, since that's the only means of
    actually sleeping. Therefore the nested sleeps destroy the wait loop
    state and the wait loop breaks the sleep functions that assume
    TASK_RUNNING (mutex_lock).
    
    Fix this by using the new woken_wake_function and wait_woken() stuff,
    which registers wakeups in wait and thereby allows shrinking the
    task_state::state changes to the actual sleep part.
    
    Reported-by: Yuanhan Liu <[email protected]>
    Reported-by: Sedat Dilek <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Takashi Iwai <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Eric Paris <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Eric Paris <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    536ebe9 View commit details
    Browse the repository at this point in the history
  8. sched: Fix odd values in effective_load() calculations

    In effective_load, we have (long w * unsigned long tg->shares) / long W,
    when w is negative, it is cast to unsigned long and hence the product is
    insanely large. Fix this by casting tg->shares to long.
    
    Reported-by: Sasha Levin <[email protected]>
    Signed-off-by: Yuyang Du <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Dave Jones <[email protected]>
    Cc: Andrey Ryabinin <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    ydu19 authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    32a8df4 View commit details
    Browse the repository at this point in the history
  9. sched/deadline: Fix migration of SCHED_DEADLINE tasks

    According to global EDF, tasks should be migrated between runqueues
    without checking if their scheduling deadlines and runtimes are valid.
    However, SCHED_DEADLINE currently performs such a check:
    a migration happens doing:
    
    	deactivate_task(rq, next_task, 0);
    	set_task_cpu(next_task, later_rq->cpu);
    	activate_task(later_rq, next_task, 0);
    
    which ends up calling dequeue_task_dl(), setting the new CPU, and then
    calling enqueue_task_dl().
    
    enqueue_task_dl() then calls enqueue_dl_entity(), which calls
    update_dl_entity(), which can modify scheduling deadline and runtime,
    breaking global EDF scheduling.
    
    As a result, some of the properties of global EDF are not respected:
    for example, a taskset {(30, 80), (40, 80), (120, 170)} scheduled on
    two cores can have unbounded response times for the third task even
    if 30/80+40/80+120/170 = 1.5809 < 2
    
    This can be fixed by invoking update_dl_entity() only in case of
    wakeup, or if this is a new SCHED_DEADLINE task.
    
    Signed-off-by: Luca Abeni <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Acked-by: Juri Lelli <[email protected]>
    Cc: <[email protected]>
    Cc: Dario Faggioli <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Luca Abeni authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    6a503c3 View commit details
    Browse the repository at this point in the history
  10. sched/deadline: Avoid double-accounting in case of missed deadlines

    The dl_runtime_exceeded() function is supposed to ckeck if
    a SCHED_DEADLINE task must be throttled, by checking if its
    current runtime is <= 0. However, it also checks if the
    scheduling deadline has been missed (the current time is
    larger than the current scheduling deadline), further
    decreasing the runtime if this happens.
    This "double accounting" is wrong:
    
    - In case of partitioned scheduling (or single CPU), this
      happens if task_tick_dl() has been called later than expected
      (due to small HZ values). In this case, the current runtime is
      also negative, and replenish_dl_entity() can take care of the
      deadline miss by recharging the current runtime to a value smaller
      than dl_runtime
    
    - In case of global scheduling on multiple CPUs, scheduling
      deadlines can be missed even if the task did not consume more
      runtime than expected, hence penalizing the task is wrong
    
    This patch fix this problem by throttling a SCHED_DEADLINE task
    only when its runtime becomes negative, and not modifying the runtime
    
    Signed-off-by: Luca Abeni <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Acked-by: Juri Lelli <[email protected]>
    Cc: <[email protected]>
    Cc: Dario Faggioli <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Luca Abeni authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    269ad80 View commit details
    Browse the repository at this point in the history
  11. sched/fair: Fix RCU stall upon -ENOMEM in sched_create_group()

    When alloc_fair_sched_group() in sched_create_group() fails,
    free_sched_group() is called, and free_fair_sched_group() is called by
    free_sched_group(). Since destroy_cfs_bandwidth() is called by
    free_fair_sched_group() without calling init_cfs_bandwidth(),
    RCU stall occurs at hrtimer_cancel():
    
      INFO: rcu_sched self-detected stall on CPU { 1}  (t=60000 jiffies g=13074 c=13073 q=0)
      Task dump for CPU 1:
      (fprintd)       R  running task        0  6249      1 0x00000088
      ...
      Call Trace:
       <IRQ>  [<ffffffff81094988>] sched_show_task+0xa8/0x110
       [<ffffffff81097acd>] dump_cpu_task+0x3d/0x50
       [<ffffffff810c3a80>] rcu_dump_cpu_stacks+0x90/0xd0
       [<ffffffff810c7751>] rcu_check_callbacks+0x491/0x700
       [<ffffffff810cbf2b>] update_process_times+0x4b/0x80
       [<ffffffff810db046>] tick_sched_handle.isra.20+0x36/0x50
       [<ffffffff810db0a2>] tick_sched_timer+0x42/0x70
       [<ffffffff810ccb19>] __run_hrtimer+0x69/0x1a0
       [<ffffffff810db060>] ? tick_sched_handle.isra.20+0x50/0x50
       [<ffffffff810ccedf>] hrtimer_interrupt+0xef/0x230
       [<ffffffff810452cb>] local_apic_timer_interrupt+0x3b/0x70
       [<ffffffff8164a465>] smp_apic_timer_interrupt+0x45/0x60
       [<ffffffff816485bd>] apic_timer_interrupt+0x6d/0x80
       <EOI>  [<ffffffff810cc588>] ? lock_hrtimer_base.isra.23+0x18/0x50
       [<ffffffff81193cf1>] ? __kmalloc+0x211/0x230
       [<ffffffff810cc9d2>] hrtimer_try_to_cancel+0x22/0xd0
       [<ffffffff81193cf1>] ? __kmalloc+0x211/0x230
       [<ffffffff810ccaa2>] hrtimer_cancel+0x22/0x30
       [<ffffffff810a3cb5>] free_fair_sched_group+0x25/0xd0
       [<ffffffff8108df46>] free_sched_group+0x16/0x40
       [<ffffffff810971bb>] sched_create_group+0x4b/0x80
       [<ffffffff810aa383>] sched_autogroup_create_attach+0x43/0x1c0
       [<ffffffff8107dc9c>] sys_setsid+0x7c/0x110
       [<ffffffff81647729>] system_call_fastpath+0x12/0x17
    
    Check whether init_cfs_bandwidth() was called before calling
    destroy_cfs_bandwidth().
    
    Signed-off-by: Tetsuo Handa <[email protected]>
    [ Move the check into destroy_cfs_bandwidth() to aid compilability. ]
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Paul Turner <[email protected]>
    Cc: Ben Segall <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Tetsuo Handa authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    7f1a169 View commit details
    Browse the repository at this point in the history
  12. mutex: Always clear owner field upon mutex_unlock()

    Currently if DEBUG_MUTEXES is enabled, the mutex->owner field is only
    cleared iff debug_locks is active. This exposes a race to other users of
    the field where the mutex->owner may be still set to a stale value,
    potentially upsetting mutex_spin_on_owner() among others.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=87955
    Signed-off-by: Chris Wilson <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Acked-by: Davidlohr Bueso <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    ickle authored and Ingo Molnar committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    a63b03e View commit details
    Browse the repository at this point in the history
  13. HID: roccat: potential out of bounds in pyra_sysfs_write_settings()

    This is a static checker fix.  We write some binary settings to the
    sysfs file.  One of the settings is the "->startup_profile".  There
    isn't any checking to make sure it fits into the
    pyra->profile_settings[] array in the profile_activated() function.
    
    I added a check to pyra_sysfs_write_settings() in both places because
    I wasn't positive that the other callers were correct.
    
    Cc: <[email protected]>
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: Jiri Kosina <[email protected]>
    Dan Carpenter authored and Jiri Kosina committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    606185b View commit details
    Browse the repository at this point in the history
  14. ARM: 8275/1: mm: fix PMD_SECT_RDONLY undeclared compile error

    In v3.19-rc3 tree when CONFIG_ARM_LPAE and CONFIG_DEBUG_RODATA are enabled
    image failed to compile with the following error:
    
    arch/arm/mm/init.c:661:14: error: ‘PMD_SECT_RDONLY’ undeclared here (not in a function)
    
    It seems that '80d6b0c ARM: mm: allow text and rodata sections to be read-only'
    and 'ded9477 ARM: 8109/1: mm: Modify pte_write and pmd_write logic for LPAE'
    commits crossed. 80d6b0c uses PMD_SECT_RDONLY macro but ded9477 renames it
    and uses software bits L_PMD_SECT_RDONLY instead.
    
    Fix is to use L_PMD_SECT_RDONLY instead PMD_SECT_RDONLY as ded9477 does in
    another places.
    
    Signed-off-by: Victor Kamensky <[email protected]>
    Acked-by: Will Deacon <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Victor Kamensky authored and Russell King committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    1e34792 View commit details
    Browse the repository at this point in the history
  15. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "12 fixes"
    
    * emailed patches from Andrew Morton <[email protected]>:
      mm, vmscan: prevent kswapd livelock due to pfmemalloc-throttled process being killed
      memcg: fix destination cgroup leak on task charges migration
      mm: memcontrol: switch soft limit default back to infinity
      mm/debug_pagealloc: remove obsolete Kconfig options
      vfs: renumber FMODE_NONOTIFY and add to uniqueness check
      arch/blackfin/mach-bf533/boards/stamp.c: add linux/delay.h
      ocfs2: fix the wrong directory passed to ocfs2_lookup_ino_from_name() when link file
      MAINTAINERS: update rydberg's addresses
      mm: protect set_page_dirty() from ongoing truncation
      mm: prevent endless growth of anon_vma hierarchy
      exit: fix race between wait_consider_task() and wait_task_zombie()
      ocfs2: remove bogus check in dlm_process_recovery_data
    torvalds committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    b3d574a View commit details
    Browse the repository at this point in the history
  16. target: Drop arbitrary maximum I/O size limit

    This patch drops the arbitrary maximum I/O size limit in sbc_parse_cdb(),
    which currently for fabric_max_sectors is hardcoded to 8192 (4 MB for 512
    byte sector devices), and for hw_max_sectors is a backend driver dependent
    value.
    
    This limit is problematic because Linux initiators have only recently
    started to honor block limits MAXIMUM TRANSFER LENGTH, and other non-Linux
    based initiators (eg: MSFT Fibre Channel) can also generate I/Os larger
    than 4 MB in size.
    
    Currently when this happens, the following message will appear on the
    target resulting in I/Os being returned with non recoverable status:
    
      SCSI OP 28h with too big sectors 16384 exceeds fabric_max_sectors: 8192
    
    Instead, drop both [fabric,hw]_max_sector checks in sbc_parse_cdb(),
    and convert the existing hw_max_sectors into a purely informational
    attribute used to represent the granuality that backend driver and/or
    subsystem code is splitting I/Os upon.
    
    Also, update FILEIO with an explicit FD_MAX_BYTES check in fd_execute_rw()
    to deal with the one special iovec limitiation case.
    
    v2 changes:
      - Drop hw_max_sectors check in sbc_parse_cdb()
    
    Reported-by: Lance Gropper <[email protected]>
    Reported-by: Stefan Priebe <[email protected]>
    Cc: Christoph Hellwig <[email protected]>
    Cc: Martin K. Petersen <[email protected]>
    Cc: Roland Dreier <[email protected]>
    Cc: [email protected] # 3.4
    Signed-off-by: Nicholas Bellinger <[email protected]>
    nablio3000 committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    046ba64 View commit details
    Browse the repository at this point in the history
  17. target: Drop left-over fabric_max_sectors attribute

    Now that fabric_max_sectors is no longer used to enforce the maximum
    I/O size, go ahead and drop it's left-over usage in target-core and
    associated backend drivers.
    
    Cc: Christoph Hellwig <[email protected]>
    Cc: Martin K. Petersen <[email protected]>
    Cc: Roland Dreier <[email protected]>
    Signed-off-by: Nicholas Bellinger <[email protected]>
    nablio3000 committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    7216dc0 View commit details
    Browse the repository at this point in the history
  18. target: Allow Write Exclusive non-reservation holders to READ

    For PGR reservation of type Write Exclusive Access, allow all non
    reservation holding I_T nexuses with active registrations to READ
    from the device.
    
    This addresses a bug where active registrations that attempted
    to READ would result in an reservation conflict.
    
    Signed-off-by: Lee Duncan <[email protected]>
    Signed-off-by: Nicholas Bellinger <[email protected]>
    gonzoleeman authored and nablio3000 committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    1ecc758 View commit details
    Browse the repository at this point in the history
  19. MAINTAINERS: Add entry for iSER target driver

    iSCSI extensions for RDMA - Target mode.
    
    Signed-off-by: Sagi Grimberg <[email protected]>
    Signed-off-by: Nicholas Bellinger <[email protected]>
    Sagi Grimberg authored and nablio3000 committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    2b70e5f View commit details
    Browse the repository at this point in the history
  20. iscsi-target: Fix typos in enum cmd_flags_table

    Everything else starts with ICF so the last two should as well.
    
    Fix places they are used to match.
    
    Signed-off-by: Andy Grover <[email protected]>
    Signed-off-by: Nicholas Bellinger <[email protected]>
    Andy Grover authored and nablio3000 committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    8060b8d View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2015

  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/mason/linux-btrfs
    
    Pull btrfs fixes from Chris Mason:
     "None of these are huge, but my commit does fix a regression from 3.18
      that could cause lost files during log replay.
    
      This also adds Dave Sterba to the list of Btrfs maintainers.  It
      doesn't mean we're doing things differently, but Dave has really been
      helping with the maintainer workload for years"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      Btrfs: don't delay inode ref updates during log replay
      Btrfs: correctly get tree level in tree_backref_for_extent
      Btrfs: call inode_dec_link_count() on mkdir error path
      Btrfs: abort transaction if we don't find the block group
      Btrfs, scrub: uninitialized variable in scrub_extent_for_parity()
      Btrfs: add more maintainers
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    03c751a View commit details
    Browse the repository at this point in the history
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/sage/ceph-client
    
    Pull two Ceph fixes from Sage Weil:
     "These are both pretty trivial: a sparse warning fix and size_t printk
      thing"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
      libceph: fix sparse endianness warnings
      ceph: use %zu for len in ceph_fill_inline_data()
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    20ebb34 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'for-3.19' of git://linux-nfs.org/~bfields/linux

    Pull two nfsd bugfixes from Bruce Fields.
    
    * 'for-3.19' of git://linux-nfs.org/~bfields/linux:
      rpc: fix xdr_truncate_encode to handle buffer ending on page boundary
      nfsd: fix fi_delegees leak when fi_had_conflict returns true
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    dc9319f View commit details
    Browse the repository at this point in the history
  4. Merge tag 'for_linus-3.19-rc4' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/jwessel/kgdb
    
    Pull kgdb/kdb fixes from Jason Wessel:
     "These have been around since 3.17 and in kgdb-next for the last 9
      weeks and some will go back to -stable.
    
      Summary of changes:
    
      Cleanups
       - kdb: Remove unused command flags, repeat flags and KDB_REPEAT_NONE
    
      Fixes
       - kgdb/kdb: Allow access on a single core, if a CPU round up is
         deemed impossible, which will allow inspection of the now "trashed"
         kernel
       - kdb: Add enable mask for the command groups
       - kdb: access controls to restrict sensitive commands"
    
    * tag 'for_linus-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
      kernel/debug/debug_core.c: Logging clean-up
      kgdb: timeout if secondary CPUs ignore the roundup
      kdb: Allow access to sensitive commands to be restricted by default
      kdb: Add enable mask for groups of commands
      kdb: Categorize kdb commands (similar to SysRq categorization)
      kdb: Remove KDB_REPEAT_NONE flag
      kdb: Use KDB_REPEAT_* values as flags
      kdb: Rename kdb_register_repeat() to kdb_register_flags()
      kdb: Rename kdb_repeat_t to kdb_cmdflags_t, cmd_repeat to cmd_flags
      kdb: Remove currently unused kdbtab_t->cmd_flags
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    aa92913 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Will Deacon:
     "Here is a handful of minor arm64 fixes discovered and fixed over the
      Christmas break.  The main part is adding some missing #includes that
      we seem to be getting transitively but have started causing problems
      in -next.
    
       - Fix early mapping fixmap corruption by EFI runtime services
       - Fix __NR_compat_syscalls off-by-one
       - Add missing sanity checks for some 32-bit registers
       - Add some missing #includes which we get transitively
       - Remove unused prepare_to_copy() macro"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64/efi: add missing call to early_ioremap_reset()
      arm64: fix missing asm/io.h include in kernel/smp_spin_table.c
      arm64: fix missing asm/alternative.h include in kernel/module.c
      arm64: fix missing linux/bug.h include in asm/arch_timer.h
      arm64: fix missing asm/pgtable-hwdef.h include in asm/processor.h
      arm64: sanity checks: add missing AArch32 registers
      arm64: Remove unused prepare_to_copy()
      arm64: Correct __NR_compat_syscalls for bpf
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    d80b34c View commit details
    Browse the repository at this point in the history
  6. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Pull drm fixes from Dave Airlie:
     "I'm briefly working between holidays and LCA, so this is close to a
      couple of weeks of fixes,
    
      Two sets of amdkfd fixes, this is a new feature this kernel, and this
      pull fixes a few issues since it got merged, ordering when built-in to
      kernel and also the iommu vs gpu ordering patch, it also reworks the
      ioctl before the initial release.
    
      Otherwise:
       - radeon: some misc fixes all over, hdmi, 4k, dpm
       - nouveau: mcp77 init fixes, oops fix, bug on fix, msi fix
       - i915: power fixes, revert VGACNTR patch
    
      Probably be quiteer next week since I'll be at LCA anyways"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (33 commits)
      drm/amdkfd: rewrite kfd_ioctl() according to drm_ioctl()
      drm/amdkfd: reformat IOCTL definitions to drm-style
      drm/amdkfd: Do copy_to/from_user in general kfd_ioctl()
      drm/radeon: integer underflow in radeon_cp_dispatch_texture()
      drm/radeon: adjust default bapm settings for KV
      drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw
      drm/radeon: fix sad_count check for dce3
      drm/radeon: KV has three PPLLs (v2)
      drm/amdkfd: unmap VMID<-->PASID when relesing VMID (non-HWS)
      drm/radeon: Init amdkfd only if it was compiled
      amdkfd: actually allocate longs for the pasid bitmask
      drm/nouveau/nouveau: Do not BUG_ON(!spin_is_locked()) on UP
      drm/nv4c/mc: disable msi
      drm/nouveau/fb/ram/mcp77: enable NISO poller
      drm/nouveau/fb/ram/mcp77: use carveout reg to determine size
      drm/nouveau/fb/ram/mcp77: subclass nouveau_ram
      drm/nouveau: wake up the card if necessary during gem callbacks
      drm/nouveau/device: Add support for GK208B, resolves bug 86935
      drm/nouveau: fix missing return statement in nouveau_ttm_tt_unpopulate
      drm/nouveau/bios: fix oops on pre-nv50 chipsets
      ...
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    1dd34da View commit details
    Browse the repository at this point in the history
  7. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jikos/hid
    
    Pull HID updates from Jiri Kosina:
    
     - bounds checking fixes in logitech and roccat drivers, from Peter Wu
       and Dan Carpenter
    
     - double-kfree fix in i2c-hid driver on bus shutdown, from Mika
       Westerberg
    
     - a couple of various small driver fixes
    
     - a few device id additions
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: roccat: potential out of bounds in pyra_sysfs_write_settings()
      HID: Add a new id 0x501a for Genius MousePen i608X
      HID: logitech-hidpp: prefix the name with "Logitech"
      HID: logitech-hidpp: avoid unintended fall-through
      HID: Allow HID_BATTERY_STRENGTH to be enabled
      HID: i2c-hid: Do not free buffers in i2c_hid_stop()
      HID: add battery quirk for USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO keyboard
      HID: logitech-hidpp: check WTP report length
      HID: logitech-dj: check report length
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    28023d2 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'sound-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "All a few small regression or stable fixes: a Nvidia HDMI ID addition,
      a regression fix for CAIAQ stream count, a typo fix for GPIO setup
      with STAC/IDT HD-audio codecs, and a Fireworks big-endian fix"
    
    * tag 'sound-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: fireworks: fix an endianness bug for transaction length
      ALSA: hda - Add new GPU codec ID 0x10de0072 to snd-hda
      ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs
      ALSA: snd-usb-caiaq: fix stream count check
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    eb74926 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fix from James Bottomley:
     "Just one fix: a qlogic busy wait regression"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      qla2xxx: fix busy wait regression
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    aff8ad5 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'vfio-v3.19-rc4' of git://github.com/awilliam/linux-vfio

    Pull VFIO fix from Alex Williamson:
     "Fix PCI header check in vfio_pci_probe() (Wei Yang)"
    
    * tag 'vfio-v3.19-rc4' of git://github.com/awilliam/linux-vfio:
      vfio-pci: Fix the check on pci device type in vfio_pci_probe()
    torvalds committed Jan 10, 2015
    Configuration menu
    Copy the full SHA
    4850d37 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2015

  1. Merge branch 'core/urgent' into locking/urgent, to collect all pendin…

    …g locking fixes
    
    Signed-off-by: Ingo Molnar <[email protected]>
    Ingo Molnar committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    8e654dd View commit details
    Browse the repository at this point in the history
  2. mm: Don't count the stack guard page towards RLIMIT_STACK

    Commit fee7e49 ("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: Chih-Wei Huang <[email protected]>
    Cc: Jay Foad <[email protected]>
    Cc: [email protected]  # to match back-porting of fee7e49
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    690eac5 View commit details
    Browse the repository at this point in the history
  3. mm: fix corner case in anon_vma endless growing prevention

    Fix for BUG_ON(anon_vma->degree) splashes in unlink_anon_vmas() ("kernel
    BUG at mm/rmap.c:399!") caused by commit 7a3ef20 ("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: Konstantin Khlebnikov <[email protected]>
    Reported-and-tested-by: Chris Clayton <[email protected]>
    Reported-and-tested-by: Oded Gabbay <[email protected]>
    Reported-and-tested-by: Chih-Wei Huang <[email protected]>
    Acked-by: Rik van Riel <[email protected]>
    Acked-by: Vlastimil Babka <[email protected]>
    Cc: Daniel Forrest <[email protected]>
    Cc: Michal Hocko <[email protected]>
    Cc: [email protected]  # to match back-porting of 7a3ef20
    Signed-off-by: Linus Torvalds <[email protected]>
    koct9i authored and torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    b800c91 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    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
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    1e6c3e8 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    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
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    ddb321a View commit details
    Browse the repository at this point in the history
  6. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    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
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    5ab551d View commit details
    Browse the repository at this point in the history
  7. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    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
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    505569d View commit details
    Browse the repository at this point in the history
  8. Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

    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
    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    0cbaed1 View commit details
    Browse the repository at this point in the history
  9. linux 3.19-rc4

    torvalds committed Jan 11, 2015
    Configuration menu
    Copy the full SHA
    eaa27f3 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2015

  1. mmc: sdhci: Tuning should not change max_blk_count

    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: Adrian Hunter <[email protected]>
    Reviewed-by: Aaron Lu <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    ac00531 View commit details
    Browse the repository at this point in the history
  2. mmc: sdhci: Add out_unlock to sdhci_execute_tuning

    A 'goto' can be used to save duplicating unlocking
    and returning.
    
    Signed-off-by: Adrian Hunter <[email protected]>
    Reviewed-by: Aaron Lu <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    d519c86 View commit details
    Browse the repository at this point in the history
  3. mmc: sdhci: Simplify use of tuning timer

    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: Adrian Hunter <[email protected]>
    Reviewed-by: Aaron Lu <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    38e40bf View commit details
    Browse the repository at this point in the history
  4. mmc: sdhci: Disable re-tuning for HS400

    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: Adrian Hunter <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    b5540ce View commit details
    Browse the repository at this point in the history
  5. mmc: sdhci-pxav3: do the mbus window configuration after enabling clocks

    In commit 5491ce3 ("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: 5491ce3 ("mmc: sdhci-pxav3: add support for the Armada 38x SDHCI controller")
    Cc: <[email protected]> # v3.15+
    Signed-off-by: Thomas Petazzoni <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    tpetazzoni authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    aa8165f View commit details
    Browse the repository at this point in the history
  6. mmc: sdhci: Fix sleep in atomic after inserting SD card

    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: Krzysztof Kozlowski <[email protected]>
    Fixes: 94144a4 ("mmc: sdhci: add get_cd() implementation")
    Cc: <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    krzk authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    2836766 View commit details
    Browse the repository at this point in the history
  7. mmc: sdhci-acpi: Add ACPI HID INT344D

    Add ACPI HID INT344D for an Intel SDIO host controller.
    
    Signed-off-by: Adrian Hunter <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    d0ed8e6 View commit details
    Browse the repository at this point in the history
  8. mmc: sdhci-pci: Add support for Intel SPT

    Add PCI IDs for SPT eMMC, SDIO and SD card.
    
    Signed-off-by: Adrian Hunter <[email protected]>
    Signed-off-by: Ulf Hansson <[email protected]>
    ahunter6 authored and storulf committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    1f7f265 View commit details
    Browse the repository at this point in the history
  9. xen: correct error for building p2m list on 32 bits

    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: Boris Ostrovsky <[email protected]>
    Signed-off-by: Juergen Gross <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    jgross1 authored and David Vrabel committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    82c92ed View commit details
    Browse the repository at this point in the history
  10. xen: correct race in alloc_p2m_pmd()

    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: Juergen Gross <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    jgross1 authored and David Vrabel committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    f241b0b View commit details
    Browse the repository at this point in the history
  11. xen: use correct type for physical addresses

    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: Juergen Gross <[email protected]>
    Tested-by: Boris Ostrovsky <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    jgross1 authored and David Vrabel committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    e86f949 View commit details
    Browse the repository at this point in the history
  12. xen: check for zero sized area when invalidating memory

    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: Juegren Gross <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    jgross1 authored and David Vrabel committed Jan 12, 2015
    Configuration menu
    Copy the full SHA
    9a17ad7 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2015

  1. mm: mmu_gather: use tlb->end != 0 only for TLB invalidation

    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 f045bbb ("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 f045bbb, 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: Mark Langsdorf <[email protected]>
    Tested-by: Dave Hansen <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    wildea01 authored and torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    721c21c View commit details
    Browse the repository at this point in the history
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending

    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
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    fb43bd0 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'mmc-v3.19-3' of git://git.linaro.org/people/ulf.hansson/mmc

    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
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    904a980 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'gpio-v3.19-3' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/linusw/linux-gpio
    
    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
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    971780b View commit details
    Browse the repository at this point in the history
  5. x86/xen: properly retrieve NMI reason

    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: Jan Beulich <[email protected]>
    Reviewed-by: Boris Ostrovsky <[email protected]>
    Signed-off-by: David Vrabel <[email protected]>
    jbeulich authored and David Vrabel committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    f221b04 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rzhang/linux
    
    Pull thermal management fixes from Zhang Rui:
     "Specifics:
    
       - Fix a problem that Intel SoC DTS thermal driver does not work when
         CONFIG_THERMAL_INT340X is not set.
    
       - Fix a NULL pointer dereference when processor_thermal_device driver
         is loaded on a platform without ACPI support"
    
    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
      int340x_thermal/processor_thermal_device: return failure when
      ACPI/int340x_thermal: enumerate INT3401 for Intel SoC DTS thermal driver
      ACPI/int340x_thermal: enumerate INT340X devices even if they're not in _ART/_TRT
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    4f7a42d View commit details
    Browse the repository at this point in the history
  7. Merge tag 'stable/for-linus-3.19-rc4-tag' of git://git.kernel.org/pub…

    …/scm/linux/kernel/git/xen/tip
    
    Pull xen bug fixes from David Vrabel:
     "Several critical linear p2m fixes that prevented some hosts from
      booting"
    
    * tag 'stable/for-linus-3.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
      x86/xen: properly retrieve NMI reason
      xen: check for zero sized area when invalidating memory
      xen: use correct type for physical addresses
      xen: correct race in alloc_p2m_pmd()
      xen: correct error for building p2m list on 32 bits
      x86/xen: avoid freeing static 'name' when kasprintf() fails
      x86/xen: add extra memory for remapped frames during setup
      x86/xen: don't count how many PFNs are identity mapped
      x86/xen: Free bootmem in free_p2m_page() during early boot
      x86/xen: Remove unnecessary BUG_ON(preemptible()) in xen_setup_timer()
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    613d4ce View commit details
    Browse the repository at this point in the history
  8. Merge tag 'linux-kselftest-3.19-rc-5' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/shuah/linux-kselftest
    
    Pull kselftest fixes from Shuah Khan:
     "This update contains three patches to fix one compile error, and two
      run-time bugs.  One of them fixes infinite loop on ARM"
    
    * tag 'linux-kselftest-3.19-rc-5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests/vm: fix link error for transhuge-stress test
      tools: testing: selftests: mq_perf_tests: Fix infinite loop on ARM
      selftests/exec: allow shell return code of 126
    torvalds committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    e7a823b View commit details
    Browse the repository at this point in the history