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
     

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


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


15 Oct, 2016

3 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
     
  • 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

1 commit

  • 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
     

08 Oct, 2016

5 commits

  • Al Viro
     
  • Dan Williams
     
  • Dan Williams
     
  • Pull HID updates from Jiri Kosina:

    - Integrated Sensor Hub support (Cherrytrail+) from Srinivas Pandruvada

    - Big cleanup of Wacom driver; namely it's now using devres, and the
    standardized LED API so that libinput doesn't need to have root
    access any more, with substantial amount of other cleanups
    piggy-backing on top. All this from Benjamin Tissoires

    - Report descriptor parsing would now ignore and out-of-range System
    controls in case of the application actually being System Control.
    This fixes quite some issues with several devices, and allows us to
    remove a few ->report_fixup callbacks. From Benjamin Tissoires

    - ... a lot of other assorted small fixes and device ID additions

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (76 commits)
    HID: add missing \n to end of dev_warn messages
    HID: alps: fix multitouch cursor issue
    HID: hid-logitech: Documentation updates/corrections
    HID: hid-logitech: Improve Wingman Formula Force GP support
    HID: hid-logitech: Rewrite of descriptor for all DF wheels
    HID: hid-logitech: Compute combined pedals value
    HID: hid-logitech: Add combined pedal support Logitech wheels
    HID: hid-logitech: Introduce control for combined pedals feature
    HID: sony: Update copyright and add Dualshock 4 rate control note
    HID: sony: Defer the initial USB Sixaxis output report
    HID: sony: Relax duplicate checking for USB-only devices
    Revert "HID: microsoft: fix invalid rdesc for 3k kbd"
    HID: alps: fix error return code in alps_input_configured()
    HID: alps: fix stick device not working after resume
    HID: support for keyboard - Corsair STRAFE
    HID: alps: Fix memory leak
    HID: uclogic: Add support for UC-Logic TWHA60 v3
    HID: uclogic: Override constant descriptors
    HID: uclogic: Support UGTizer GP0610 partially
    HID: uclogic: Add support for several more tablets
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "Summary of PCI changes for the v4.9 merge window:

    Enumeration:
    - microblaze: Add multidomain support for procfs (Bharat Kumar Gogada)

    Resource management:
    - Ignore requested alignment for PROBE_ONLY and fixed resources (Yongji Xie)
    - Ignore requested alignment for VF BARs (Yongji Xie)

    PCI device hotplug:
    - Make core explicitly non-modular (Paul Gortmaker)

    PCIe native device hotplug:
    - Rename pcie_isr() locals for clarity (Bjorn Helgaas)
    - Return IRQ_NONE when we can't read interrupt status (Bjorn Helgaas)
    - Remove unnecessary guard (Bjorn Helgaas)
    - Clean up dmesg "Slot(%s)" messages (Bjorn Helgaas)
    - Remove useless pciehp_get_latch_status() calls (Bjorn Helgaas)
    - Clear attention LED on device add (Keith Busch)
    - Allow exclusive userspace control of indicators (Keith Busch)
    - Process all hotplug events before looking for new ones (Mayurkumar Patel)
    - Don't re-read Slot Status when queuing hotplug event (Mayurkumar Patel)
    - Don't re-read Slot Status when handling surprise event (Mayurkumar Patel)
    - Make explicitly non-modular (Paul Gortmaker)

    Power management:
    - Afford direct-complete to devices with non-standard PM (Lukas Wunner)
    - Query platform firmware for device power state (Lukas Wunner)
    - Recognize D3cold in pci_update_current_state() (Lukas Wunner)
    - Avoid unnecessary resume after direct-complete (Lukas Wunner)
    - Make explicitly non-modular (Paul Gortmaker)

    Virtualization:
    - Mark Atheros AR9580 to avoid bus reset (Maik Broemme)
    - Check for pci_setup_device() failure in pci_iov_add_virtfn() (Po Liu)

    MSI:
    - Enable PCI_MSI_IRQ_DOMAIN support for ARC (Joao Pinto)

    AER:
    - Remove aerdriver.nosourceid kernel parameter (Bjorn Helgaas)
    - Remove aerdriver.forceload kernel parameter (Bjorn Helgaas)
    - Fix aer_probe() kernel-doc comment (Cao jin)
    - Add bus flag to skip source ID matching (Jon Derrick)
    - Avoid memory allocation in interrupt handling path (Jon Derrick)
    - Cache capability position (Keith Busch)
    - Make explicitly non-modular (Paul Gortmaker)
    - Remove duplicate AER severity translation (Tyler Baicar)
    - Send correct severity to calculate AER severity (Tyler Baicar)

    Precision Time Measurement:
    - Add Precision Time Measurement (PTM) support (Jonathan Yong)
    - Add PTM clock granularity information (Bjorn Helgaas)
    - Add pci_enable_ptm() for drivers to enable PTM on endpoints (Bjorn Helgaas)

    Generic host bridge driver:
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
    - Make explicitly non-modular (Paul Gortmaker)

    Altera host bridge driver:
    - Remove redundant platform_get_resource() return value check (Bjorn Helgaas)
    - Poll for link training status after retraining the link (Ley Foon Tan)
    - Rework config accessors for use without a struct pci_bus (Ley Foon Tan)
    - Move retrain from fixup to altera_pcie_host_init() (Ley Foon Tan)
    - Make MSI explicitly non-modular (Paul Gortmaker)
    - Make explicitly non-modular (Paul Gortmaker)
    - Relax device number checking to allow SR-IOV (Po Liu)

    ARM Versatile host bridge driver:
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)

    Axis ARTPEC-6 host bridge driver:
    - Drop __init from artpec6_add_pcie_port() (Niklas Cassel)

    Freescale i.MX6 host bridge driver:
    - Make explicitly non-modular (Paul Gortmaker)

    Intel VMD host bridge driver:
    - Add quirk for AER to ignore source ID (Jon Derrick)
    - Allocate IRQ lists with correct MSI-X count (Jon Derrick)
    - Convert to use pci_alloc_irq_vectors() API (Jon Derrick)
    - Eliminate vmd_vector member from list type (Jon Derrick)
    - Eliminate index member from IRQ list (Jon Derrick)
    - Synchronize with RCU freeing MSI IRQ descs (Keith Busch)
    - Request userspace control of PCIe hotplug indicators (Keith Busch)
    - Move VMD driver to drivers/pci/host (Keith Busch)

    Marvell Aardvark host bridge driver:
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
    - Remove redundant dev_err call in advk_pcie_probe() (Wei Yongjun)

    Microsoft Hyper-V host bridge driver:
    - Use zero-length array in struct pci_packet (Dexuan Cui)
    - Use pci_function_description[0] in struct definitions (Dexuan Cui)
    - Remove the unused 'wrk' in struct hv_pcibus_device (Dexuan Cui)
    - Handle vmbus_sendpacket() failure in hv_compose_msi_msg() (Dexuan Cui)
    - Handle hv_pci_generic_compl() error case (Dexuan Cui)
    - Use list_move_tail() instead of list_del() + list_add_tail() (Wei Yongjun)

    NVIDIA Tegra host bridge driver:
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
    - Remove redundant _data suffix (Thierry Reding)
    - Use of_device_get_match_data() (Thierry Reding)

    Qualcomm host bridge driver:
    - Make explicitly non-modular (Paul Gortmaker)

    Renesas R-Car host bridge driver:
    - Consolidate register space lookup and ioremap (Bjorn Helgaas)
    - Don't disable/unprepare clocks on prepare/enable failure (Geert Uytterhoeven)
    - Add multi-MSI support (Grigory Kletsko)
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
    - Fix some checkpatch warnings (Sergei Shtylyov)
    - Try increasing PCIe link speed to 5 GT/s at boot (Sergei Shtylyov)

    Rockchip host bridge driver:
    - Add DT bindings for Rockchip PCIe controller (Shawn Lin)
    - Add Rockchip PCIe controller support (Shawn Lin)
    - Improve the deassert sequence of four reset pins (Shawn Lin)
    - Fix wrong transmitted FTS count (Shawn Lin)
    - Increase the Max Credit update interval (Rajat Jain)

    Samsung Exynos host bridge driver:
    - Make explicitly non-modular (Paul Gortmaker)

    ST Microelectronics SPEAr13xx host bridge driver:
    - Make explicitly non-modular (Paul Gortmaker)

    Synopsys DesignWare host bridge driver:
    - Return data directly from dw_pcie_readl_rc() (Bjorn Helgaas)
    - Exchange viewport of `MEMORYs' and `CFGs/IOs' (Dong Bo)
    - Check LTSSM training bit before deciding link is up (Jisheng Zhang)
    - Move link wait definitions to .c file (Joao Pinto)
    - Wait for iATU enable (Joao Pinto)
    - Add iATU Unroll feature (Joao Pinto)
    - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
    - Make explicitly non-modular (Paul Gortmaker)
    - Relax device number checking to allow SR-IOV (Po Liu)
    - Keep viewport fixed for IO transaction if num_viewport > 2 (Pratyush Anand)
    - Remove redundant platform_get_resource() return value check (Wei Yongjun)

    TI DRA7xx host bridge driver:
    - Make explicitly non-modular (Paul Gortmaker)

    TI Keystone host bridge driver:
    - Propagate request_irq() failure (Wei Yongjun)

    Xilinx AXI host bridge driver:
    - Keep both legacy and MSI interrupt domain references (Bharat Kumar Gogada)
    - Clear interrupt register for invalid interrupt (Bharat Kumar Gogada)
    - Clear correct MSI set bit (Bharat Kumar Gogada)
    - Dispose of MSI virtual IRQ (Bharat Kumar Gogada)
    - Make explicitly non-modular (Paul Gortmaker)
    - Relax device number checking to allow SR-IOV (Po Liu)

    Xilinx NWL host bridge driver:
    - Expand error logging (Bharat Kumar Gogada)
    - Enable all MSI interrupts using MSI mask (Bharat Kumar Gogada)
    - Make explicitly non-modular (Paul Gortmaker)

    Miscellaneous:
    - Drop CONFIG_KEXEC_CORE ifdeffery (Lukas Wunner)
    - portdrv: Make explicitly non-modular (Paul Gortmaker)
    - Make DPC explicitly non-modular (Paul Gortmaker)"

    * tag 'pci-v4.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (105 commits)
    x86/PCI: VMD: Move VMD driver to drivers/pci/host
    PCI: rockchip: Fix wrong transmitted FTS count
    PCI: rockchip: Improve the deassert sequence of four reset pins
    PCI: rockchip: Increase the Max Credit update interval
    PCI: rcar: Try increasing PCIe link speed to 5 GT/s at boot
    PCI/AER: Fix aer_probe() kernel-doc comment
    PCI: Ignore requested alignment for VF BARs
    PCI: Ignore requested alignment for PROBE_ONLY and fixed resources
    PCI: Avoid unnecessary resume after direct-complete
    PCI: Recognize D3cold in pci_update_current_state()
    PCI: Query platform firmware for device power state
    PCI: Afford direct-complete to devices with non-standard PM
    PCI/AER: Cache capability position
    PCI/AER: Avoid memory allocation in interrupt handling path
    x86/PCI: VMD: Request userspace control of PCIe hotplug indicators
    PCI: pciehp: Allow exclusive userspace control of indicators
    ACPI / APEI: Send correct severity to calculate AER severity
    PCI/AER: Remove duplicate AER severity translation
    x86/PCI: VMD: Synchronize with RCU freeing MSI IRQ descs
    x86/PCI: VMD: Eliminate index member from IRQ list
    ...

    Linus Torvalds
     

