14 Dec, 2015

3 commits

  • Jan Stancek reported that I wrecked things for him by fixing things for
    Vladimir :/

    His report was due to an UNINTERRUPTIBLE wait getting -EINTR, which
    should not be possible, however my previous patch made this possible by
    unconditionally checking signal_pending().

    We cannot use current->state as was done previously, because the
    instruction after the store to that variable it can be changed. We must
    instead pass the initial state along and use that.

    Fixes: 68985633bccb ("sched/wait: Fix signal handling in bit wait helpers")
    Reported-by: Jan Stancek
    Reported-by: Chris Mason
    Tested-by: Jan Stancek
    Tested-by: Vladimir Murzin
    Tested-by: Chris Mason
    Reviewed-by: Paul Turner
    Cc: Ingo Molnar
    Cc: tglx@linutronix.de
    Cc: Oleg Nesterov
    Cc: hpa@zytor.com
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Pull timer fixlets from Thomas Gleixner:
    "Two trivial fixes which add missing header fileas and forward
    declarations so the code will compile even when the magic include
    chains are different"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/gic-v3: Add missing include for barrier.h
    irqchip/gic-v3: Add missing struct device_node declaration

    Linus Torvalds
     
  • Pull USB driver fixes from Greg KH:
    "Here are a number of small USB fixes for 4.4-rc5. All of them have
    been in linux-next. The majority are gadget and phy issues, with a
    few new quirks and device ids added as well"

    * tag 'usb-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (32 commits)
    USB: add quirk for devices with broken LPM
    xhci: fix usb2 resume timing and races.
    usb: musb: fail with error when no DMA controller set
    usb: gadget: uvc: fix permissions of configfs attributes
    usb: musb: core: Fix pm runtime for deferred probe
    usb: phy: msm: fix a possible NULL dereference
    USB: host: ohci-at91: fix a crash in ohci_hcd_at91_overcurrent_irq
    usb: Quiet down false peer failure messages
    usb: xhci: fix config fail of FS hub behind a HS hub with MTT
    xhci: Fix memory leak in xhci_pme_acpi_rtd3_enable()
    usb: Use the USB_SS_MULT() macro to decode burst multiplier for log message
    USB: whci-hcd: add check for dma mapping error
    usb: core : hub: Fix BOS 'NULL pointer' kernel panic
    USB: quirks: Apply ALWAYS_POLL to all ELAN devices
    usb-storage: Fix scsi-sd failure "Invalid field in cdb" for USB adapter JMicron
    USB: quirks: Fix another ELAN touchscreen
    usb: dwc3: gadget: don't prestart interrupt endpoints
    USB: serial: Another Infineon flash loader USB ID
    USB: cdc_acm: Ignore Infineon Flash Loader utility
    USB: cp210x: Remove CP2110 ID from compatibility list
    ...

    Linus Torvalds
     

13 Dec, 2015

