20 Nov, 2016

2 commits

  • Pull KVM fixes from Radim Krčmář:
    "ARM:
    - Fix handling of the 32bit cycle counter
    - Fix cycle counter filtering

    x86:
    - Fix a race leading to double unregistering of user notifiers
    - Amend oversight in kvm_arch_set_irq that turned Hyper-V code dead
    - Use SRCU around kvm_lapic_set_vapic_addr
    - Avoid recursive flushing of asynchronous page faults
    - Do not rely on deferred update in KVM_GET_CLOCK, which fixes #GP
    - Let userspace know that KVM_GET_CLOCK is useful with master clock;
    4.9 changed the return value to better match the guest clock, but
    didn't provide means to let guests take advantage of it"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    kvm: x86: merge kvm_arch_set_irq and kvm_arch_set_irq_inatomic
    KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
    KVM: async_pf: avoid recursive flushing of work items
    kvm: kvmclock: let KVM_GET_CLOCK return whether the master clock is in use
    KVM: Disable irq while unregistering user notifier
    KVM: x86: do not go through vcpu in __get_kvmclock_ns
    KVM: arm64: Fix the issues when guest PMCCFILTR is configured
    arm64: KVM: pmu: Fix AArch32 cycle counter access

    Linus Torvalds
     
  • Userspace can read the exact value of kvmclock by reading the TSC
    and fetching the timekeeping parameters out of guest memory. This
    however is brittle and not necessary anymore with KVM 4.11. Provide
    a mechanism that lets userspace know if the new KVM_GET_CLOCK
    semantics are in effect, and---since we are at it---if the clock
    is stable across all VCPUs.

    Cc: Radim Krčmář
    Cc: Marcelo Tosatti
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Radim Krčmář

    Paolo Bonzini
     

15 Nov, 2016

1 commit

  • Pull networking fixes from David Miller:

    1) Fix off by one wrt. indexing when dumping /proc/net/route entries,
    from Alexander Duyck.

    2) Fix lockdep splats in iwlwifi, from Johannes Berg.

    3) Cure panic when inserting certain netfilter rules when NFT_SET_HASH
    is disabled, from Liping Zhang.

    4) Memory leak when nft_expr_clone() fails, also from Liping Zhang.

    5) Disable UFO when path will apply IPSEC tranformations, from Jakub
    Sitnicki.

    6) Don't bogusly double cwnd in dctcp module, from Florian Westphal.

    7) skb_checksum_help() should never actually use the value "0" for the
    resulting checksum, that has a special meaning, use CSUM_MANGLED_0
    instead. From Eric Dumazet.

    8) Per-tx/rx queue statistic strings are wrong in qed driver, fix from
    Yuval MIntz.

    9) Fix SCTP reference counting of associations and transports in
    sctp_diag. From Xin Long.

    10) When we hit ip6tunnel_xmit() we could have come from an ipv4 path in
    a previous layer or similar, so explicitly clear the ipv6 control
    block in the skb. From Eli Cooper.

    11) Fix bogus sleeping inside of inet_wait_for_connect(), from WANG
    Cong.

    12) Correct deivce ID of T6 adapter in cxgb4 driver, from Hariprasad
    Shenai.

    13) Fix potential access past the end of the skb page frag array in
    tcp_sendmsg(). From Eric Dumazet.

    14) 'skb' can legitimately be NULL in inet{,6}_exact_dif_match(). Fix
    from David Ahern.

    15) Don't return an error in tcp_sendmsg() if we wronte any bytes
    successfully, from Eric Dumazet.

    16) Extraneous unlocks in netlink_diag_dump(), we removed the locking
    but forgot to purge these unlock calls. From Eric Dumazet.

    17) Fix memory leak in error path of __genl_register_family(). We leak
    the attrbuf, from WANG Cong.

    18) cgroupstats netlink policy table is mis-sized, from WANG Cong.

    19) Several XDP bug fixes in mlx5, from Saeed Mahameed.

    20) Fix several device refcount leaks in network drivers, from Johan
    Hovold.

    21) icmp6_send() should use skb dst device not skb->dev to determine L3
    routing domain. From David Ahern.

    22) ip_vs_genl_family sets maxattr incorrectly, from WANG Cong.

    23) We leak new macvlan port in some cases of maclan_common_netlink()
    errors. Fix from Gao Feng.

    24) Similar to the icmp6_send() fix, icmp_route_lookup() should
    determine L3 routing domain using skb_dst(skb)->dev not skb->dev.
    Also from David Ahern.

    25) Several fixes for route offloading and FIB notification handling in
    mlxsw driver, from Jiri Pirko.

    26) Properly cap __skb_flow_dissect()'s return value, from Eric Dumazet.

    27) Fix long standing regression in ipv4 redirect handling, wrt.
    validating the new neighbour's reachability. From Stephen Suryaputra
    Lin.

    28) If sk_filter() trims the packet excessively, handle it reasonably in
    tcp input instead of exploding. From Eric Dumazet.

    29) Fix handling of napi hash state when copying channels in sfc driver,
    from Bert Kenward.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (121 commits)
    mlxsw: spectrum_router: Flush FIB tables during fini
    net: stmmac: Fix lack of link transition for fixed PHYs
    sctp: change sk state only when it has assocs in sctp_shutdown
    bnx2: Wait for in-flight DMA to complete at probe stage
    Revert "bnx2: Reset device during driver initialization"
    ps3_gelic: fix spelling mistake in debug message
    net: ethernet: ixp4xx_eth: fix spelling mistake in debug message
    ibmvnic: Fix size of debugfs name buffer
    ibmvnic: Unmap ibmvnic_statistics structure
    sfc: clear napi_hash state when copying channels
    mlxsw: spectrum_router: Correctly dump neighbour activity
    mlxsw: spectrum: Fix refcount bug on span entries
    bnxt_en: Fix VF virtual link state.
    bnxt_en: Fix ring arithmetic in bnxt_setup_tc().
    Revert "include/uapi/linux/atm_zatm.h: include linux/time.h"
    tcp: take care of truncations done by sk_filter()
    ipv4: use new_gw for redirect neigh lookup
    r8152: Fix error path in open function
    net: bpqether.h: remove if_ether.h guard
    net: __skb_flow_dissect() must cap its return value
    ...

    Linus Torvalds
     

14 Nov, 2016

1 commit

  • This reverts commit cf00713a655d ("include/uapi/linux/atm_zatm.h: include
    linux/time.h").

    This attempted to fix userspace breakage that no longer existed when
    the patch was merged. Almost one year earlier, commit 70ba07b675b5
    ("atm: remove 'struct zatm_t_hist'") deleted the struct in question.

    After this patch was merged, we now have to deal with people being
    unable to include this header in conjunction with standard C library
    headers like stdlib.h (which linux-atm does). Example breakage:
    x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I./../q2931 -I./../saal \
    -I. -DCPPFLAGS_TEST -I../../src/include -O2 -march=native -pipe -g \
    -frecord-gcc-switches -freport-bug -Wimplicit-function-declaration \
    -Wnonnull -Wstrict-aliasing -Wparentheses -Warray-bounds \
    -Wfree-nonheap-object -Wreturn-local-addr -fno-strict-aliasing -Wall \
    -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -c zntune.c
    In file included from /usr/include/linux/atm_zatm.h:17:0,
    from zntune.c:17:
    /usr/include/linux/time.h:9:8: error: redefinition of ‘struct timespec’
    struct timespec {
    ^
    In file included from /usr/include/sys/select.h:43:0,
    from /usr/include/sys/types.h:219,
    from /usr/include/stdlib.h:314,
    from zntune.c:9:
    /usr/include/time.h:120:8: note: originally defined here
    struct timespec
    ^

    Signed-off-by: Mike Frysinger
    Acked-by: Mikko Rapeli
    Signed-off-by: David S. Miller

    Mike Frysinger
     

13 Nov, 2016

1 commit


10 Nov, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "This became a largish pull-request, as we've got a bunch of pending
    ASoC fixes at this time. One noticeable change is the removal of error
    directive in uapi/sound/asoc.h. We found that the API has been already
    used on Chromebooks, so we need to support it even now.

    A slight big LOC is found in Qualcomm lpass driver, but the rest are
    all small and easy fixes for ASoC drivers (sti, sun4i, Realtek codecs,
    Intel, tas571x, etc) in addition to the patches to harden the ALSA
    core proc file accesses"

    * tag 'sound-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (26 commits)
    ALSA: info: Return error for invalid read/write
    ALSA: info: Limit the proc text input size
    ASoC: samsung: spdif: Fix DMA filter initialization
    ASoC: sun4i-codec: Enable bus clock after getting GPIO
    ASoC: lpass-cpu: add module licence and description
    ASoC: lpass-platform: Fix broken pcm data usage
    ASoC: sun4i-codec: return error code instead of NULL when create_card fails
    ASoC: hdmi-codec: Fix hdmi_of_xlate_dai_name when #sound-dai-cells =
    ASoC: samsung: get access to DMA engine early to defer probe properly
    ASoC: da7219: Connect output enable register to DAIOUT
    ASoC: Intel: Skylake: Fix to turn off hdmi power on probe failure
    ASoC: sti-sas: enable fast io for regmap
    ASoC: sti: fix channel status update after playback start
    ASoC: PXA: Brownstone needs I2C
    ASoC: Intel: Skylake: Always acquire runtime pm ref on unload
    ASoC: Intel: Atom: add terminate entry for dmi_system_id tables
    ASoC: rt298: fix jack type detect error
    ASoC: rt5663: fix a debug statement
    ASoC: cs4270: fix DAPM stream name mismatch
    ASoC: Intel: haswell depends on sst-firmware
    ...

    Linus Torvalds
     

05 Nov, 2016

1 commit


30 Oct, 2016

1 commit

  • Pull networking fixes from David Miller:
    "Lots of fixes, mostly drivers as is usually the case.

    1) Don't treat zero DMA address as invalid in vmxnet3, from Alexey
    Khoroshilov.

    2) Fix element timeouts in netfilter's nft_dynset, from Anders K.
    Pedersen.

    3) Don't put aead_req crypto struct on the stack in mac80211, from
    Ard Biesheuvel.

    4) Several uninitialized variable warning fixes from Arnd Bergmann.

    5) Fix memory leak in cxgb4, from Colin Ian King.

    6) Fix bpf handling of VLAN header push/pop, from Daniel Borkmann.

    7) Several VRF semantic fixes from David Ahern.

    8) Set skb->protocol properly in ip6_tnl_xmit(), from Eli Cooper.

    9) Socket needs to be locked in udp_disconnect(), from Eric Dumazet.

    10) Div-by-zero on 32-bit fix in mlx4 driver, from Eugenia Emantayev.

    11) Fix stale link state during failover in NCSCI driver, from Gavin
    Shan.

    12) Fix netdev lower adjacency list traversal, from Ido Schimmel.

    13) Propvide proper handle when emitting notifications of filter
    deletes, from Jamal Hadi Salim.

    14) Memory leaks and big-endian issues in rtl8xxxu, from Jes Sorensen.

    15) Fix DESYNC_FACTOR handling in ipv6, from Jiri Bohac.

    16) Several routing offload fixes in mlxsw driver, from Jiri Pirko.

    17) Fix broadcast sync problem in TIPC, from Jon Paul Maloy.

    18) Validate chunk len before using it in SCTP, from Marcelo Ricardo
    Leitner.

    19) Revert a netns locking change that causes regressions, from Paul
    Moore.

    20) Add recursion limit to GRO handling, from Sabrina Dubroca.

    21) GFP_KERNEL in irq context fix in ibmvnic, from Thomas Falcon.

    22) Avoid accessing stale vxlan/geneve socket in data path, from
    Pravin Shelar"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (189 commits)
    geneve: avoid using stale geneve socket.
    vxlan: avoid using stale vxlan socket.
    qede: Fix out-of-bound fastpath memory access
    net: phy: dp83848: add dp83822 PHY support
    enic: fix rq disable
    tipc: fix broadcast link synchronization problem
    ibmvnic: Fix missing brackets in init_sub_crq_irqs
    ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context
    Revert "ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context"
    arch/powerpc: Update parameters for csum_tcpudp_magic & csum_tcpudp_nofold
    net/mlx4_en: Save slave ethtool stats command
    net/mlx4_en: Fix potential deadlock in port statistics flow
    net/mlx4: Fix firmware command timeout during interrupt test
    net/mlx4_core: Do not access comm channel if it has not yet been initialized
    net/mlx4_en: Fix panic during reboot
    net/mlx4_en: Process all completions in RX rings after port goes up
    net/mlx4_en: Resolve dividing by zero in 32-bit system
    net/mlx4_core: Change the default value of enable_qos
    net/mlx4_core: Avoid setting ports to auto when only one port type is supported
    net/mlx4_core: Fix the resource-type enum in res tracker to conform to FW spec
    ...

    Linus Torvalds
     

24 Oct, 2016

1 commit

  • Pull IPMI updates from Corey Minyard:
    "A small bug fix and a new driver for acting as an IPMI device.

    I was on vacation during the merge window (a long vacation) but this
    is a bug fix that should go in and a new driver that shouldn't hurt
    anything.

    This has been in linux-next for a month or so"

    * tag 'for-linus-4.9-2' of git://git.code.sf.net/p/openipmi/linux-ipmi:
    ipmi: fix crash on reading version from proc after unregisted bmc
    ipmi/bt-bmc: remove redundant return value check of platform_get_resource()
    ipmi/bt-bmc: add a dependency on ARCH_ASPEED
    ipmi: Fix ioremap error handling in bt-bmc
    ipmi: add an Aspeed BT IPMI BMC driver

    Linus Torvalds
     

19 Oct, 2016

1 commit


18 Oct, 2016

1 commit

  • pkey_set() and pkey_get() were syscalls present in older versions
    of the protection keys patches. They were fully excised from the
    x86 code, but some cruft was left in the generic syscall code. The
    C++ comments were intended to help to make it more glaring to me to
    fix them before actually submitting them. That technique worked,
    but later than I would have liked.

    I test-compiled this for arm64.

    Fixes: a60f7b69d92c0 ("generic syscalls: Wire up memory protection keys syscalls")
    Signed-off-by: Dave Hansen
    Acked-by: Arnd Bergmann
    Cc: Thomas Gleixner
    Cc: x86@kernel.org
    Cc: linux-arch@vger.kernel.org
    Cc: mgorman@techsingularity.net
    Cc: linux-api@vger.kernel.org
    Cc: linux-mm@kvack.org
    Cc: luto@kernel.org
    Cc: akpm@linux-foundation.org
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

15 Oct, 2016

6 commits

  • Pull btrfs fixes from Chris Mason:
    "Some fixes from Omar and Dave Sterba for our new free space tree.

    This isn't heavily used yet, but as we move toward making it the new
    default we wanted to nail down an endian bug"

    * 'for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: tests: uninline member definitions in free_space_extent
    btrfs: tests: constify free space extent specs
    Btrfs: expand free space tree sanity tests to catch endianness bug
    Btrfs: fix extent buffer bitmap tests on big-endian systems
    Btrfs: catch invalid free space trees
    Btrfs: fix mount -o clear_cache,space_cache=v2
    Btrfs: fix free space tree bitmaps on big-endian systems

    Linus Torvalds
     
  • Sparse was complaining when we went to prototype some code
    using ethtool_cmd_speed_set and SPEED_100000, which uses
    the upper 16 bits of __u32 speed for the first time.

    CHECK
    ...
    .../uapi/linux/ethtool.h:123:28: warning:
    cast truncates bits from constant value (186a0 becomes 86a0)

    The warning is actually bogus, as no bits are really lost, but
    we can get rid of the sparse warning with this one small change.

    Reported-by: Preethi Banala
    Signed-off-by: Jesse Brandeburg
    Signed-off-by: David S. Miller

    Jesse Brandeburg
     
  • Add support for Queue Pair verbs which adds, deletes,
    modifies and queries Queue Pairs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Add support for protection domain and completion queue verbs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Add support for ucontext, query port, add and del gid verbs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Adds a skeletal implementation of the qed* RoCE driver -
    basically the ability to communicate with the qede driver and
    receive notifications from it regarding various init/exit events.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     

14 Oct, 2016

2 commits

  • Pull nfsd updates from Bruce Fields:
    "Some RDMA work and some good bugfixes, and two new features that could
    benefit from user testing:

    - Anna Schumacker contributed a simple NFSv4.2 COPY implementation.
    COPY is already supported on the client side, so a call to
    copy_file_range() on a recent client should now result in a
    server-side copy that doesn't require all the data to make a round
    trip to the client and back.

    - Jeff Layton implemented callbacks to notify clients when contended
    locks become available, which should reduce latency on workloads
    with contended locks"

    * tag 'nfsd-4.9' of git://linux-nfs.org/~bfields/linux:
    NFSD: Implement the COPY call
    nfsd: handle EUCLEAN
    nfsd: only WARN once on unmapped errors
    exportfs: be careful to only return expected errors.
    nfsd4: setclientid_confirm with unmatched verifier should fail
    nfsd: randomize SETCLIENTID reply to help distinguish servers
    nfsd: set the MAY_NOTIFY_LOCK flag in OPEN replies
    nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant
    nfsd: add a LRU list for blocked locks
    nfsd: have nfsd4_lock use blocking locks for v4.1+ locks
    nfsd: plumb in a CB_NOTIFY_LOCK operation
    NFSD: fix corruption in notifier registration
    svcrdma: support Remote Invalidation
    svcrdma: Server-side support for rpcrdma_connect_private
    rpcrdma: RDMA/CM private message data structure
    svcrdma: Skip put_page() when send_reply() fails
    svcrdma: Tail iovec leaves an orphaned DMA mapping
    nfsd: fix dprintk in nfsd4_encode_getdeviceinfo
    nfsd: eliminate cb_minorversion field
    nfsd: don't set a FL_LAYOUT lease for flexfiles layouts

    Linus Torvalds
     
  • …kernel/git/dgc/linux-xfs

    < XFS has gained super CoW powers! >
    ----------------------------------
    \ ^__^
    \ (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||

    Pull XFS support for shared data extents from Dave Chinner:
    "This is the second part of the XFS updates for this merge cycle. This
    pullreq contains the new shared data extents feature for XFS.

    Given the complexity and size of this change I am expecting - like the
    addition of reverse mapping last cycle - that there will be some
    follow-up bug fixes and cleanups around the -rc3 stage for issues that
    I'm sure will show up once the code hits a wider userbase.

    What it is:

    At the most basic level we are simply adding shared data extents to
    XFS - i.e. a single extent on disk can now have multiple owners. To do
    this we have to add new on-disk features to both track the shared
    extents and the number of times they've been shared. This is done by
    the new "refcount" btree that sits in every allocation group. When we
    share or unshare an extent, this tree gets updated.

    Along with this new tree, the reverse mapping tree needs to be updated
    to track each owner or a shared extent. This also needs to be updated
    ever share/unshare operation. These interactions at extent allocation
    and freeing time have complex ordering and recovery constraints, so
    there's a significant amount of new intent-based transaction code to
    ensure that operations are performed atomically from both the runtime
    and integrity/crash recovery perspectives.

    We also need to break sharing when writes hit a shared extent - this
    is where the new copy-on-write implementation comes in. We allocate
    new storage and copy the original data along with the overwrite data
    into the new location. We only do this for data as we don't share
    metadata at all - each inode has it's own metadata that tracks the
    shared data extents, the extents undergoing CoW and it's own private
    extents.

    Of course, being XFS, nothing is simple - we use delayed allocation
    for CoW similar to how we use it for normal writes. ENOSPC is a
    significant issue here - we build on the reservation code added in
    4.8-rc1 with the reverse mapping feature to ensure we don't get
    spurious ENOSPC issues part way through a CoW operation. These
    mechanisms also help minimise fragmentation due to repeated CoW
    operations. To further reduce fragmentation overhead, we've also
    introduced a CoW extent size hint, which indicates how large a region
    we should allocate when we execute a CoW operation.

    With all this functionality in place, we can hook up .copy_file_range,
    .clone_file_range and .dedupe_file_range and we gain all the
    capabilities of reflink and other vfs provided functionality that
    enable manipulation to shared extents. We also added a fallocate mode
    that explicitly unshares a range of a file, which we implemented as an
    explicit CoW of all the shared extents in a file.

    As such, it's a huge chunk of new functionality with new on-disk
    format features and internal infrastructure. It warns at mount time as
    an experimental feature and that it may eat data (as we do with all
    new on-disk features until they stabilise). We have not released
    userspace suport for it yet - userspace support currently requires
    download from Darrick's xfsprogs repo and build from source, so the
    access to this feature is really developer/tester only at this point.
    Initial userspace support will be released at the same time the kernel
    with this code in it is released.

    The new code causes 5-6 new failures with xfstests - these aren't
    serious functional failures but things the output of tests changing
    slightly due to perturbations in layouts, space usage, etc. OTOH,
    we've added 150+ new tests to xfstests that specifically exercise this
    new functionality so it's got far better test coverage than any
    functionality we've previously added to XFS.

    Darrick has done a pretty amazing job getting us to this stage, and
    special mention also needs to go to Christoph (review, testing,
    improvements and bug fixes) and Brian (caught several intricate bugs
    during review) for the effort they've also put in.

    Summary:

    - unshare range (FALLOC_FL_UNSHARE) support for fallocate

    - copy-on-write extent size hints (FS_XFLAG_COWEXTSIZE) for fsxattr
    interface

    - shared extent support for XFS

    - copy-on-write support for shared extents

    - copy_file_range support

    - clone_file_range support (implements reflink)

    - dedupe_file_range support

    - defrag support for reverse mapping enabled filesystems"

    * tag 'xfs-reflink-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (71 commits)
    xfs: convert COW blocks to real blocks before unwritten extent conversion
    xfs: rework refcount cow recovery error handling
    xfs: clear reflink flag if setting realtime flag
    xfs: fix error initialization
    xfs: fix label inaccuracies
    xfs: remove isize check from unshare operation
    xfs: reduce stack usage of _reflink_clear_inode_flag
    xfs: check inode reflink flag before calling reflink functions
    xfs: implement swapext for rmap filesystems
    xfs: refactor swapext code
    xfs: various swapext cleanups
    xfs: recognize the reflink feature bit
    xfs: simulate per-AG reservations being critically low
    xfs: don't mix reflink and DAX mode for now
    xfs: check for invalid inode reflink flags
    xfs: set a default CoW extent size of 32 blocks
    xfs: convert unwritten status of reverse mappings for shared files
    xfs: use interval query for rmap alloc operations on shared files
    xfs: add shared rmap map/unmap/convert log item types
    xfs: increase log reservations for reflink
    ...

    Linus Torvalds
     

12 Oct, 2016

6 commits

  • Pull drm updates from Dave Airlie:
    "Core:
    - Fence destaging work
    - DRIVER_LEGACY to split off legacy drm drivers
    - drm_mm refactoring
    - Splitting drm_crtc.c into chunks and documenting better
    - Display info fixes
    - rbtree support for prime buffer lookup
    - Simple VGA DAC driver

    Panel:
    - Add Nexus 7 panel
    - More simple panels

    i915:
    - Refactoring GEM naming
    - Refactored vma/active tracking
    - Lockless request lookups
    - Better stolen memory support
    - FBC fixes
    - SKL watermark fixes
    - VGPU improvements
    - dma-buf fencing support
    - Better DP dongle support

    amdgpu:
    - Powerplay for Iceland asics
    - Improved GPU reset support
    - UVD/VEC powergating support for CZ/ST
    - Preinitialised VRAM buffer support
    - Virtual display support
    - Initial SI support
    - GTT rework
    - PCI shutdown callback support
    - HPD IRQ storm fixes

    amdkfd:
    - bugfixes

    tilcdc:
    - Atomic modesetting support

    mediatek:
    - AAL + GAMMA engine support
    - Hook up gamma LUT
    - Temporal dithering support

    imx:
    - Pixel clock from devicetree
    - drm bridge support for LVDS bridges
    - active plane reconfiguration
    - VDIC deinterlacer support
    - Frame synchronisation unit support
    - Color space conversion support

    analogix:
    - PSR support
    - Better panel on/off support

    rockchip:
    - rk3399 vop/crtc support
    - PSR support

    vc4:
    - Interlaced vblank timing
    - 3D rendering CPU overhead reduction
    - HDMI output fixes

    tda998x:
    - HDMI audio ASoC support

    sunxi:
    - Allwinner A33 support
    - better TCON support

    msm:
    - DT binding cleanups
    - Explicit fence-fd support

    sti:
    - remove sti415/416 support

    etnaviv:
    - MMUv2 refactoring
    - GC3000 support

    exynos:
    - Refactoring HDMI DCC/PHY
    - G2D pm regression fix
    - Page fault issues with wait for vblank

    There is no nouveau work in this tree, as Ben didn't get a pull
    request in, and he was fighting moving to atomic and adding mst
    support, so maybe best it waits for a cycle"

    * tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux: (1412 commits)
    drm/crtc: constify drm_crtc_index parameter
    drm/i915: Fix conflict resolution from backmerge of v4.8-rc8 to drm-next
    drm/i915/guc: Unwind GuC workqueue reservation if request construction fails
    drm/i915: Reset the breadcrumbs IRQ more carefully
    drm/i915: Force relocations via cpu if we run out of idle aperture
    drm/i915: Distinguish last emitted request from last submitted request
    drm/i915: Allow DP to work w/o EDID
    drm/i915: Move long hpd handling into the hotplug work
    drm/i915/execlists: Reinitialise context image after GPU hang
    drm/i915: Use correct index for backtracking HUNG semaphores
    drm/i915: Unalias obj->phys_handle and obj->userptr
    drm/i915: Just clear the mmiodebug before a register access
    drm/i915/gen9: only add the planes actually affected by ddb changes
    drm/i915: Allow PCH DPLL sharing regardless of DPLL_SDVO_HIGH_SPEED
    drm/i915/bxt: Fix HDMI DPLL configuration
    drm/i915/gen9: fix the watermark res_blocks value
    drm/i915/gen9: fix plane_blocks_per_line on watermarks calculations
    drm/i915/gen9: minimum scanlines for Y tile is not always 4
    drm/i915/gen9: fix the WaWmMemoryReadLatency implementation
    drm/i915/kbl: KBL also needs to run the SAGV code
    ...

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:

    - a few block updates that fell in my lap

    - lib/ updates

    - checkpatch

    - autofs

    - ipc

    - a ton of misc other things

    * emailed patches from Andrew Morton : (100 commits)
    mm: split gfp_mask and mapping flags into separate fields
    fs: use mapping_set_error instead of opencoded set_bit
    treewide: remove redundant #include
    hung_task: allow hung_task_panic when hung_task_warnings is 0
    kthread: add kerneldoc for kthread_create()
    kthread: better support freezable kthread workers
    kthread: allow to modify delayed kthread work
    kthread: allow to cancel kthread work
    kthread: initial support for delayed kthread work
    kthread: detect when a kthread work is used by more workers
    kthread: add kthread_destroy_worker()
    kthread: add kthread_create_worker*()
    kthread: allow to call __kthread_create_on_node() with va_list args
    kthread/smpboot: do not park in kthread_create_on_cpu()
    kthread: kthread worker API cleanup
    kthread: rename probe_kthread_data() to kthread_probe_data()
    scripts/tags.sh: enable code completion in VIM
    mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
    kdump, vmcoreinfo: report memory sections virtual addresses
    ipc/sem.c: add cond_resched in exit_sme
    ...

    Linus Torvalds
     
  • Since linux/auto_dev-ioctl.h wasn't included in include/linux/Kbuild
    it wasn't moved to uapi/linux as part of the uapi series.

    Link: http://lkml.kernel.org/r/20160812024901.12352.10984.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Cc: Tomohiro Kusumi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • linux/limits.h should be included by uapi instead of linux/auto_fs.h
    so as not to cause compile error in userspace.

    # cat << EOF > ./test1.c
    > #include
    > #include
    > int main(void) {
    > return 0;
    > }
    > EOF
    # gcc -Wall -g ./test1.c
    In file included from ./test1.c:2:0:
    /usr/include/linux/auto_fs.h:54:12: error: 'NAME_MAX' undeclared here (not in a function)
    char name[NAME_MAX+1];
    ^

    Link: http://lkml.kernel.org/r/20160812024856.12352.24092.stgit@pluto.themaw.net
    Signed-off-by: Tomohiro Kusumi
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tomohiro Kusumi
     
  • Pull media updates from Mauro Carvalho Chehab:

    - Documentation improvements: conversion of all non-DocBook documents
    to Sphinx and lots of fixes to the uAPI media book

    - New PCI driver for Techwell TW5864 media grabber boards

    - New SoC driver for ATMEL Image Sensor Controller

    - Removal of some obsolete SoC drivers (s5p-tv driver and soc_camera
    drivers)

    - Addition of ST CEC driver

    - Lots of drivers fixes, improvements and additions

    * tag 'media/v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (464 commits)
    [media] ttusb_dec: avoid the risk of go past buffer
    [media] cx23885: Fix some smatch warnings
    [media] si2165: switch to regmap
    [media] si2165: use i2c_client->dev instead of i2c_adapter->dev for logging
    [media] si2165: Remove legacy attach
    [media] cx231xx: attach si2165 driver via i2c_client
    [media] cx231xx: Prepare for attaching new style i2c_client DVB demod drivers
    [media] cx23885: attach si2165 driver via i2c_client
    [media] si2165: support i2c_client attach
    [media] si2165: avoid division by zero
    [media] rcar-vin: add R-Car gen2 fallback compatibility string
    [media] lgdt3306a: remove 20*50 msec unnecessary timeout
    [media] cx25821: Remove deprecated create_singlethread_workqueue
    [media] cx25821: Drop Freeing of Workqueue
    [media] cxd2841er: force 8MHz bandwidth for DVB-C if specified bw not supported
    [media] redrat3: hardware-specific parameters
    [media] redrat3: remove hw_timeout member
    [media] cxd2841er: BER and SNR reading for ISDB-T
    [media] dvb-usb: avoid link error with dib3000m{b,c|
    [media] dvb-usb: split out common parts of dibusb
    ...

    Linus Torvalds
     
  • Pull libnvdimm updates from Dan Williams:
    "Aside from the recently added pmem sub-division support these have
    been in -next for several releases with no reported issues. The sub-
    division support was included in next-20161010 with no reported
    issues. It passes all unit tests including new tests for all the new
    functionality below.

    Summary:

    - PMEM sub-division support: Allow a single PMEM region to be divided
    into multiple namespaces. Originally, ~2 years ago, it was thought
    that partitions of a /dev/pmemX block device could handle
    sub-allocations of persistent memory for different use cases. With
    the decision to not support DAX mappings of raw block-devices, and
    the genesis of device-dax, the need for having multiple
    pmem-namespace per region has grown.

    - Device-DAX unified inode: In support of dynamic-resizing of a
    device-dax instance the kernel arranges for all mappings of a
    device-dax node to share the same inode. This allows unmap /
    truncate / invalidation events to affect all instances of the
    device similar to the behavior of mmap on block devices.

    - Hardware error scrubbing reworks: The original address-range-scrub
    and badblocks tracking solution allowed clearing entries at the
    individual namespace level, but it failed to clear the internal
    list of media errors maintained at the bus level. The result was
    that the next scrub or namespace disable/re-enable event would
    restore the cleared badblocks, but now that is fixed. The v4.8
    kernel introduced an auto-scrub-on-machine-check behavior to
    repopulate the badblocks list. Now, in v4.9, the auto-scrub
    behavior can be disabled and simply arrange for the error reported
    in the machine-check to be added to the list.

    - DIMM health-event notification support: ACPI 6.1 defines a
    notification event code that can be send to ACPI NVDIMM devices. A
    poll(2) capable file descriptor for these events can be obtained
    from the nmemX/nfit/flags sysfs-attribute of a libnvdimm memory
    device.

    - Miscellaneous fixes: NVDIMM-N probe error, device-dax build error,
    and a change to dedup the flush hint list to not flush the memory
    controller more than necessary"

    * tag 'libnvdimm-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (39 commits)
    /dev/dax: fix Kconfig dependency build breakage
    dax: use correct dev_t value
    dax: convert devm_create_dax_dev to PTR_ERR
    libnvdimm, namespace: allow creation of multiple pmem-namespaces per region
    libnvdimm, namespace: lift single pmem limit in scan_labels()
    libnvdimm, namespace: filter out of range labels in scan_labels()
    libnvdimm, namespace: enable allocation of multiple pmem namespaces
    libnvdimm, namespace: update label implementation for multi-pmem
    libnvdimm, namespace: expand pmem device naming scheme for multi-pmem
    libnvdimm, region: update nd_region_available_dpa() for multi-pmem support
    libnvdimm, namespace: sort namespaces by dpa at init
    libnvdimm, namespace: allow multiple pmem-namespaces per region at scan time
    tools/testing/nvdimm: support for sub-dividing a pmem region
    libnvdimm, namespace: unify blk and pmem label scanning
    libnvdimm, namespace: refactor uuid_show() into a namespace_to_uuid() helper
    libnvdimm, label: convert label tracking to a linked list
    libnvdimm, region: move region-mapping input-paramters to nd_mapping_desc
    nvdimm: reduce duplicated wpq flushes
    libnvdimm: clear the internal poison_list when clearing badblocks
    pmem: reduce kmap_atomic sections to the memcpys only
    ...

    Linus Torvalds
     

11 Oct, 2016

3 commits

  • We had inserted a #error into the topology UAPI code to ensure that the
    ABI was not adopted by userspace while final review and testing was
    ongoing. The idea was that some finishing touches would be made to the
    ABI before declaring it stable and suitable for use in production but
    this has not yet happened as more than a year later revisions to the ABI
    are still onging.

    The reality however is that people are shipping topology files in
    production and these ABI changes are causing practical issues for users
    and we can't break userspace. This makes this error pointless so we
    should remove it.

    Signed-off-by: Mark Brown
    Acked-by: Vinod Koul

    Mark Brown
     
  • Pull misc vfs updates from Al Viro:
    "Assorted misc bits and pieces.

    There are several single-topic branches left after this (rename2
    series from Miklos, current_time series from Deepa Dinamani, xattr
    series from Andreas, uaccess stuff from from me) and I'd prefer to
    send those separately"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (39 commits)
    proc: switch auxv to use of __mem_open()
    hpfs: support FIEMAP
    cifs: get rid of unused arguments of CIFSSMBWrite()
    posix_acl: uapi header split
    posix_acl: xattr representation cleanups
    fs/aio.c: eliminate redundant loads in put_aio_ring_file
    fs/internal.h: add const to ns_dentry_operations declaration
    compat: remove compat_printk()
    fs/buffer.c: make __getblk_slow() static
    proc: unsigned file descriptors
    fs/file: more unsigned file descriptors
    fs: compat: remove redundant check of nr_segs
    cachefiles: Fix attempt to read i_blocks after deleting file [ver #2]
    cifs: don't use memcpy() to copy struct iov_iter
    get rid of separate multipage fault-in primitives
    fs: Avoid premature clearing of capabilities
    fs: Give dentry to inode_change_ok() instead of inode
    fuse: Propagate dentry down to inode_change_ok()
    ceph: Propagate dentry down to inode_change_ok()
    xfs: Propagate dentry down to inode_change_ok()
    ...

    Linus Torvalds
     
  • Pull protection keys syscall interface from Thomas Gleixner:
    "This is the final step of Protection Keys support which adds the
    syscalls so user space can actually allocate keys and protect memory
    areas with them. Details and usage examples can be found in the
    documentation.

    The mm side of this has been acked by Mel"

    * 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/pkeys: Update documentation
    x86/mm/pkeys: Do not skip PKRU register if debug registers are not used
    x86/pkeys: Fix pkeys build breakage for some non-x86 arches
    x86/pkeys: Add self-tests
    x86/pkeys: Allow configuration of init_pkru
    x86/pkeys: Default to a restrictive init PKRU
    pkeys: Add details of system call use to Documentation/
    generic syscalls: Wire up memory protection keys syscalls
    x86: Wire up protection keys system calls
    x86/pkeys: Allocation/free syscalls
    x86/pkeys: Make mprotect_key() mask off additional vm_flags
    mm: Implement new pkey_mprotect() system call
    x86/pkeys: Add fault handling for PF_PK page fault bit

    Linus Torvalds
     

10 Oct, 2016

1 commit

  • Pull main rdma updates from Doug Ledford:
    "This is the main pull request for the rdma stack this release. The
    code has been through 0day and I had it tagged for linux-next testing
    for a couple days.

    Summary:

    - updates to mlx5

    - updates to mlx4 (two conflicts, both minor and easily resolved)

    - updates to iw_cxgb4 (one conflict, not so obvious to resolve,
    proper resolution is to keep the code in cxgb4_main.c as it is in
    Linus' tree as attach_uld was refactored and moved into
    cxgb4_uld.c)

    - improvements to uAPI (moved vendor specific API elements to uAPI
    area)

    - add hns-roce driver and hns and hns-roce ACPI reset support

    - conversion of all rdma code away from deprecated
    create_singlethread_workqueue

    - security improvement: remove unsafe ib_get_dma_mr (breaks lustre in
    staging)"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (75 commits)
    staging/lustre: Disable InfiniBand support
    iw_cxgb4: add fast-path for small REG_MR operations
    cxgb4: advertise support for FR_NSMR_TPTE_WR
    IB/core: correctly handle rdma_rw_init_mrs() failure
    IB/srp: Fix infinite loop when FMR sg[0].offset != 0
    IB/srp: Remove an unused argument
    IB/core: Improve ib_map_mr_sg() documentation
    IB/mlx4: Fix possible vl/sl field mismatch in LRH header in QP1 packets
    IB/mthca: Move user vendor structures
    IB/nes: Move user vendor structures
    IB/ocrdma: Move user vendor structures
    IB/mlx4: Move user vendor structures
    IB/cxgb4: Move user vendor structures
    IB/cxgb3: Move user vendor structures
    IB/mlx5: Move and decouple user vendor structures
    IB/{core,hw}: Add constant for node_desc
    ipoib: Make ipoib_warn ratelimited
    IB/mlx4/alias_GUID: Remove deprecated create_singlethread_workqueue
    IB/ipoib_verbs: Remove deprecated create_singlethread_workqueue
    IB/ipoib: Remove deprecated create_singlethread_workqueue
    ...

    Linus Torvalds
     

08 Oct, 2016

11 commits

  • Al Viro
     
  • Dan Williams
     
  • Dan Williams
     
  • This patch moves mthca vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libmthca) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch moves nes vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libmlx4) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch moves ocrdma vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libmlx4) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    In addition, it changes types to be __uXX instead of uXX.

    Signed-off-by: Leon Romanovsky
    Acked-By: Devesh Sharma
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch moves mlx4 vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libmlx4) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch moves cxgb4 vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libcxgb4) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Reviewed-by: Steve Wise
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch moves cxgb3 vendor's specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libcxgb3) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Reviewed-by: Steve Wise
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • This patch decouples and moves vendors specific structures to
    common UAPI folder which will be visible to all consumers.

    These structures are used by user-space library driver
    (libmlx5) and currently manually copied to that library.

    This move will allow cross-compile against these files and
    simplify introduction of vendor specific data.

    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Leon Romanovsky
     
  • Add the following fields to IPv6 flow filter specification:
    1. Traffic Class
    2. Flow Label
    3. Next Header
    4. Hop Limit

    Signed-off-by: Maor Gottlieb
    Reviewed-by: Sagi Grimberg
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Maor Gottlieb