07 Oct, 2016

2 commits

  • Pull HSI fix from Sebastian Reichel:
    "Fix hsi userspace header"

    * tag 'hsi-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
    HSI: hsi_char.h: use __u32 from linux/types.h

    Linus Torvalds
     
  • Pull namespace updates from Eric Biederman:
    "This set of changes is a number of smaller things that have been
    overlooked in other development cycles focused on more fundamental
    change. The devpts changes are small things that were a distraction
    until we managed to kill off DEVPTS_MULTPLE_INSTANCES. There is an
    trivial regression fix to autofs for the unprivileged mount changes
    that went in last cycle. A pair of ioctls has been added by Andrey
    Vagin making it is possible to discover the relationships between
    namespaces when referring to them through file descriptors.

    The big user visible change is starting to add simple resource limits
    to catch programs that misbehave. With namespaces in general and user
    namespaces in particular allowing users to use more kinds of
    resources, it has become important to have something to limit errant
    programs. Because the purpose of these limits is to catch errant
    programs the code needs to be inexpensive to use as it always on, and
    the default limits need to be high enough that well behaved programs
    on well behaved systems don't encounter them.

    To this end, after some review I have implemented per user per user
    namespace limits, and use them to limit the number of namespaces. The
    limits being per user mean that one user can not exhause the limits of
    another user. The limits being per user namespace allow contexts where
    the limit is 0 and security conscious folks can remove from their
    threat anlysis the code used to manage namespaces (as they have
    historically done as it root only). At the same time the limits being
    per user namespace allow other parts of the system to use namespaces.

    Namespaces are increasingly being used in application sand boxing
    scenarios so an all or nothing disable for the entire system for the
    security conscious folks makes increasing use of these sandboxes
    impossible.

    There is also added a limit on the maximum number of mounts present in
    a single mount namespace. It is nontrivial to guess what a reasonable
    system wide limit on the number of mount structure in the kernel would
    be, especially as it various based on how a system is using
    containers. A limit on the number of mounts in a mount namespace
    however is much easier to understand and set. In most cases in
    practice only about 1000 mounts are used. Given that some autofs
    scenarious have the potential to be 30,000 to 50,000 mounts I have set
    the default limit for the number of mounts at 100,000 which is well
    above every known set of users but low enough that the mount hash
    tables don't degrade unreaonsably.

    These limits are a start. I expect this estabilishes a pattern that
    other limits for resources that namespaces use will follow. There has
    been interest in making inotify event limits per user per user
    namespace as well as interest expressed in making details about what
    is going on in the kernel more visible"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (28 commits)
    autofs: Fix automounts by using current_real_cred()->uid
    mnt: Add a per mount namespace limit on the number of mounts
    netns: move {inc,dec}_net_namespaces into #ifdef
    nsfs: Simplify __ns_get_path
    tools/testing: add a test to check nsfs ioctl-s
    nsfs: add ioctl to get a parent namespace
    nsfs: add ioctl to get an owning user namespace for ns file descriptor
    kernel: add a helper to get an owning user namespace for a namespace
    devpts: Change the owner of /dev/pts/ptmx to the mounter of /dev/pts
    devpts: Remove sync_filesystems
    devpts: Make devpts_kill_sb safe if fsi is NULL
    devpts: Simplify devpts_mount by using mount_nodev
    devpts: Move the creation of /dev/pts/ptmx into fill_super
    devpts: Move parse_mount_options into fill_super
    userns: When the per user per user namespace limit is reached return ENOSPC
    userns; Document per user per user namespace limits.
    mntns: Add a limit on the number of mount namespaces.
    netns: Add a limit on the number of net namespaces
    cgroupns: Add a limit on the number of cgroup namespaces
    ipcns: Add a limit on the number of ipc namespaces
    ...

    Linus Torvalds
     

06 Oct, 2016

3 commits

  • Linux 4.8

    * tag 'v4.8': (1761 commits)
    Linux 4.8
    ARM: 8618/1: decompressor: reset ttbcr fields to use TTBR0 on ARMv7
    MIPS: CM: Fix mips_cm_max_vp_width for non-MT kernels on MT systems
    include/linux/property.h: fix typo/compile error
    ocfs2: fix deadlock on mmapped page in ocfs2_write_begin_nolock()
    mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()
    MAINTAINERS: Switch to kernel.org email address for Javi Merino
    x86/entry/64: Fix context tracking state warning when load_gs_index fails
    x86/boot: Initialize FPU and X86_FEATURE_ALWAYS even if we don't have CPUID
    x86/vdso: Fix building on big endian host
    x86/boot: Fix another __read_cr4() case on 486
    sctp: fix the issue sctp_diag uses lock_sock in rcu_read_lock
    sctp: change to check peer prsctp_capable when using prsctp polices
    sctp: remove prsctp_param from sctp_chunk
    sctp: move sent_count to the memory hole in sctp_chunk
    tg3: Avoid NULL pointer dereference in tg3_io_error_detected()
    x86/init: Fix cr4_init_shadow() on CR4-less machines
    MIPS: Fix detection of unsupported highmem with cache aliases
    MIPS: Malta: Fix IOCU disable switch read for MIPS64
    MIPS: Fix BUILD_ROLLBACK_PROLOGUE for microMIPS
    ...

    Mauro Carvalho Chehab
     
  • Pull fuse updates from Miklos Szeredi:
    "This adds POSIX ACL permission checking to the fuse kernel module.

    In addition there are minor bug fixes as well as cleanups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: limit xattr returned size
    fuse: remove duplicate cs->offset assignment
    fuse: don't use fuse_ioctl_copy_user() helper
    fuse_ioctl_copy_user(): don't open-code copy_page_{to,from}_iter()
    fuse: get rid of fc->flags
    fuse: use timespec64
    fuse: don't use ->d_time
    fuse: Add posix ACL support
    fuse: handle killpriv in userspace fs
    fuse: fix killing s[ug]id in setattr
    fuse: invalidate dir dentry after chmod
    fuse: Use generic xattr ops
    fuse: listxattr: verify xattr list

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) BBR TCP congestion control, from Neal Cardwell, Yuchung Cheng and
    co. at Google. https://lwn.net/Articles/701165/

    2) Do TCP Small Queues for retransmits, from Eric Dumazet.

    3) Support collect_md mode for all IPV4 and IPV6 tunnels, from Alexei
    Starovoitov.

    4) Allow cls_flower to classify packets in ip tunnels, from Amir Vadai.

    5) Support DSA tagging in older mv88e6xxx switches, from Andrew Lunn.

    6) Support GMAC protocol in iwlwifi mwm, from Ayala Beker.

    7) Support ndo_poll_controller in mlx5, from Calvin Owens.

    8) Move VRF processing to an output hook and allow l3mdev to be
    loopback, from David Ahern.

    9) Support SOCK_DESTROY for UDP sockets. Also from David Ahern.

    10) Congestion control in RXRPC, from David Howells.

    11) Support geneve RX offload in ixgbe, from Emil Tantilov.

    12) When hitting pressure for new incoming TCP data SKBs, perform a
    partial rathern than a full purge of the OFO queue (which could be
    huge). From Eric Dumazet.

    13) Convert XFRM state and policy lookups to RCU, from Florian Westphal.

    14) Support RX network flow classification to igb, from Gangfeng Huang.

    15) Hardware offloading of eBPF in nfp driver, from Jakub Kicinski.

    16) New skbmod packet action, from Jamal Hadi Salim.

    17) Remove some inefficiencies in snmp proc output, from Jia He.

    18) Add FIB notifications to properly propagate route changes to
    hardware which is doing forwarding offloading. From Jiri Pirko.

    19) New dsa driver for qca8xxx chips, from John Crispin.

    20) Implement RFC7559 ipv6 router solicitation backoff, from Maciej
    Żenczykowski.

    21) Add L3 mode to ipvlan, from Mahesh Bandewar.

    22) Support 802.1ad in mlx4, from Moshe Shemesh.

    23) Support hardware LRO in mediatek driver, from Nelson Chang.

    24) Add TC offloading to mlx5, from Or Gerlitz.

    25) Convert various drivers to ethtool ksettings interfaces, from
    Philippe Reynes.

    26) TX max rate limiting for cxgb4, from Rahul Lakkireddy.

    27) NAPI support for ath10k, from Rajkumar Manoharan.

    28) Support XDP in mlx5, from Rana Shahout and Saeed Mahameed.

    29) UDP replicast support in TIPC, from Richard Alpe.

    30) Per-queue statistics for qed driver, from Sudarsana Reddy Kalluru.

    31) Support BQL in thunderx driver, from Sunil Goutham.

    32) TSO support in alx driver, from Tobias Regnery.

    33) Add stream parser engine and use it in kcm.

    34) Support async DHCP replies in ipconfig module, from Uwe
    Kleine-König.

    35) DSA port fast aging for mv88e6xxx driver, from Vivien Didelot.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1715 commits)
    mlxsw: switchx2: Fix misuse of hard_header_len
    mlxsw: spectrum: Fix misuse of hard_header_len
    net/faraday: Stop NCSI device on shutdown
    net/ncsi: Introduce ncsi_stop_dev()
    net/ncsi: Rework the channel monitoring
    net/ncsi: Allow to extend NCSI request properties
    net/ncsi: Rework request index allocation
    net/ncsi: Don't probe on the reserved channel ID (0x1f)
    net/ncsi: Introduce NCSI_RESERVED_CHANNEL
    net/ncsi: Avoid unused-value build warning from ia64-linux-gcc
    net: Add netdev all_adj_list refcnt propagation to fix panic
    net: phy: Add Edge-rate driver for Microsemi PHYs.
    vmxnet3: Wake queue from reset work
    i40e: avoid NULL pointer dereference and recursive errors on early PCI error
    qed: Add RoCE ll2 & GSI support
    qed: Add support for memory registeration verbs
    qed: Add support for QP verbs
    qed: PD,PKEY and CQ verb support
    qed: Add support for RoCE hw init
    qede: Add qedr framework
    ...

    Linus Torvalds
     