4 commits

  • Merge misc fixes from Andrew Morton:
    "17 fixes"

    * emailed patches from Andrew Morton :
    MIPS: fix DMA contiguous allocation
    sh64: fix __NR_fgetxattr
    ocfs2: fix SGID not inherited issue
    mm/oom_kill.c: avoid attempting to kill init sharing same memory
    drivers/base/memory.c: prohibit offlining of memory blocks with missing sections
    tmpfs: fix shmem_evict_inode() warnings on i_blocks
    mm/hugetlb.c: fix resv map memory leak for placeholder entries
    mm: hugetlb: call huge_pte_alloc() only if ptep is null
    kernel: remove stop_machine() Kconfig dependency
    mm: kmemleak: mark kmemleak_init prototype as __init
    mm: fix kerneldoc on mem_cgroup_replace_page
    osd fs: __r4w_get_page rely on PageUptodate for uptodate
    MAINTAINERS: make Vladimir co-maintainer of the memory controller
    mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress
    mm: fix swapped Movable and Reclaimable in /proc/pagetypeinfo
    memcg: fix memory.high target
    mm: hugetlb: fix hugepage memory leak caused by wrong reserve count

    Linus Torvalds
     
  • Pull block layer fixes from Jens Axboe:
    "A set of fixes for the current series. This contains:

    - A bunch of fixes for lightnvm, should be the last round for this
    series. From Matias and Wenwei.

    - A writeback detach inode fix from Ilya, also marked for stable.

    - A block (though it says SCSI) fix for an OOPS in SCSI runtime power
    management.

    - Module init error path fixes for null_blk from Minfei"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    null_blk: Fix error path in module initialization
    lightnvm: do not compile in debugging by default
    lightnvm: prevent gennvm module unload on use
    lightnvm: fix media mgr registration
    lightnvm: replace req queue with nvmdev for lld
    lightnvm: comments on constants
    lightnvm: check mm before use
    lightnvm: refactor spin_unlock in gennvm_get_blk
    lightnvm: put blks when luns configure failed
    lightnvm: use flags in rrpc_get_blk
    block: detach bdev inode from its wb in __blkdev_put()
    SCSI: Fix NULL pointer dereference in runtime PM

    Linus Torvalds
     
  • Currently the full stop_machine() routine is only enabled on SMP if
    module unloading is enabled, or if the CPUs are hotpluggable. This
    leads to configurations where stop_machine() is broken as it will then
    only run the callback on the local CPU with irqs disabled, and not stop
    the other CPUs or run the callback on them.

    For example, this breaks MTRR setup on x86 in certain configs since
    ea8596bb2d8d379 ("kprobes/x86: Remove unused text_poke_smp() and
    text_poke_smp_batch() functions") as the MTRR is only established on the
    boot CPU.

    This patch removes the Kconfig option for STOP_MACHINE and uses the SMP
    and HOTPLUG_CPU config options to compile the correct stop_machine() for
    the architecture, removing the false dependency on MODULE_UNLOAD in the
    process.

    Link: https://lkml.org/lkml/2014/10/8/124
    References: https://bugs.freedesktop.org/show_bug.cgi?id=84794
    Signed-off-by: Chris Wilson
    Acked-by: Ingo Molnar
    Cc: "Paul E. McKenney"
    Cc: Pranith Kumar
    Cc: Michal Hocko
    Cc: Vladimir Davydov
    Cc: Johannes Weiner
    Cc: H. Peter Anvin
    Cc: Tejun Heo
    Cc: Iulia Manda
    Cc: Andy Lutomirski
    Cc: Rusty Russell
    Cc: Peter Zijlstra
    Cc: Chuck Ebbert
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Wilson
     
  • The kmemleak_init() definition in mm/kmemleak.c is marked __init but its
    prototype in include/linux/kmemleak.h is marked __ref since commit
    a6186d89c913 ("kmemleak: Mark the early log buffer as __initdata").

    This causes a section mismatch which is reported as a warning when
    building with clang -Wsection, because kmemleak_init() is declared in
    section .ref.text but defined in .init.text.

    Fix this by marking kmemleak_init() prototype __init.

    Signed-off-by: Nicolas Iooss
    Signed-off-by: Catalin Marinas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Iooss
     

12 Dec, 2015

1 commit

  • Some USB device / host controller combinations seem to have problems
    with Link Power Management. For example, Steinar found that his xHCI
    controller wouldn't handle bandwidth calculations correctly for two
    video cards simultaneously when LPM was enabled, even though the bus
    had plenty of bandwidth available.

    This patch introduces a new quirk flag for devices that should remain
    disabled for LPM, and creates quirk entries for Steinar's devices.

    Signed-off-by: Alan Stern
    Reported-by: Steinar H. Gunderson
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

11 Dec, 2015

3 commits

  • Pull rdma fixes from Doug Ledford:
    "Most are minor to important fixes.

    There is one performance enhancement that I took on the grounds that
    failing to check if other processes can run before running what's
    intended to be a background, idle-time task is a bug, even though the
    primary effect of the fix is to improve performance (and it was a very
    simple patch)"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
    IB/mlx5: Postpone remove_keys under knowledge of coming preemption
    IB/mlx4: Use vmalloc for WR buffers when needed
    IB/mlx4: Use correct order of variables in log message
    iser-target: Remove explicit mlx4 work-around
    mlx4: Expose correct max_sge_rd limit
    IB/mad: Require CM send method for everything except ClassPortInfo
    IB/cma: Add a missing rcu_read_unlock()
    IB core: Fix ib_sg_to_pages()
    IB/srp: Fix srp_map_sg_fr()
    IB/srp: Fix indirect data buffer rkey endianness
    IB/srp: Initialize dma_length in srp_map_idb
    IB/srp: Fix possible send queue overflow
    IB/srp: Fix a memory leak
    IB/sa: Put netlink request into the request list before sending
    IB/iser: use sector_div instead of do_div
    IB/core: use RCU for uverbs id lookup
    IB/qib: Minor fixes to qib per SFF 8636
    IB/core: Fix user mode post wr corruption
    IB/qib: Fix qib_mr structure

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Again less intensive changes in this rc: you can find only a few
    HD-audio fixes (noise fixes for Intel Broxton chip and a few Thinkpad
    models, quirks for Alienware 17 and Packard Bell DOTS) in addition to
    a long-standing rme96 bug fix"

    * tag 'sound-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/ca0132 - quirk for Alienware 17 2015
    ALSA: hda - Fix noise problems on Thinkpad T440s
    ALSA: hda - Fixing speaker noise on the two latest thinkpad models
    ALSA: hda - Add inverted dmic for Packard Bell DOTS
    ALSA: hda - Fix playback noise with 24/32 bit sample size on BXT
    ALSA: rme96: Fix unexpected volume reset after rate changes

    Linus Torvalds
     
  • When the GICv3 header file is used in a C file that doesn't include
    any of the OF stuff, we end up with a bunch of ugly warnings.

    Let's keep GCC quiet by adding a forward declaration.

    Signed-off-by: Marc Zyngier
    Cc:
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1449483072-17694-2-git-send-email-marc.zyngier@arm.com
    Signed-off-by: Thomas Gleixner

    Marc Zyngier
     

10 Dec, 2015

3 commits

  • Pull VFIO fixes from Alex Williamson:

    - Various fixes for removing redundancy, const'ifying structs, avoiding
    stack usage, fixing WARN usage (Krzysztof Kozlowski, Julia Lawall,
    Kees Cook, Dan Carpenter)

    - Revert No-IOMMU mode as the intended user has not emerged (Alex
    Williamson)

    * tag 'vfio-v4.4-rc5' of git://github.com/awilliam/linux-vfio:
    Revert: "vfio: Include No-IOMMU mode"
    vfio: fix a warning message
    vfio: platform: remove needless stack usage
    vfio-pci: constify pci_error_handlers structures
    vfio: Drop owner assignment from platform_driver

    Linus Torvalds
     
  • Pull DT fixes from Rob Herring:
    "I think this should be all for 4.4:

    - Fix incorrect warning about overlapping memory regions

    - Export of_irq_find_parent again which was made static in 4.4, but
    has users pending for 4.5.

    - Fix of_msi_map_rid declaration location

    - Fix re-entrancy for of_fdt_unflatten_tree

    - Clean-up of phys_addr_t printks"

    * tag 'devicetree-fixes-for-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of/irq: move of_msi_map_rid declaration to the correct ifdef section
    of/irq: Export of_irq_find_parent again
    of/fdt: Add mutex protection for calls to __unflatten_device_tree()
    of/address: fix typo in comment block of of_translate_one()
    of: do not use 0x in front of %pa
    of: Fix comparison of reserved memory regions

    Linus Torvalds
     
  • ROL on a 32 bit integer with a shift of 32 or more is undefined and the
    result is arch-dependent. Avoid this by handling the trivial case of
    roling by 0 correctly.

    The trivial solution of checking if shift is 0 breaks gcc's detection
    of this code as a ROL instruction, which is unacceptable.

    This bug was reported and fixed in GCC
    (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157):

    The standard rotate idiom,

    (x << n) | (x >> (32 - n))

    is recognized by gcc (for concreteness, I discuss only the case that x
    is an uint32_t here).

    However, this is portable C only for n in the range 0 < n < 32. For n
    == 0, we get x >> 32 which gives undefined behaviour according to the
    C standard (6.5.7, Bitwise shift operators). To portably support n ==
    0, one has to write the rotate as something like

    (x << n) | (x >> ((-n) & 31))

    And this is apparently not recognized by gcc.

    Note that this is broken on older GCCs and will result in slower ROL.

    Acked-by: Linus Torvalds
    Signed-off-by: Sasha Levin
    Signed-off-by: Linus Torvalds

    Sasha Levin
     

09 Dec, 2015

7 commits

  • In checking fixes for of_irq_find_parent declaration location, I found
    that of_msi_map_rid is also wrong. of_msi_map_rid is not implemented for
    Sparc, so it should not be in the Sparc specific section of the header.
    Move it to just depend on OF_IRQ.

    Cc: Frank Rowand
    Signed-off-by: Rob Herring

    Rob Herring
     
  • of_irq_find_parent was made static since it had no users outside of
    of_irq.c. Export it again since we are going to use it again.

    Signed-off-by: Carlo Caione
    [robh: move of_irq_find_parent to correct ifdef section]
    Signed-off-by: Rob Herring

    Carlo Caione
     
  • Pull cgroup fixes from Tejun Heo:
    "More change than I'd have liked at this stage. The pids controller
    and the changes made to cgroup core to support it introduced and
    revealed several important issues.

    - Assigning membership to a newly created task and migrating it can
    race leading to incorrect accounting. Oleg fixed it by widening
    threadgroup synchronization. It looks like we'll be able to merge
    it with a different percpu rwsem which is used in fork path making
    things simpler and cheaper.

    - The recent change to extend cgroup membership to zombies (so that
    pid accounting can extend till the pid is actually released) missed
    pinning the underlying data structures leading to use-after-free.
    Fixed.

    - v2 hierarchy was calling subsystem callbacks with the wrong target
    cgroup_subsys_state based on the incorrect assumption that they
    share the same target. pids is the first controller affected by
    this. Subsys callbacks updated so that they can deal with
    multi-target migrations"

    * 'for-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup_pids: don't account for the root cgroup
    cgroup: fix handling of multi-destination migration from subtree_control enabling
    cgroup_freezer: simplify propagation of CGROUP_FROZEN clearing in freezer_attach()
    cgroup: pids: kill pids_fork(), simplify pids_can_fork() and pids_cancel_fork()
    cgroup: pids: fix race between cgroup_post_fork() and cgroup_migrate()
    cgroup: make css_set pin its css's to avoid use-afer-free
    cgroup: fix cftype->file_offset handling

    Linus Torvalds
     
  • Pull libata fixes from Tejun Heo:
    "Nothing too interesting. All are device specific additions and
    workarounds"

    * 'for-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller for log page reads
    libata-eh.c: Introduce new ata port flag for controller which lockup on read log page
    sata_sil: disable trim
    AHCI: Fix softreset failed issue of Port Multiplier
    sata/mvebu: use #ifdef around suspend/resume code
    ahci: Order SATA device IDs for codename Lewisburg
    ahci: Add Device ID for Intel Sunrise Point PCH

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "This tree includes four core perf fixes for misc bugs, three fixes to
    x86 PMU drivers, and two updates to old email addresses"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: Do not send exit event twice
    perf/x86/intel: Fix INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_NA macro
    perf/x86/intel: Make L1D_PEND_MISS.FB_FULL not constrained on Haswell
    perf: Fix PERF_EVENT_IOC_PERIOD deadlock
    treewide: Remove old email address
    perf/x86: Fix LBR call stack save/restore
    perf: Update email address in MAINTAINERS
    perf/core: Robustify the perf_cgroup_from_task() RCU checks
    perf/core: Fix RCU problem with cgroup context switching code

    Linus Torvalds
     
  • mlx4 devices (ConnectX-2, ConnectX-3) has a limitation
    where rdma read work queue entries cannot exceed 512 bytes.
    A rdma_read wqe needs to fit in 512 bytes:
    - wqe control segment (16 bytes)
    - rdma segment (16 bytes)
    - scatter elements (16 bytes each)

    So max_sge_rd should be: (512 - 16 - 16) / 16 = 30.

    Signed-off-by: Sagi Grimberg
    Reviewed-by: Steve Wise
    Signed-off-by: Doug Ledford

    Sagi Grimberg
     
  • Receipt of CM MAD with other than the Send method for an attribute
    other than the ClassPortInfo attribute is invalid.

    CM attributes other than ClassPortInfo only use the send method.

    The SRP initiator does not maintain a timeout policy for CM connect
    requests relies on the CM layer to do that. The result was that
    the SRP initiator hung as the connect request never completed.

    A new SRP target has been observed to respond to Send CM REQ
    with GetResp of CM REQ with bad status. This is non conformant
    with IBA spec but exposes a vulnerability in the current MAD/CM
    code which will respond to the incoming GetResp of CM REQ as if
    it was a valid incoming Send of CM REQ rather than tossing
    this on the floor. It also causes the MAD layer not to
    retransmit the original REQ even though it has not received a REP.

    Reviewed-by: Sagi Grimberg
    Signed-off-by: Hal Rosenstock
    Reviewed-by: Ira Weiny
    Signed-off-by: Doug Ledford

    Hal Rosenstock
     

08 Dec, 2015

3 commits

  • The current implementation gets a spin_lock, and at any scale with
    qib and hfi1 post send, the lock contention grows exponentially
    with the number of QPs.

    idr_find() is RCU compatibile, so read doesn't need the lock.

    Change to use rcu_read_lock() and rcu_read_unlock() in
    __idr_get_uobj().

    kfree_rcu() is used to insure a grace period between the
    idr removal and actual free.

    Reviewed-by: Ira Weiny
    Signed-off-by: Mike Marciniszyn
    Reviewed-By: Jason Gunthorpe
    Signed-off-by: Doug Ledford

    Mike Marciniszyn
     
  • In the case where a request queue is passed to the low lever lightnvm
    device drive integration, the device driver might pass its admin
    commands through another queue. Instead pass nvm_dev, and let the
    low level drive the appropriate queue.

    Reported-by: Christoph Hellwig
    Signed-off-by: Matias Bjørling
    Signed-off-by: Jens Axboe

    Matias Bjørling
     
  • It is not obvious what NVM_IO_* and NVM_BLK_T_* are used for. Make sure
    to comment them appropriately as the other constants.

    Signed-off-by: Matias Bjørling
    Signed-off-by: Jens Axboe

    Matias Bjørling
     

07 Dec, 2015

4 commits

  • Some controller lockup on a ata_read_log_page.
    Add new ata port flag ATA_FLAG_NO_LOG_PAGE which can used
    to blacklist a controller.

    If this flag is set, any attempt to read a log page returns an error
    without actually issuing the command.

    Signed-off-by: Andreas Werner
    Signed-off-by: Tejun Heo

    Andreas Werner
     
  • The following commit which went into mainline through networking tree

    3b13758f51de ("cgroups: Allow dynamically changing net_classid")

    conflicts in net/core/netclassid_cgroup.c with the following pending
    fix in cgroup/for-4.4-fixes.

    1f7dd3e5a6e4 ("cgroup: fix handling of multi-destination migration from subtree_control enabling")

    The former separates out update_classid() from cgrp_attach() and
    updates it to walk all fds of all tasks in the target css so that it
    can be used from both migration and config change paths. The latter
    drops @css from cgrp_attach().

    Resolve the conflict by making cgrp_attach() call update_classid()
    with the css from the first task. We can revive @tset walking in
    cgrp_attach() but given that net_cls is v1 only where there always is
    only one target css during migration, this is fine.

    Signed-off-by: Tejun Heo
    Reported-by: Stephen Rothwell
    Cc: Nina Schiff

    Tejun Heo
     
  • In BXT-P A0, HD-Audio DMA requests is later than expected,
    and makes an audio stream sensitive to system latencies when
    24/32 bits are playing.
    Adjusting threshold of DMA fifo to force the DMA request
    sooner to improve latency tolerance at the expense of power.

    v2: move Intel specific code to hda_intel.c

    Signed-off-by: Lu, Han
    Signed-off-by: Takashi Iwai

    Lu, Han
     
  • Pull SCSI fixes from James Bottomley:
    "This is quite a bumper crop of fixes: three from Arnd correcting
    various build issues in some configurations, a lock recursion in
    qla2xxx. Two potentially exploitable issues in hpsa and mvsas, a
    potential null deref in st, a revert of a bdi registration fix that
    turned out to cause even more problems, a set of fixes to allow people
    who only defined MPT2SAS to still work after the mpt2/mpt3sas merger
    and a couple of fixes for issues turned up by the hyper-v storvsc
    driver"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    mpt3sas: fix Kconfig dependency problem for mpt2sas back compatibility
    Revert "scsi: Fix a bdi reregistration race"
    mpt3sas: Add dummy Kconfig option for backwards compatibility
    Fix a memory leak in scsi_host_dev_release()
    block/sd: Fix device-imposed transfer length limits
    scsi_debug: fix prevent_allow+verify regressions
    MAINTAINERS: Add myself as co-maintainer of the SCSI subsystem.
    sd: Make discard granularity match logical block size when LBPRZ=1
    scsi: hpsa: select CONFIG_SCSI_SAS_ATTR
    scsi: advansys needs ISA dma api for ISA support
    scsi_sysfs: protect against double execution of __scsi_remove_device()
    st: fix potential null pointer dereference.
    scsi: report 'INQUIRY result too short' once per host
    advansys: fix big-endian builds
    qla2xxx: Fix rwlock recursion
    hpsa: logical vs bitwise AND typo
    mvsas: don't allow negative timeouts
    mpt3sas: Fix use sas_is_tlr_enabled API before enabling MPI2_SCSIIO_CONTROL_TLR_ON flag

    Linus Torvalds
     

06 Dec, 2015

1 commit

  • Pull drm fixes from Dave Airlie:
    "A bunch of change across the board, the main things are some vblank
    fallout in radeon and nouveau required some work, but I think this
    should fix it all. There is also one drm fix for an oops in vmwgfx
    with how we pass the drm master around.

    The rest is just some amdgpu, i915, imx and rockchip fixes.

    Probably more than I'd like at this point, but hopefully things settle
    down now"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (40 commits)
    drm/amdgpu: Fixup hw vblank counter/ts for new drm_update_vblank_count() (v3)
    drm/radeon: Fixup hw vblank counter/ts for new drm_update_vblank_count() (v2)
    drm/radeon: Retry DDC probing on DVI on failure if we got an HPD interrupt
    drm/amdgpu: add spin lock to protect freed list in vm (v2)
    drm/amdgpu: partially revert "drm/amdgpu: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR" v2
    drm/amdgpu: take a BO reference for the user fence
    drm/amdgpu: take a BO reference in the display code
    drm/amdgpu: set snooped flags only on system addresses v2
    drm/nouveau: Fix pre-nv50 pageflip events (v4)
    drm: Fix an unwanted master inheritance v2
    drm/amdgpu: fix race condition in amd_sched_entity_push_job
    drm/amdgpu: add err check for pin userptr
    drm/i915: take a power domain reference while checking the HDMI live status
    drm/i915: add MISSING_CASE to a few port/aux power domain helpers
    drm/i915/ddi: fix intel_display_port_aux_power_domain() after HDMI detect
    drm/i915: Introduce a gmbus power domain
    drm/i915: Clean up AUX power domain handling
    drm/rockchip: Use CRTC vblank event interface
    drm/rockchip: Fix module autoload for OF platform driver
    drm/rockchip: vop: fix window origin calculation
    ...

    Linus Torvalds
     

05 Dec, 2015

2 commits

  • Pull sound fixes from Takashi Iwai:
    "This time we've got a larger number of updates, mainly from ASoC
    world. The only significant LOCs found here are for Realtek codecs,
    where most of changes are quite systematic replacements.

    There are also a few fixes in ASoC core side: one is the PM call order
    fix to ensure the DPAM resume working properly. Another is the proper
    cleanup call after freeing DAPM widgets, and the correction of the
    wrong callback set in topology API.

    The rest are a wide range of driver-specific small fixes, including
    HD-audio"

    * tag 'sound-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
    ALSA: hda - Add Conexant CX8200 (14f1:2008) codec entry
    ALSA: hda - Correct codec names for 14f1:50f1 and 14f1:50f3
    ALSA: hda - Skip ELD notification during system suspend
    ASoC: core: Change power state before rechecking endpoint
    ASoC: fix kernel-doc warnings in sound/soc/soc-ops.c
    ASoC: rt5645: Add dmi_system_id "Google Terra"
    ASoC: rockchip: Fix incorrect VDW value for 24 bit
    ASoC: fsl: clarify ac97 dependency
    ASoC: Intel: Skylake: fix memory leak
    ASoC: davinci-mcasp: Fix master capture only mode
    ASoC: es8328: Fix shifts for mixer switches
    ASoC: rt5645: Add dmi_system_id "Google Wizpig"
    ASoC: sti: set player private data
    ASoC: sti: rename ST proprietary DT properties
    ASoC: sti: remove wrong error message
    ASoC: Intel: Skylake: Add I2C depends for SKL machine
    ASoC: topology: fix info callback for TLV byte control
    ASoC: rt5670: fix wrong bit def for pll src
    ASoC: nau8825: add pm function
    ASoC: rt5645: Add struct dmi_system_id "Google Edgar" for Chrome OS
    ...

    Linus Torvalds
     
  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These fix a recent regression in the ACPI PCI host bridge
    initialization code, clean up some recent changes (generic power
    domains framework, ACPI AML debugger support), fix three older but
    annoying bugs (PCI power management. generic power domains framework,
    cpufreq) and a build problem (device properties framework), and update
    a stale MAINTAINERS entry (ACPI backlight driver).

    Specifics:

    - Fix a regression in the ACPI PCI host bridge initialization code
    introduced by the recent consolidation of the host bridge handling
    on x86 and ia64 that forgot to take one special piece of code
    related to NUMA on x86 into account (Liu Jiang).

    - Improve the Kconfig help description of the new ACPI AML debugger
    support option to avoid possible confusion (Peter Zijlstra).

    - Remove a piece of code in the generic power domains framework that
    should have been removed by one of the recent commits modifying
    that code (Ulf Hansson).

    - Reduce the log level of a PCI PM message that generates a lot of
    false-positive log noise for some drivers and improve the message
    itself while at it (Imre Deak).

    - Fix the OF-based domain lookup code in the generic power domains
    framework to make it drop references to DT nodes correctly (Eric
    Anholt).

    - Prevent the cpufreq core from setting the policy back to the
    default after a CPU offline/online cycle for cpufreq drivers
    providing the ->setpolicy callback (Srinivas Pandruvada).

    - Fix a build problem for CONFIG_ACPI unset in the device properties
    framework (Hanjun Guo).

    - Fix a stale file path in the ACPI backlight driver entry in
    MAINTAINERS (Dan Carpenter)"

    * tag 'pm+acpi-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach()
    cpufreq: use last policy after online for drivers with ->setpolicy
    PCI / PM: Tune down retryable runtime suspend error messages
    PM / Domains: Validate cases of a non-bound driver in genpd governor
    MAINTAINERS: ACPI / video: update a file name in drivers/acpi/
    ACPI / property: fix compile error for acpi_node_get_property_reference() when CONFIG_ACPI=n
    x86/PCI/ACPI: Fix regression caused by commit 4d6b4e69a245
    ACPI: Better describe ACPI_DEBUGGER

    Linus Torvalds
     

04 Dec, 2015

9 commits

  • Revert commit 033291eccbdb ("vfio: Include No-IOMMU mode") due to lack
    of a user. This was originally intended to fill a need for the DPDK
    driver, but uptake has been slow so rather than support an unproven
    kernel interface revert it and revisit when userspace catches up.

    Signed-off-by: Alex Williamson

    Alex Williamson
     
  • * pm-domains:
    PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach()
    PM / Domains: Validate cases of a non-bound driver in genpd governor

    * pm-cpufreq:
    cpufreq: use last policy after online for drivers with ->setpolicy

    Rafael J. Wysocki
     
  • * acpica:
    ACPI: Better describe ACPI_DEBUGGER

    * acpi-video:
    MAINTAINERS: ACPI / video: update a file name in drivers/acpi/

    * device-properties:
    ACPI / property: fix compile error for acpi_node_get_property_reference() when CONFIG_ACPI=n

    Rafael J. Wysocki
     
  • Apparently pre-nv50 pageflip events happen before the actual vblank
    period. Therefore that functionality got semi-disabled in

    commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
    Author: Mario Kleiner
    Date: Tue May 13 00:42:08 2014 +0200

    drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.

    Unfortunately that hack got uprooted in

    commit cc1ef118fc099295ae6aabbacc8af94d8d8885eb
    Author: Thierry Reding
    Date: Wed Aug 12 17:00:31 2015 +0200

    drm/irq: Make pipe unsigned and name consistent

    Triggering a warning when trying to sample the vblank timestamp for a
    non-existing pipe. There's a few ways to fix this:

    - Open-code the old behaviour, which just enshrines this slight
    breakage of the userspace ABI.

    - Revert Mario's commit and again inflict broken timestamps, again not
    pretty.

    - Fix this for real by delaying the pageflip TS until the next vblank
    interrupt, thereby making it accurate.

    This patch implements the third option. Since having a page flip
    interrupt that happens when the pageflip gets armed and not when it
    completes in the next vblank seems to be fairly common (older i915 hw
    works very similarly) create a new helper to arm vblank events for
    such drivers.

    v2 (Mario Kleiner):
    - Fix function prototypes in drmP.h
    - Add missing vblank_put() for pageflip completion without
    pageflip event.
    - Initialize sequence number for queued pageflip event to avoid
    trouble in drm_handle_vblank_events().
    - Remove dead code and spelling fix.

    v3 (Mario Kleiner):
    - Add a signed-off-by and cc stable tag per Ilja's advice.

    v4 (Thierry Reding):
    - Fix kerneldoc typo, discovered by Michel Dänzer
    - Rearrange tags and changelog

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106431
    Cc: Thierry Reding
    Cc: Mario Kleiner
    Acked-by: Ben Skeggs
    Cc: Ilia Mirkin
    Signed-off-by: Daniel Vetter
    Reviewed-by: Mario Kleiner
    Cc: stable@vger.kernel.org # v4.3
    Signed-off-by: Mario Kleiner
    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • A client calling drmSetMaster() using a file descriptor that was opened
    when another client was master would inherit the latter client's master
    object and all its authenticated clients.

    This is unwanted behaviour, and when this happens, instead allocate a
    brand new master object for the client calling drmSetMaster().

    Fixes a BUG() throw in vmw_master_set().

    Cc:
    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • imx-drm crtc, plane, parallel panel, and TV encoder fixes

    - Use drm_crtc_send_vblank_event to fix per crtc vblank handling
    - Move the crtc device of_node assignment out of the ipuv3-crtc driver into
    ipu-common code, where the devices are created.
    - Fix parallel display support with simple-panels
    - Remove some unused fields and superfluous checks
    - Switch to universal planes and add error handling for primary plane creation
    - Fix module autoload for TV encoder driver

    * tag 'imx-drm-fixes-2015-12-01' of git://git.pengutronix.de/git/pza/linux:
    drm: imx: imx-tve: Fix module autoload for OF platform driver
    drm: imx: convert to drm_crtc_send_vblank_event()
    GPU-DRM-IMX: Delete an unnecessary check before drm_fbdev_cma_restore_mode()
    drm/imx: Remove of_node assignment from ipuv3-crtc driver probe
    gpu: ipu-v3: Assign of_node of child platform devices to corresponding ports
    gpu: ipu-v3: Remove reg_offset field
    gpu: ipu-v3: drop unused dmfc field from client platform data
    drm/imx: parallel-display: allow to determine bus format from the connected panel
    drm/imx: ipuv3-crtc: Return error if ipu_plane_init() fails for primary plane
    drm/imx: switch to universal planes

    Dave Airlie
     
  • Pull networking fixes from David Miller:
    "A lot of Thanksgiving turkey leftovers accumulated, here goes:

    1) Fix bluetooth l2cap_chan object leak, from Johan Hedberg.

    2) IDs for some new iwlwifi chips, from Oren Givon.

    3) Fix rtlwifi lockups on boot, from Larry Finger.

    4) Fix memory leak in fm10k, from Stephen Hemminger.

    5) We have a route leak in the ipv6 tunnel infrastructure, fix from
    Paolo Abeni.

    6) Fix buffer pointer handling in arm64 bpf JIT,f rom Zi Shen Lim.

    7) Wrong lockdep annotations in tcp md5 support, fix from Eric
    Dumazet.

    8) Work around some middle boxes which prevent proper handling of TCP
    Fast Open, from Yuchung Cheng.

    9) TCP repair can do huge kmalloc() requests, build paged SKBs
    instead. From Eric Dumazet.

    10) Fix msg_controllen overflow in scm_detach_fds, from Daniel
    Borkmann.

    11) Fix device leaks on ipmr table destruction in ipv4 and ipv6, from
    Nikolay Aleksandrov.

    12) Fix use after free in epoll with AF_UNIX sockets, from Rainer
    Weikusat.

    13) Fix double free in VRF code, from Nikolay Aleksandrov.

    14) Fix skb leaks on socket receive queue in tipc, from Ying Xue.

    15) Fix ifup/ifdown crach in xgene driver, from Iyappan Subramanian.

    16) Fix clearing of persistent array maps in bpf, from Daniel
    Borkmann.

    17) In TCP, for the cross-SYN case, we don't initialize tp->copied_seq
    early enough. From Eric Dumazet.

    18) Fix out of bounds accesses in bpf array implementation when
    updating elements, from Daniel Borkmann.

    19) Fill gaps in RCU protection of np->opt in ipv6 stack, from Eric
    Dumazet.

    20) When dumping proxy neigh entries, we have to accomodate NULL
    device pointers properly, from Konstantin Khlebnikov.

    21) SCTP doesn't release all ipv6 socket resources properly, fix from
    Eric Dumazet.

    22) Prevent underflows of sch->q.qlen for multiqueue packet
    schedulers, also from Eric Dumazet.

    23) Fix MAC and unicast list handling in bnxt_en driver, from Jeffrey
    Huang and Michael Chan.

    24) Don't actively scan radar channels, from Antonio Quartulli"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (110 commits)
    net: phy: reset only targeted phy
    bnxt_en: Setup uc_list mac filters after resetting the chip.
    bnxt_en: enforce proper storing of MAC address
    bnxt_en: Fixed incorrect implementation of ndo_set_mac_address
    net: lpc_eth: remove irq > NR_IRQS check from probe()
    net_sched: fix qdisc_tree_decrease_qlen() races
    openvswitch: fix hangup on vxlan/gre/geneve device deletion
    ipv4: igmp: Allow removing groups from a removed interface
    ipv6: sctp: implement sctp_v6_destroy_sock()
    arm64: bpf: add 'store immediate' instruction
    ipv6: kill sk_dst_lock
    ipv6: sctp: add rcu protection around np->opt
    net/neighbour: fix crash at dumping device-agnostic proxy entries
    sctp: use GFP_USER for user-controlled kmalloc
    sctp: convert sack_needed and sack_generation to bits
    ipv6: add complete rcu protection around np->opt
    bpf: fix allocation warnings in bpf maps and integer overflow
    mvebu: dts: enable IP checksum with jumbo frames for Armada 38x on Port0
    net: mvneta: enable setting custom TX IP checksum limit
    net: mvneta: fix error path for building skb
    ...

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "A collection of fixes from this series. The most important here is a
    regression fix for an issue that some folks would hit in blk-merge.c,
    and the NVMe queue depth limit for the screwed up Apple "nvme"
    controller.

    In more detail, this pull request contains:

    - a set of fixes for null_blk, including a fix for a few corner cases
    where we could hang the device. From Arianna and Paolo.

    - lightnvm:
    - A build improvement from Keith.
    - Update the qemu pci id detection from Matias.
    - Error handling fixes for leaks and other little fixes from
    Sudip and Wenwei.

    - fix from Eric where BLKRRPART would not return EBUSY for whole
    device mounts, only when partitions were mounted.

    - fix from Jan Kara, where EOF O_DIRECT reads would return
    negatively.

    - remove check for rq_mergeable() when checking limits for cloned
    requests. The check doesn't make any sense. It's assuming that
    since NOMERGE is set on the request that we don't have to
    recalculate limits since the request didn't change, but that's not
    true if the request has been redirected. From Hannes.

    - correctly get the bio front segment value set for single segment
    bio's, fixing a BUG() in blk-merge. From Ming"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    nvme: temporary fix for Apple controller reset
    null_blk: change type of completion_nsec to unsigned long
    null_blk: guarantee device restart in all irq modes
    null_blk: set a separate timer for each command
    blk-merge: fix computing bio->bi_seg_front_size in case of single segment
    direct-io: Fix negative return from dio read beyond eof
    block: Always check queue limits for cloned requests
    lightnvm: missing nvm_lock acquire
    lightnvm: unconverted ppa returned in get_bb_tbl
    lightnvm: refactor and change vendor id for qemu
    lightnvm: do device max sectors boundary check first
    lightnvm: fix ioctl memory leaks
    lightnvm: free memory when gennvm register fails
    lightnvm: Simplify config when disabled
    Return EBUSY from BLKRRPART for mounted whole-dev fs

    Linus Torvalds
     
  • …kernel/git/jberg/mac80211

    Johannes Berg says:

    ====================
    A small set of fixes for 4.4:
    * fix scanning in mac80211 to not actively scan radar
    channels (from Antonio)
    * fix uninitialized variable in remain-on-channel that
    could lead to treating frame TX as remain-on-channel
    and not sending the frame at all
    * remove NL80211_FEATURE_FULL_AP_CLIENT_STATE again, it
    was broken and needs more work, we'll enable it later
    * fix call_rcu() induced use-after-reset/free in mesh
    (that was suddenly causing issues in certain tests)
    * always request block-ack window size 64 as we found
    some APs will otherwise crash (really ...)
    * fix P2P-Device teardown sequence to avoid restarting
    with uninitialized data
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller