31 Jan, 2015

9 commits

  • Pull staging tree fixes from Greg KH:
    "Here are two tiny staging tree fixes. One for the nvec driver to
    resolve a reported problem, and one to add a MAINTAINERS entry for the
    Android drivers"

    * tag 'staging-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    MAINTAINERS: add Android driver entries
    staging: nvec: specify a platform-device base id

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some small USB fixes and quirk additions for 3.19-rc7.

    All have been in linux-next for a while with no reported problems"

    * tag 'usb-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: Add OTG PET device to TPL
    usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller
    uas: Add no-report-opcodes quirk for Simpletech devices with id 4971:8017
    storage: Revise/fix quirk for 04E6:000F SCM USB-SCSI converter
    usb: phy: never defer probe in non-OF case
    usb: dwc2: call dwc2_is_controller_alive() under spinlock

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, but also an event groups fix, two PMU driver
    fixes and a CPU model variant addition"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: Tighten (and fix) the grouping condition
    perf/x86/intel: Add model number for Airmont
    perf/rapl: Fix crash in rapl_scale()
    perf/x86/intel/uncore: Move uncore_box_init() out of driver initialization
    perf probe: Fix probing kretprobes
    perf symbols: Introduce 'for' method to iterate over the symbols with a given name
    perf probe: Do not rely on map__load() filter to find symbols
    perf symbols: Introduce method to iterate symbols ordered by name
    perf symbols: Return the first entry with a given name in find_by_name method
    perf annotate: Fix memory leaks in LOCK handling
    perf annotate: Handle ins parsing failures
    perf scripting perl: Force to use stdbool
    perf evlist: Remove extraneous 'was' on error message

    Linus Torvalds
     
  • Pull btrfs fix from Chris Mason:
    "We have one more fix for btrfs in my for-linus branch - this was a bug
    in the new raid5/6 scrubbing support"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: fix raid56 scrub failed in xfstests btrfs/072

    Linus Torvalds
     
  • Pull quota and UDF fix from Jan Kara:
    "A fix for UDF to properly free preallocated blocks and a fix for quota
    so that Q_GETQUOTA quotactl reports correct numbers for XFS filesystem
    (and similarly Q_XGETQUOTA quotactl works properly for other
    filesystems)"

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space units
    udf: Release preallocation on last writeable close

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "The ARM changes are largish, but not too scary. And a simple fix for
    x86 (bug introduced in 3.19)"

    (Paolo sayus these are the "Final" fixes. We'll see).

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: x86: check LAPIC presence when building apic_map
    arm/arm64: KVM: Use kernel mapping to perform invalidation on page fault
    arm/arm64: KVM: Invalidate data cache on unmap
    arm/arm64: KVM: Use set/way op trapping to track the state of the caches

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:
    "Two small fixes for the Tegra GART IOMMU driver:

    - provide a .map_sg function for iommu_ops
    - do not register Tegra GART driver as a workaround because of issues
    with it when used from DRM code"

    * tag 'iommu-fixes-v3.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/tegra: gart: Provide default ->map_sg() callback
    iommu/tegra: gart: Do not register with bus

    Linus Torvalds
     
  • Pull intel and dp mst drm fixes from Dave Airlie:
    "Intel had a few more fixes lined up and no point me sitting on them,
    along with a DP MST fix from Rob for a race at undock + vt switch"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm: fix fb-helper vs MST dangling connector ptrs (v2)
    drm/i915: BDW Fix Halo PCI IDs marked as ULT.
    drm/i915: Fix and clean BDW PCH identification
    drm/i915: Only fence tiled region of object.
    drm/i915: fix inconsistent brightness after resume
    drm/i915: Init PPGTT before context enable

    Linus Torvalds
     
  • Fix misspelled define.

    Fixes: 33692f27597f ("vm: add VM_FAULT_SIGSEGV handling support")
    Signed-off-by: Guenter Roeck
    Signed-off-by: Linus Torvalds

    Guenter Roeck
     

30 Jan, 2015

14 commits

  • We forgot to re-check LAPIC after splitting the loop in commit
    173beedc1601 (KVM: x86: Software disabled APIC should still deliver
    NMIs, 2014-11-02).

    Signed-off-by: Radim Krčmář
    Fixes: 173beedc1601f51dae9d579aa7a414c5aa8f700b
    Signed-off-by: Paolo Bonzini

    Radim Krčmář
     
  • …t/kvmarm/kvmarm into kvm-master

    Second round of fixes for KVM/ARM for 3.19.

    Fixes memory corruption issues on APM platforms and swapping issues on
    DMA-coherent systems.

    Paolo Bonzini
     
  • misc i915 fixes, mostly all stable material as well.

    * tag 'drm-intel-fixes-2015-01-29' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: BDW Fix Halo PCI IDs marked as ULT.
    drm/i915: Fix and clean BDW PCH identification
    drm/i915: Only fence tiled region of object.
    drm/i915: fix inconsistent brightness after resume
    drm/i915: Init PPGTT before context enable

    Dave Airlie
     
  • VT switch back/forth from console to xserver (for example) has potential
    to go horribly wrong if a dynamic DP MST connector ends up in the saved
    modeset that is restored when switching back to fbcon.

    When removing a dynamic connector, don't forget to clean up the saved
    state.

    v1: original
    v2: null out set->fb if no more connectors to avoid making i915 cranky

    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1184968
    Cc: stable@vger.kernel.org #v3.17+
    Signed-off-by: Rob Clark
    Signed-off-by: Dave Airlie

    Rob Clark
     
  • Pull device mapper fixes from Mike Snitzer:
    "One stable fix for a dm-cache 3.19-rc6 regression and one stable fix
    for dm-thin:

    - fix DM cache metadata open/lookup error paths to properly use
    ERR_PTR and IS_ERR (fixes: 3.19-rc6 "stable" commit 9b1cc9f251)

    - fix DM thin-provisioning to disallow userspace from sending
    messages to the thin-pool if the pool is in READ_ONLY or FAIL mode
    since no metadata changes are allowed in these modes"

    * tag 'dm-3.19-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm thin: don't allow messages to be sent to a pool target in READ_ONLY or FAIL mode
    dm cache: fix missing ERR_PTR returns and handling

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include:

    - Stable fix for a NFSv4.1 Oops on mount
    - Stable fix for an O_DIRECT deadlock condition
    - Fix an issue with submounted volumes and fake duplicate inode
    numbers"

    * tag 'nfs-for-3.19-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS: Fix use of nfs_attr_use_mounted_on_fileid()
    NFSv4.1: Fix an Oops in nfs41_walk_client_list
    nfs: fix dio deadlock when O_DIRECT flag is flipped

    Linus Torvalds
     
  • Pull Ceph fixes from Sage Weil:
    "These paches from Ilya finally squash a race condition with layered
    images that he's been chasing for a while"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    rbd: drop parent_ref in rbd_dev_unprobe() unconditionally
    rbd: fix rbd_dev_parent_get() when parent_overlap == 0

    Linus Torvalds
     
  • When handling a fault in stage-2, we need to resync I$ and D$, just
    to be sure we don't leave any old cache line behind.

    That's very good, except that we do so using the *user* address.
    Under heavy load (swapping like crazy), we may end up in a situation
    where the page gets mapped in stage-2 while being unmapped from
    userspace by another CPU.

    At that point, the DC/IC instructions can generate a fault, which
    we handle with kvm->mmu_lock held. The box quickly deadlocks, user
    is unhappy.

    Instead, perform this invalidation through the kernel mapping,
    which is guaranteed to be present. The box is much happier, and so
    am I.

    Signed-off-by: Marc Zyngier
    Signed-off-by: Christoffer Dall

    Marc Zyngier
     
  • Let's assume a guest has created an uncached mapping, and written
    to that page. Let's also assume that the host uses a cache-coherent
    IO subsystem. Let's finally assume that the host is under memory
    pressure and starts to swap things out.

    Before this "uncached" page is evicted, we need to make sure
    we invalidate potential speculated, clean cache lines that are
    sitting there, or the IO subsystem is going to swap out the
    cached view, loosing the data that has been written directly
    into memory.

    Signed-off-by: Marc Zyngier
    Signed-off-by: Christoffer Dall

    Marc Zyngier
     
  • Trying to emulate the behaviour of set/way cache ops is fairly
    pointless, as there are too many ways we can end-up missing stuff.
    Also, there is some system caches out there that simply ignore
    set/way operations.

    So instead of trying to implement them, let's convert it to VA ops,
    and use them as a way to re-enable the trapping of VM ops. That way,
    we can detect the point when the MMU/caches are turned off, and do
    a full VM flush (which is what the guest was trying to do anyway).

    This allows a 32bit zImage to boot on the APM thingy, and will
    probably help bootloaders in general.

    Signed-off-by: Marc Zyngier
    Signed-off-by: Christoffer Dall

    Marc Zyngier
     
  • Pull sound fixes from Takashi Iwai:
    "This batch ended up being larger than wished, but there is nothing to
    worry too much there.

    Most of commits are for ASoC, a compress NULL dereference fix, a fix
    for probe error handling, and the rest are device-specific fixes. In
    addition, we have a fix for a long-standing but of seq-dummy driver,
    which just cuts off the buggy part in the end"

    * tag 'sound-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: seq-dummy: remove deadlock-causing events on close
    ASoC: omap-mcbsp: Correct CBM_CFS dai format configuration
    ASoC: soc-compress.c: fix NULL dereference
    ASoC: rt286: set the same format for dac and adc
    ASoC: wm8904: fix runtime warning
    ASoC: simple-card: Fix crash in asoc_simple_card_unref()
    ASoC: fsl: imx-wm8962: Set the card owner field
    ASoC: pcm512x: Fix DSP program selection
    ASoC: rt5677: Modify the behavior that updates the PLL parameter.
    ASoC: fsl_ssi: Fix irq error check
    ASoC: rockchip: i2s: applys rate symmetry for CPU DAI
    ASoC: Intel: Add NULL checks for the stream pointer
    ASoC: wm8960: Fix capture sample rate from 11250 to 11025
    ASoC: adi: Add missing return statement.
    ASoC: Intel: Don't change offset of block allocator during fixed allocate
    ASoC: ts3a227e: Check and report jack status at probe
    ASoC: fsl_esai: Fix incorrect xDC field width of xCCR registers

    Linus Torvalds
     
  • Pull final pin control fix from Linus Walleij:
    "A late pin control fix for the v3.19 series: The AT91 gpio controller
    would miss wakeup events, this single fix make it work properly"

    [ "Final"? Yeah, I'll believe that once I've actually released 3.19 ;) - Linus ]

    * tag 'pinctrl-v3.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: at91: allow to have disabled gpio bank

    Linus Torvalds
     
  • The stack guard page error case has long incorrectly caused a SIGBUS
    rather than a SIGSEGV, but nobody actually noticed until commit
    fee7e49d4514 ("mm: propagate error from stack expansion even for guard
    page") because that error case was never actually triggered in any
    normal situations.

    Now that we actually report the error, people noticed the wrong signal
    that resulted. So far, only the test suite of libsigsegv seems to have
    actually cared, but there are real applications that use libsigsegv, so
    let's not wait for any of those to break.

    Reported-and-tested-by: Takashi Iwai
    Tested-by: Jan Engelhardt
    Acked-by: Heiko Carstens # "s390 still compiles and boots"
    Cc: linux-arch@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • The core VM already knows about VM_FAULT_SIGBUS, but cannot return a
    "you should SIGSEGV" error, because the SIGSEGV case was generally
    handled by the caller - usually the architecture fault handler.

    That results in lots of duplication - all the architecture fault
    handlers end up doing very similar "look up vma, check permissions, do
    retries etc" - but it generally works. However, there are cases where
    the VM actually wants to SIGSEGV, and applications _expect_ SIGSEGV.

    In particular, when accessing the stack guard page, libsigsegv expects a
    SIGSEGV. And it usually got one, because the stack growth is handled by
    that duplicated architecture fault handler.

    However, when the generic VM layer started propagating the error return
    from the stack expansion in commit fee7e49d4514 ("mm: propagate error
    from stack expansion even for guard page"), that now exposed the
    existing VM_FAULT_SIGBUS result to user space. And user space really
    expected SIGSEGV, not SIGBUS.

    To fix that case, we need to add a VM_FAULT_SIGSEGV, and teach all those
    duplicate architecture fault handlers about it. They all already have
    the code to handle SIGSEGV, so it's about just tying that new return
    value to the existing code, but it's all a bit annoying.

    This is the mindless minimal patch to do this. A more extensive patch
    would be to try to gather up the mostly shared fault handling logic into
    one generic helper routine, and long-term we really should do that
    cleanup.

    Just from this patch, you can generally see that most architectures just
    copied (directly or indirectly) the old x86 way of doing things, but in
    the meantime that original x86 model has been improved to hold the VM
    semaphore for shorter times etc and to handle VM_FAULT_RETRY and other
    "newer" things, so it would be a good idea to bring all those
    improvements to the generic case and teach other architectures about
    them too.

    Reported-and-tested-by: Takashi Iwai
    Tested-by: Jan Engelhardt
    Acked-by: Heiko Carstens # "s390 still compiles and boots"
    Cc: linux-arch@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

28 Jan, 2015

17 commits

  • You can't modify the metadata in these modes. It's better to fail these
    messages immediately than let the block-manager deny write locks on
    metadata blocks. Otherwise these failed metadata changes will trigger
    'needs_check' to get set in the metadata superblock -- requiring repair
    using the thin_check utility.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org

    Joe Thornber
     
  • Commit 9b1cc9f251 ("dm cache: share cache-metadata object across
    inactive and active DM tables") mistakenly ignored the use of ERR_PTR
    returns. Restore missing IS_ERR checks and ERR_PTR returns where
    appropriate.

    Reported-by: Dan Carpenter
    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org

    Joe Thornber
     
  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    " User visible fixes:

    - Fix probing at function return (Namhyumg Kim)

    Developer visible fixes:

    - Symbol processing changes necessary for fixing support for
    kretprobes in 'perf probe' (Namhyung Kim, Arnaldo Carvalho de Melo)

    - Annotation memory leaks and instruction parsing fixes (Rabin Vincent)

    - Fix perl build on ARM64 (Wang Nam)
    "

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • This effectively reverts the last hunk of 392a9dad7e77 ("rbd: detect
    when clone image is flattened").

    The problem with parent_overlap != 0 condition is that it's possible
    and completely valid to have an image with parent_overlap == 0 whose
    parent state needs to be cleaned up on unmap. The next commit, which
    drops the "clone image now standalone" logic, opens up another window
    of opportunity to hit this, but even without it

    # cat parent-ref.sh
    #!/bin/bash
    rbd create --image-format 2 --size 1 foo
    rbd snap create foo@snap
    rbd snap protect foo@snap
    rbd clone foo@snap bar
    rbd resize --allow-shrink --size 0 bar
    rbd resize --size 1 bar
    DEV=$(rbd map bar)
    rbd unmap $DEV

    leaves rbd_device/rbd_spec/etc and rbd_client along with ceph_client
    hanging around.

    My thinking behind calling rbd_dev_parent_put() unconditionally is that
    there shouldn't be any requests in flight at that point in time as we
    are deep into unmap sequence. Hence, even if rbd_dev_unparent() caused
    by flatten is delayed by in-flight requests, it will have finished by
    the time we reach rbd_dev_unprobe() caused by unmap, thus turning
    unconditional rbd_dev_parent_put() into a no-op.

    Fixes: http://tracker.ceph.com/issues/10352

    Cc: stable@vger.kernel.org # 3.11+
    Signed-off-by: Ilya Dryomov
    Reviewed-by: Josh Durgin
    Reviewed-by: Alex Elder

    Ilya Dryomov
     
  • The comment for rbd_dev_parent_get() said

    * We must get the reference before checking for the overlap to
    * coordinate properly with zeroing the parent overlap in
    * rbd_dev_v2_parent_info() when an image gets flattened. We
    * drop it again if there is no overlap.

    but the "drop it again if there is no overlap" part was missing from
    the implementation. This lead to absurd parent_ref values for images
    with parent_overlap == 0, as parent_ref was incremented for each
    img_request and virtually never decremented.

    Fix this by leveraging the fact that refresh path calls
    rbd_dev_v2_parent_info() under header_rwsem and use it for read in
    rbd_dev_parent_get(), instead of messing around with atomics. Get rid
    of barriers in rbd_dev_v2_parent_info() while at it - I don't see what
    they'd pair with now and I suspect we are in a pretty miserable
    situation as far as proper locking goes regardless.

    Cc: stable@vger.kernel.org # 3.11+
    Signed-off-by: Ilya Dryomov
    Reviewed-by: Josh Durgin
    Reviewed-by: Alex Elder

    Ilya Dryomov
     
  • The fix from 9fc81d87420d ("perf: Fix events installation during
    moving group") was incomplete in that it failed to recognise that
    creating a group with events for different CPUs is semantically
    broken -- they cannot be co-scheduled.

    Furthermore, it leads to real breakage where, when we create an event
    for CPU Y and then migrate it to form a group on CPU X, the code gets
    confused where the counter is programmed -- triggered in practice
    as well by me via the perf fuzzer.

    Fix this by tightening the rules for creating groups. Only allow
    grouping of counters that can be co-scheduled in the same context.
    This means for the same task and/or the same cpu.

    Fixes: 9fc81d87420d ("perf: Fix events installation during moving group")
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/20150123125834.090683288@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Intel Airmont supports the same architectural and non-architectural
    performance monitoring events as Silvermont.

    Signed-off-by: Kan Liang
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/1421913053-99803-1-git-send-email-kan.liang@intel.com
    Signed-off-by: Ingo Molnar

    Kan Liang
     
  • This patch fixes a systematic crash in rapl_scale()
    due to an invalid pointer.

    The bug was introduced by commit:

    89cbc76768c2 ("x86: Replace __get_cpu_var uses")

    The fix is simple. Just put the parenthesis where it needs
    to be, i.e., around rapl_pmu. To my surprise, the compiler
    was not complaining about passing an integer instead of a
    pointer.

    Reported-by: Vince Weaver
    Tested-by: Vince Weaver
    Fixes: 89cbc76768c2 ("x86: Replace __get_cpu_var uses")
    Signed-off-by: Stephane Eranian
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: cl@linux.com
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/20150122203834.GA10228@thinkpad
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     
  • There were some issues about the uncore driver tried to access
    non-existing boxes, which caused boot crashes. These issues have
    been all fixed. But we should avoid boot failures if that ever
    happens again.

    This patch intends to prevent this kind of potential issues.
    It moves uncore_box_init out of driver initialization. The box
    will be initialized when it's first enabled.

    Signed-off-by: Kan Liang
    Signed-off-by: Peter Zijlstra (Intel)
    Link: http://lkml.kernel.org/r/1421729665-5912-1-git-send-email-kan.liang@intel.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: Yan, Zheng
    Signed-off-by: Ingo Molnar

    Kan Liang
     
  • Currently ->get_dqblk() and ->set_dqblk() use struct fs_disk_quota which
    tracks space limits and usage in 512-byte blocks. However VFS quotas
    track usage in bytes (as some filesystems require that) and we need to
    somehow pass this information. Upto now it wasn't a problem because we
    didn't do any unit conversion (thus VFS quota routines happily stuck
    number of bytes into d_bcount field of struct fd_disk_quota). Only if
    you tried to use Q_XGETQUOTA or Q_XSETQLIM for VFS quotas (or Q_GETQUOTA
    / Q_SETQUOTA for XFS quotas), you got bogus results. Hardly anyone
    tried this but reportedly some Samba users hit the problem in practice.
    So when we want interfaces compatible we need to fix this.

    We bite the bullet and define another quota structure used for passing
    information from/to ->get_dqblk()/->set_dqblk. It's somewhat sad we have
    to have more conversion routines in fs/quota/quota.c and another copying
    of quota structure slows down getting of quota information by about 2%
    but it seems cleaner than overloading e.g. units of d_bcount to bytes.

    CC: stable@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jan Kara

    Jan Kara
     
  • Commit 6fb1ca92a640 "udf: Fix race between write(2) and close(2)"
    changed the condition when preallocation is released. The idea was that
    we don't want to release the preallocation for an inode on close when
    there are other writeable file descriptors for the inode. However the
    condition was written in the opposite way so we released preallocation
    only if there were other writeable file descriptors. Fix the problem by
    changing the condition properly.

    CC: stable@vger.kernel.org
    Fixes: 6fb1ca92a6409a9d5b0696447cd4997bc9aaf5a2
    Reported-by: Fabian Frederick
    Signed-off-by: Jan Kara

    Jan Kara
     
  • Pull drm fixes from Dave Airlie:
    "This feels larger than I'd like but its for three reasons.

    a) amdkfd finalising the API more, this is a new feature introduced
    last merge window, and I'd prefer to make the tweaks to the API
    before it first gets into a stable release.

    b) radeon regression required splitting an internal API to fix
    properly, so it just changed a few more lines

    c) vmwgfx fix changes a lock from a mutex->spin lock, this is fallout
    from the new sleep checking.

    Otherwise there is just some tda998x fixes"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: Remove rdev->gart.pages_addr array
    drm/radeon: Restore GART table contents after pinning it in VRAM v3
    drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entry
    drm/amdkfd: Fix bug in call to init_pipelines()
    drm/amdkfd: Fix bug in pipelines initialization
    drm/radeon: Don't increment pipe_id in kgd_init_pipeline
    drm/i2c: tda998x: set the CEC I2C address based on the slave I2C address
    drm/vmwgfx: Replace the hw mutex with a hw spinlock
    drm/amdkfd: Allow user to limit only queues per device
    drm/amdkfd: PQM handle queue creation fault
    drm: tda998x: Fix EDID read timeout on HDMI connect
    drm: tda998x: Protect the page register

    Linus Torvalds
     
  • The xfstests btrfs/072 reports uncorrectable read errors in dmesg,
    because scrub forgets to use commit_root for parity scrub routine
    and scrub attempts to scrub those extents items whose contents are
    not fully on disk.

    To fix it, we just add the @search_commit_root flag back.

    Signed-off-by: Gui Hecheng
    Signed-off-by: Qu Wenruo
    Reviewed-by: Miao Xie
    Signed-off-by: Chris Mason

    Gui Hecheng
     
  • Pull networking fixes from David Miller:

    1) Don't OOPS on socket AIO, from Christoph Hellwig.

    2) Scheduled scans should be aborted upon RFKILL, from Emmanuel
    Grumbach.

    3) Fix sleep in atomic context in kvaser_usb, from Ahmed S Darwish.

    4) Fix RCU locking across copy_to_user() in bpf code, from Alexei
    Starovoitov.

    5) Lots of crash, memory leak, short TX packet et al bug fixes in
    sh_eth from Ben Hutchings.

    6) Fix memory corruption in SCTP wrt. INIT collitions, from Daniel
    Borkmann.

    7) Fix return value logic for poll handlers in netxen, enic, and bnx2x.
    From Eric Dumazet and Govindarajulu Varadarajan.

    8) Header length calculation fix in mac80211 from Fred Chou.

    9) mv643xx_eth doesn't handle highmem correctly in non-TSO code paths.
    From Ezequiel Garcia.

    10) udp_diag has bogus logic in it's hash chain skipping, copy same fix
    tcp diag used. From Herbert Xu.

    11) amd-xgbe programs wrong rx flow control register, from Thomas
    Lendacky.

    12) Fix race leading to use after free in ping receive path, from Subash
    Abhinov Kasiviswanathan.

    13) Cache redirect routes otherwise we can get a heavy backlog of rcu
    jobs liberating DST_NOCACHE entries. From Hannes Frederic Sowa.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (48 commits)
    net: don't OOPS on socket aio
    stmmac: prevent probe drivers to crash kernel
    bnx2x: fix napi poll return value for repoll
    ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
    sh_eth: Fix DMA-API usage for RX buffers
    sh_eth: Check for DMA mapping errors on transmit
    sh_eth: Ensure DMA engines are stopped before freeing buffers
    sh_eth: Remove RX overflow log messages
    ping: Fix race in free in receive path
    udp_diag: Fix socket skipping within chain
    can: kvaser_usb: Fix state handling upon BUS_ERROR events
    can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT
    can: kvaser_usb: Send correct context to URB completion
    can: kvaser_usb: Do not sleep in atomic context
    ipv4: try to cache dst_entries which would cause a redirect
    samples: bpf: relax test_maps check
    bpf: rcu lock must not be held when calling copy_to_user()
    net: sctp: fix slab corruption from use after free on INIT collisions
    net: mv643xx_eth: Fix highmem support in non-TSO egress path
    sh_eth: Fix serialisation of interrupt disable with interrupt & NAPI handlers
    ...

    Linus Torvalds
     
  • Signed-off-by: Christoph Hellwig
    Signed-off-by: David S. Miller

    Christoph Hellwig
     
  • In the case when alloc_netdev fails we return NULL to a caller. But there is no
    check for NULL in the probe drivers. This patch changes NULL to an error
    pointer. The function description is amended to reflect what we may get
    returned.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: David S. Miller

    Andy Shevchenko
     
  • Pull powerpc fixes from Michael Ellerman:
    "Two powerpc fixes"

    * tag 'powerpc-3.19-5' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc/powernv: Restore LPCR with LPCR_PECE1 cleared
    powerpc/xmon: Fix another endiannes issue in RTAS call from xmon

    Linus Torvalds