05 Oct, 2016

1 commit

  • Pull audit updates from Paul Moore:
    "Another relatively small pull request for v4.9 with just two patches.

    The patch from Richard updates the list of features we support and
    report back to userspace; this should have been sent earlier with the
    rest of the v4.8 patches but it got lost in my inbox.

    The second patch fixes a problem reported by our Android friends where
    we weren't very consistent in recording PIDs"

    * 'stable-4.9' of git://git.infradead.org/users/pcmoore/audit:
    audit: add exclude filter extension to feature bitmap
    audit: consistently record PIDs with task_tgid_nr()

    Linus Torvalds
     

04 Oct, 2016

6 commits

  • Resolve the merge conflict between Felix's/my and Toke's patches
    coming into the tree through net and mac80211-next respectively.
    Most of Felix's changes go away due to Toke's new infrastructure
    work, my patch changes to "goto begin" (the label wasn't there
    before) instead of returning NULL so flow control towards drivers
    is preserved better.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • As part of the sync framework destaging, the sync_file.h header
    was moved, but an entry was not added on Kbuild to install it.
    This patch resolves this omission so that "make headers_install"
    installs this header.

    Fixes: 460bfc41fd52 ("dma-buf/sync_file: de-stage sync_file headers")
    Reported-by: Michael Ellerman
    Reviewed-by: Gustavo Padovan
    Signed-off-by: Emilio López
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/20160927143142.8975-1-emilio.lopez@collabora.co.uk

    Emilio López
     
  • Pull usb/phy/extcon updates from Greg KH:
    "Here is the big USB, and PHY, and extcon, patchsets for 4.9-rc1.

    Full details are in the shortlog, but generally a lot of new hardware
    support, usb gadget updates, and Wolfram's great cleanup of USB error
    message handling, making the kernel image a tad bit smaller.

    All of this has been in linux-next with no reported issues"

    * tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (343 commits)
    Revert "usbtmc: convert to devm_kzalloc"
    USB: serial: cp210x: Add ID for a Juniper console
    usb: Kconfig: using select for USB_COMMON dependency
    bluetooth: bcm203x: don't print error when allocating urb fails
    mmc: host: vub300: don't print error when allocating urb fails
    usb: hub: change CLEAR_FEATURE to SET_FEATURE
    usb: core: Introduce a USB port LED trigger
    USB: bcma: drop Northstar PHY 2.0 initialization code
    usb: core: hcd: add missing header dependencies
    usb: musb: da8xx: fix error handling message in probe
    usb: musb: Fix session based PM for first invalid VBUS
    usb: musb: Fix PM runtime for disconnect after unconfigure
    musb: Export musb_root_disconnect for use in modules
    usb: misc: legousbtower: Fix NULL pointer deference
    cdc-acm: hardening against malicious devices
    Revert "usb: gadget: NCM: Protect dev->port_usb using dev->lock"
    include: extcon: Fix compilation error caused because of incomplete merge
    MAINTAINERS: add tree entry for USB Serial
    phy-twl4030-usb: initialize charging-related stuff via pm_runtime
    phy-twl4030-usb: better handle musb_mailbox() failure
    ...

    Linus Torvalds
     
  • There are two separate issues that can lead to corrupted free space
    trees.

    1. The free space tree bitmaps had an endianness issue on big-endian
    systems which is fixed by an earlier patch in this series.
    2. btrfs-progs before v4.7.3 modified filesystems without updating the
    free space tree.

    To catch both of these issues at once, we need to force the free space
    tree to be rebuilt. To do so, add a FREE_SPACE_TREE_VALID compat_ro bit.
    If the bit isn't set, we know that it was either produced by a broken
    big-endian kernel or may have been corrupted by btrfs-progs.

    This also provides us with a way to add rudimentary read-write support
    for the free space tree to btrfs-progs: it can just clear this bit and
    have the kernel rebuild the free space tree.

    Cc: stable@vger.kernel.org # 4.5+
    Tested-by: Holger Hoffstätte
    Tested-by: Chandan Rajendra
    Signed-off-by: Omar Sandoval
    Signed-off-by: David Sterba

    Omar Sandoval
     
  • Add a new fallocate mode flag that explicitly unshares blocks on
    filesystems that support such features. The new flag can only
    be used with an allocate-mode fallocate call.

    Signed-off-by: Darrick J. Wong

    Darrick J. Wong
     
  • Introduce XFLAGs for the new XFS CoW extent size hint, and actually
    plumb the CoW extent size hint into the fsxattr structure.

    Signed-off-by: Darrick J. Wong
    Reviewed-by: Christoph Hellwig

    Darrick J. Wong
     

01 Oct, 2016

2 commits

  • Add a new INIT flag, FUSE_POSIX_ACL, for negotiating ACL support with
    userspace. When it is set in the INIT response, ACL support will be
    enabled. ACL support also implies "default_permissions".

    When ACL support is enabled, the kernel will cache and have responsibility
    for enforcing ACLs. ACL xattrs will be passed to userspace, which is
    responsible for updating the ACLs in the filesystem, keeping the file mode
    in sync, and inheritance of default ACLs when new filesystem nodes are
    created.

    Signed-off-by: Seth Forshee
    Signed-off-by: Miklos Szeredi

    Seth Forshee
     
  • Only userspace filesystem can do the killing of suid/sgid without races.
    So introduce an INIT flag and negotiate support for this.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     

30 Sep, 2016

2 commits

  • Provide a function that reports NAN DE function termination. The function
    may be terminated due to one of the following reasons: user request,
    ttl expiration or failure.
    If the NAN instance is tied to the owner, the notification will be
    sent to the socket that started the NAN interface only

    Signed-off-by: Andrei Otcheretianski
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Luca Coelho
    Signed-off-by: Johannes Berg

    Ayala Beker
     
  • Provide a function the driver can call to report a match.
    This will send the event to the user space.
    If the NAN instance is tied to the owner, the notifications will be
    sent to the socket that started the NAN interface only.

    Signed-off-by: Andrei Otcheretianski
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Luca Coelho
    Signed-off-by: Johannes Berg

    Ayala Beker