08 Jun, 2018

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Notable changes:

    - Support for split PMD page table lock on 64-bit Book3S (Power8/9).

    - Add support for HAVE_RELIABLE_STACKTRACE, so we properly support
    live patching again.

    - Add support for patching barrier_nospec in copy_from_user() and
    syscall entry.

    - A couple of fixes for our data breakpoints on Book3S.

    - A series from Nick optimising TLB/mm handling with the Radix MMU.

    - Numerous small cleanups to squash sparse/gcc warnings from Mathieu
    Malaterre.

    - Several series optimising various parts of the 32-bit code from
    Christophe Leroy.

    - Removal of support for two old machines, "SBC834xE" and "C2K"
    ("GEFanuc,C2K"), which is why the diffstat has so many deletions.

    And many other small improvements & fixes.

    There's a few out-of-area changes. Some minor ftrace changes OK'ed by
    Steve, and a fix to our powernv cpuidle driver. Then there's a series
    touching mm, x86 and fs/proc/task_mmu.c, which cleans up some details
    around pkey support. It was ack'ed/reviewed by Ingo & Dave and has
    been in next for several weeks.

    Thanks to: Akshay Adiga, Alastair D'Silva, Alexey Kardashevskiy, Al
    Viro, Andrew Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Arnd
    Bergmann, Balbir Singh, Cédric Le Goater, Christophe Leroy, Christophe
    Lombard, Colin Ian King, Dave Hansen, Fabio Estevam, Finn Thain,
    Frederic Barrat, Gautham R. Shenoy, Haren Myneni, Hari Bathini, Ingo
    Molnar, Jonathan Neuschäfer, Josh Poimboeuf, Kamalesh Babulal,
    Madhavan Srinivasan, Mahesh Salgaonkar, Mark Greer, Mathieu Malaterre,
    Matthew Wilcox, Michael Neuling, Michal Suchanek, Naveen N. Rao,
    Nicholas Piggin, Nicolai Stange, Olof Johansson, Paul Gortmaker, Paul
    Mackerras, Peter Rosin, Pridhiviraj Paidipeddi, Ram Pai, Rashmica
    Gupta, Ravi Bangoria, Russell Currey, Sam Bobroff, Samuel
    Mendoza-Jonas, Segher Boessenkool, Shilpasri G Bhat, Simon Guo,
    Souptick Joarder, Stewart Smith, Thiago Jung Bauermann, Torsten Duwe,
    Vaibhav Jain, Wei Yongjun, Wolfram Sang, Yisheng Xie, YueHaibing"

    * tag 'powerpc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (251 commits)
    powerpc/64s/radix: Fix missing ptesync in flush_cache_vmap
    cpuidle: powernv: Fix promotion from snooze if next state disabled
    powerpc: fix build failure by disabling attribute-alias warning in pci_32
    ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()
    powerpc-opal: fix spelling mistake "Uniterrupted" -> "Uninterrupted"
    powerpc: fix spelling mistake: "Usupported" -> "Unsupported"
    powerpc/pkeys: Detach execute_only key on !PROT_EXEC
    powerpc/powernv: copy/paste - Mask SO bit in CR
    powerpc: Remove core support for Marvell mv64x60 hostbridges
    powerpc/boot: Remove core support for Marvell mv64x60 hostbridges
    powerpc/boot: Remove support for Marvell mv64x60 i2c controller
    powerpc/boot: Remove support for Marvell MPSC serial controller
    powerpc/embedded6xx: Remove C2K board support
    powerpc/lib: optimise PPC32 memcmp
    powerpc/lib: optimise 32 bits __clear_user()
    powerpc/time: inline arch_vtime_task_switch()
    powerpc/Makefile: set -mcpu=860 flag for the 8xx
    powerpc: Implement csum_ipv6_magic in assembly
    powerpc/32: Optimise __csum_partial()
    powerpc/lib: Adjust .balign inside string functions for PPC32
    ...

    Linus Torvalds
     

07 Jun, 2018

15 commits

  • Pull networking updates from David Miller:

    1) Add Maglev hashing scheduler to IPVS, from Inju Song.

    2) Lots of new TC subsystem tests from Roman Mashak.

    3) Add TCP zero copy receive and fix delayed acks and autotuning with
    SO_RCVLOWAT, from Eric Dumazet.

    4) Add XDP_REDIRECT support to mlx5 driver, from Jesper Dangaard
    Brouer.

    5) Add ttl inherit support to vxlan, from Hangbin Liu.

    6) Properly separate ipv6 routes into their logically independant
    components. fib6_info for the routing table, and fib6_nh for sets of
    nexthops, which thus can be shared. From David Ahern.

    7) Add bpf_xdp_adjust_tail helper, which can be used to generate ICMP
    messages from XDP programs. From Nikita V. Shirokov.

    8) Lots of long overdue cleanups to the r8169 driver, from Heiner
    Kallweit.

    9) Add BTF ("BPF Type Format"), from Martin KaFai Lau.

    10) Add traffic condition monitoring to iwlwifi, from Luca Coelho.

    11) Plumb extack down into fib_rules, from Roopa Prabhu.

    12) Add Flower classifier offload support to igb, from Vinicius Costa
    Gomes.

    13) Add UDP GSO support, from Willem de Bruijn.

    14) Add documentation for eBPF helpers, from Quentin Monnet.

    15) Add TLS tx offload to mlx5, from Ilya Lesokhin.

    16) Allow applications to be given the number of bytes available to read
    on a socket via a control message returned from recvmsg(), from
    Soheil Hassas Yeganeh.

    17) Add x86_32 eBPF JIT compiler, from Wang YanQing.

    18) Add AF_XDP sockets, with zerocopy support infrastructure as well.
    From Björn Töpel.

    19) Remove indirect load support from all of the BPF JITs and handle
    these operations in the verifier by translating them into native BPF
    instead. From Daniel Borkmann.

    20) Add GRO support to ipv6 gre tunnels, from Eran Ben Elisha.

    21) Allow XDP programs to do lookups in the main kernel routing tables
    for forwarding. From David Ahern.

    22) Allow drivers to store hardware state into an ELF section of kernel
    dump vmcore files, and use it in cxgb4. From Rahul Lakkireddy.

    23) Various RACK and loss detection improvements in TCP, from Yuchung
    Cheng.

    24) Add TCP SACK compression, from Eric Dumazet.

    25) Add User Mode Helper support and basic bpfilter infrastructure, from
    Alexei Starovoitov.

    26) Support ports and protocol values in RTM_GETROUTE, from Roopa
    Prabhu.

    27) Support bulking in ->ndo_xdp_xmit() API, from Jesper Dangaard
    Brouer.

    28) Add lots of forwarding selftests, from Petr Machata.

    29) Add generic network device failover driver, from Sridhar Samudrala.

    * ra.kernel.org:/pub/scm/linux/kernel/git/davem/net-next: (1959 commits)
    strparser: Add __strp_unpause and use it in ktls.
    rxrpc: Fix terminal retransmission connection ID to include the channel
    net: hns3: Optimize PF CMDQ interrupt switching process
    net: hns3: Fix for VF mailbox receiving unknown message
    net: hns3: Fix for VF mailbox cannot receiving PF response
    bnx2x: use the right constant
    Revert "net: sched: cls: Fix offloading when ingress dev is vxlan"
    net: dsa: b53: Fix for brcm tag issue in Cygnus SoC
    enic: fix UDP rss bits
    netdev-FAQ: clarify DaveM's position for stable backports
    rtnetlink: validate attributes in do_setlink()
    mlxsw: Add extack messages for port_{un, }split failures
    netdevsim: Add extack error message for devlink reload
    devlink: Add extack to reload and port_{un, }split operations
    net: metrics: add proper netlink validation
    ipmr: fix error path when ipmr_new_table fails
    ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
    net: hns3: remove unused hclgevf_cfg_func_mta_filter
    netfilter: provide udp*_lib_lookup for nf_tproxy
    qed*: Utilize FW 8.37.2.0
    ...

    Linus Torvalds
     
  • Pull overflow updates from Kees Cook:
    "This adds the new overflow checking helpers and adds them to the
    2-factor argument allocators. And this adds the saturating size
    helpers and does a treewide replacement for the struct_size() usage.
    Additionally this adds the overflow testing modules to make sure
    everything works.

    I'm still working on the treewide replacements for allocators with
    "simple" multiplied arguments:

    *alloc(a * b, ...) -> *alloc_array(a, b, ...)

    and

    *zalloc(a * b, ...) -> *calloc(a, b, ...)

    as well as the more complex cases, but that's separable from this
    portion of the series. I expect to have the rest sent before -rc1
    closes; there are a lot of messy cases to clean up.

    Summary:

    - Introduce arithmetic overflow test helper functions (Rasmus)

    - Use overflow helpers in 2-factor allocators (Kees, Rasmus)

    - Introduce overflow test module (Rasmus, Kees)

    - Introduce saturating size helper functions (Matthew, Kees)

    - Treewide use of struct_size() for allocators (Kees)"

    * tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    treewide: Use struct_size() for devm_kmalloc() and friends
    treewide: Use struct_size() for vmalloc()-family
    treewide: Use struct_size() for kmalloc()-family
    device: Use overflow helpers for devm_kmalloc()
    mm: Use overflow helpers in kvmalloc()
    mm: Use overflow helpers in kmalloc_array*()
    test_overflow: Add memory allocation overflow tests
    overflow.h: Add allocation size calculation helpers
    test_overflow: Report test failures
    test_overflow: macrofy some more, do more tests for free
    lib: add runtime test of check_*_overflow functions
    compiler.h: enable builtin overflow checkers and add fallback code

    Linus Torvalds
     
  • Pull printk updates from Petr Mladek:

    - Help userspace log daemons to catch up with a flood of messages. They
    will get woken after each message even if the console is far behind
    and handled by another process.

    - Flush printk safe buffers safely even when panic() happens in the
    normal context.

    - Fix possible va_list reuse when race happened in printk_safe().

    - Remove %pCr printf format to prevent sleeping in the atomic context.

    - Misc vsprintf code cleanup.

    * tag 'printk-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
    printk: drop in_nmi check from printk_safe_flush_on_panic()
    lib/vsprintf: Remove atomic-unsafe support for %pCr
    serial: sh-sci: Stop using printk format %pCr
    thermal: bcm2835: Stop using printk format %pCr
    clk: renesas: cpg-mssr: Stop using printk format %pCr
    printk: fix possible reuse of va_list variable
    printk: wake up klogd in vprintk_emit
    vsprintf: Tweak pF/pf comment
    lib/vsprintf: Mark expected switch fall-through
    lib/vsprintf: Replace space with '_' before crng is ready
    lib/vsprintf: Deduplicate pointer_string()
    lib/vsprintf: Move pointer_string() upper
    lib/vsprintf: Make flag_spec global
    lib/vsprintf: Make strspec global
    lib/vsprintf: Make dec_spec global
    lib/test_printf: Mark big constant with UL

    Linus Torvalds
     
  • Pull IPMI updates from Corey Minyard:
    "It's been a busy release for the IPMI driver. Some notable changes:

    - A user was running into timeout issues doing maintenance commands
    over the IPMB network behind an IPMI controller.

    Extend the maintenance mode concept to messages over IPMB and allow
    the timeouts to be tuned.

    - Lots of cleanup, style fixing, some bugfixes, and such.

    - At least one user was having trouble with the way the IPMI driver
    would lock the i2c driver module it used.

    The IPMI driver was not designed for hotplug. However, hotplug is a
    reality now, so the IPMI driver was modified to support hotplug.

    - The proc interface code is now completely removed. Long live sysfs!"

    * tag 'for-linus-4.18' of git://github.com/cminyard/linux-ipmi: (35 commits)
    ipmi: Properly release srcu locks on error conditions
    ipmi: NPCM7xx KCS BMC: enable interrupt to the host
    ipmi:bt: Set the timeout before doing a capabilities check
    ipmi: Remove the proc interface
    ipmi_ssif: Fix uninitialized variable issue
    ipmi: add an NPCM7xx KCS BMC driver
    ipmi_si: Clean up shutdown a bit
    ipmi_si: Rename intf_num to si_num
    ipmi: Remove smi->intf checks
    ipmi_ssif: Get rid of unused intf_num
    ipmi: Get rid of ipmi_user_t and ipmi_smi_t in include files
    ipmi: ipmi_unregister_smi() cannot fail, have it return void
    ipmi_devintf: Add an error return on invalid ioctls
    ipmi: Remove usecount function from interfaces
    ipmi_ssif: Remove usecount handling
    ipmi: Remove condition on interface shutdown
    ipmi_ssif: Convert over to a shutdown handler
    ipmi_si: Convert over to a shutdown handler
    ipmi: Rework locking and shutdown for hot remove
    ipmi: Fix some counter issues
    ...

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:

    - Stratix10 SDRAM support to altera_edac (Thor Thayer)

    - the usual misc fixes all over the place

    [ Also, shared branch for socfpga_stratix10.dtsi file changes with the
    socfpga tree ]

    * tag 'edac_for_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC, ghes: Make platform-based whitelisting x86-only
    EDAC, altera: Fix ARM64 build warning
    EDAC, skx: Fix skx_edac build error when ACPI_NFIT=m
    EDAC, ghes: Use BIT() macro
    EDAC, ghes: Add DDR4 and NVDIMM memory types
    EDAC, altera: Handle SDRAM Uncorrectable Errors on Stratix10
    Documentation: dt: edac: Move Altera SOCFPGA EDAC file
    EDAC, altera: Add support for Stratix10 SDRAM EDAC
    Documentation: dt: socfpga: Add Stratix10 ECC Manager binding
    EDAC, ghes: Remove unused argument to ghes_edac_report_mem_error()
    arm64: dts: stratix10: add sdram ecc
    EDAC, i7core: Fix spelling mistake: "redundacy" -> "redundancy"
    EDAC, ghes: Add a null pointer check in ghes_edac_unregister()
    ghes, EDAC: Fix ghes_edac registration
    arm64: dts: stratix10: Change pad skew values for EMAC0 PHY driver
    ARM: dts: consistently use 'atmel' as at24 manufacturer in cyclone5
    arm64: dts: stratix10: Add PL330 DMAC to Stratix10 dts
    arm64: dts: stratix10: enable i2c, add i2c periperals
    arm64: dts: stratix10: use clock bindings for the Stratix10 platform

    Linus Torvalds
     
  • Pull ARM updates from Russell King:

    - Initial round of Spectre variant 1 and variant 2 fixes for 32-bit ARM

    - Clang support improvements

    - nommu updates for v8 MPU

    - enable ARM_MODULE_PLTS by default to avoid problems loading modules
    with larger kernels

    - vmlinux.lds and dma-mapping cleanups

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (31 commits)
    ARM: spectre-v1: fix syscall entry
    ARM: spectre-v1: add array_index_mask_nospec() implementation
    ARM: spectre-v1: add speculation barrier (csdb) macros
    ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1
    ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
    ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15
    ARM: KVM: invalidate icache on guest exit for Cortex-A15
    ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17
    ARM: spectre-v2: warn about incorrect context switching functions
    ARM: spectre-v2: add firmware based hardening
    ARM: spectre-v2: harden user aborts in kernel space
    ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit
    ARM: spectre-v2: harden branch predictor on context switches
    ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre
    ARM: bugs: add support for per-processor bug checking
    ARM: bugs: hook processor bug checking into SMP and suspend paths
    ARM: bugs: prepare processor bug infrastructure
    ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs
    ARM: 8774/1: remove no-op macro VMLINUX_SYMBOL()
    ARM: 8773/1: amba: Export amba_bustype
    ...

    Linus Torvalds
     
  • Replaces open-coded struct size calculations with struct_size() for
    devm_*, f2fs_*, and sock_* allocations. Automatically generated (and
    manually adjusted) from the following Coccinelle script:

    // Direct reference to struct field.
    @@
    identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
    expression HANDLE;
    expression GFP;
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(HANDLE, sizeof(*VAR) + COUNT * sizeof(*VAR->ELEMENT), GFP)
    + alloc(HANDLE, struct_size(VAR, ELEMENT, COUNT), GFP)

    // mr = kzalloc(sizeof(*mr) + m * sizeof(mr->map[0]), GFP_KERNEL);
    @@
    identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
    expression HANDLE;
    expression GFP;
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(HANDLE, sizeof(*VAR) + COUNT * sizeof(VAR->ELEMENT[0]), GFP)
    + alloc(HANDLE, struct_size(VAR, ELEMENT, COUNT), GFP)

    // Same pattern, but can't trivially locate the trailing element name,
    // or variable name.
    @@
    identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
    expression HANDLE;
    expression GFP;
    expression SOMETHING, COUNT, ELEMENT;
    @@

    - alloc(HANDLE, sizeof(SOMETHING) + COUNT * sizeof(ELEMENT), GFP)
    + alloc(HANDLE, CHECKME_struct_size(&SOMETHING, ELEMENT, COUNT), GFP)

    Signed-off-by: Kees Cook

    Kees Cook
     
  • This only finds one hit in the entire tree, but here's the Coccinelle:

    // Directly refer to structure's field
    @@
    identifier alloc =~ "vmalloc|vzalloc";
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(sizeof(*VAR) + COUNT * sizeof(*VAR->ELEMENT))
    + alloc(struct_size(VAR, ELEMENT, COUNT))

    // mr = kzalloc(sizeof(*mr) + m * sizeof(mr->map[0]), GFP_KERNEL);
    @@
    identifier alloc =~ "vmalloc|vzalloc";
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(sizeof(*VAR) + COUNT * sizeof(VAR->ELEMENT[0]))
    + alloc(struct_size(VAR, ELEMENT, COUNT))

    // Same pattern, but can't trivially locate the trailing element name,
    // or variable name.
    @@
    identifier alloc =~ "vmalloc|vzalloc";
    expression SOMETHING, COUNT, ELEMENT;
    @@

    - alloc(sizeof(SOMETHING) + COUNT * sizeof(ELEMENT))
    + alloc(CHECKME_struct_size(&SOMETHING, ELEMENT, COUNT))

    Signed-off-by: Kees Cook

    Kees Cook
     
  • One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:

    struct foo {
    int stuff;
    void *entry[];
    };

    instance = kmalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL);

    Instead of leaving these open-coded and prone to type mistakes, we can
    now use the new struct_size() helper:

    instance = kmalloc(struct_size(instance, entry, count), GFP_KERNEL);

    This patch makes the changes for kmalloc()-family (and kvmalloc()-family)
    uses. It was done via automatic conversion with manual review for the
    "CHECKME" non-standard cases noted below, using the following Coccinelle
    script:

    // pkey_cache = kmalloc(sizeof *pkey_cache + tprops->pkey_tbl_len *
    // sizeof *pkey_cache->table, GFP_KERNEL);
    @@
    identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
    expression GFP;
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(sizeof(*VAR) + COUNT * sizeof(*VAR->ELEMENT), GFP)
    + alloc(struct_size(VAR, ELEMENT, COUNT), GFP)

    // mr = kzalloc(sizeof(*mr) + m * sizeof(mr->map[0]), GFP_KERNEL);
    @@
    identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
    expression GFP;
    identifier VAR, ELEMENT;
    expression COUNT;
    @@

    - alloc(sizeof(*VAR) + COUNT * sizeof(VAR->ELEMENT[0]), GFP)
    + alloc(struct_size(VAR, ELEMENT, COUNT), GFP)

    // Same pattern, but can't trivially locate the trailing element name,
    // or variable name.
    @@
    identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
    expression GFP;
    expression SOMETHING, COUNT, ELEMENT;
    @@

    - alloc(sizeof(SOMETHING) + COUNT * sizeof(ELEMENT), GFP)
    + alloc(CHECKME_struct_size(&SOMETHING, ELEMENT, COUNT), GFP)

    Signed-off-by: Kees Cook

    Kees Cook
     
  • When the PF frequently switches the CMDQ interrupt, if the CMDQ_SRC is
    not cleared before the hardware interrupt is generated, the new interrupt
    will not be reported.

    This patch optimizes this problem by clearing CMDQ_SRC and RESET_STS
    before enabling interrupt and syncing pending IRQ handlers after disabling
    interrupt.

    Fixes: 466b0c00391b ("net: hns3: Add support for misc interrupt")
    Signed-off-by: Xi Wang
    Signed-off-by: Peng Li
    Signed-off-by: Salil Mehta
    Signed-off-by: David S. Miller

    Xi Wang
     
  • Before the firmware updates the crq's tail pointer, if the VF driver
    reads the data in the crq, the data may be incomplete at this time,
    which will lead to the driver read an unknown message.

    This patch fixes it by checking if crq is empty before reading the
    message.

    Fixes: b11a0bb231f3 ("net: hns3: Add mailbox support to VF driver")
    Signed-off-by: Xi Wang
    Signed-off-by: Peng Li
    Signed-off-by: Salil Mehta
    Signed-off-by: David S. Miller

    Xi Wang
     
  • When the VF frequently switches the CMDQ interrupt, if the CMDQ_SRC is not
    cleared, the VF will not receive the new PF response after the interrupt
    is re-enabled, the corresponding log is as follows:

    [ 317.482222] hns3 0000:00:03.0: VF could not get mbx resp(=0) from PF
    in 500 tries
    [ 317.483137] hns3 0000:00:03.0: VF request to get tqp info from PF
    failed -5

    This patch fixes this problem by clearing CMDQ_SRC before enabling
    interrupt and syncing pending IRQ handlers after disabling interrupt.

    Fixes: e2cb1dec9779 ("net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support")
    Signed-off-by: Xi Wang
    Signed-off-by: Peng Li
    Signed-off-by: Salil Mehta
    Signed-off-by: David S. Miller

    Xi Wang
     
  • Nearby code that also tests port suggests that the P0 constant should be
    used when port is zero.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression e,e1;
    @@

    * e ? e1 : e1
    //

    Fixes: 6c3218c6f7e5 ("bnx2x: Adjust ETS to 578xx")
    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • In the Broadcom Cygnus SoC, the brcm tag needs to be inserted
    in between the mac address and the ether type (should use
    'DSA_PROTO_TAG_BRCM') for the packets sent to the internal
    b53 switch.

    Since the Cygnus was added with the BCM58XX device id and the
    BCM58XX uses 'DSA_PROTO_TAG_BRCM_PREPEND', the data path is
    broken, due to the incorrect brcm tag location.

    Add a new b53 device id (BCM583XX) for Cygnus family to fix the
    issue. Add the new device id to the BCM58XX family as Cygnus
    is similar to the BCM58XX in most other functionalities.

    Fixes: 11606039604c ("net: dsa: b53: Support prepended Broadcom tags")

    Signed-off-by: Arun Parameswaran
    Acked-by: Scott Branden
    Reported-by: Clément Péron
    Reviewed-by: Florian Fainelli
    Tested-by: Clément Péron
    Signed-off-by: David S. Miller

    Arun Parameswaran
     
  • Pull sound updates from Takashi Iwai:
    "We've got many code additions at this cycle as a result of quite a few
    new drivers. Below are highlights:

    Core stuff:
    - Fix the long-standing issue with the device registration order; the
    control device is now registered at last
    - PCM locking code cleanups for RT kernels
    - Fixes for possible races in ALSA timer resolution accesses
    - TLV offset definitions in uapi

    ASoC:
    - Many fixes for the topology stuff, including fixes for v4 ABI
    compatibility
    - Lots of cleanups / quirks for Intel platforms based on Realtek
    CODECs
    - Continued componentization works, removing legacy CODEC stuff
    - Conversion of OMAP DMA to the new, more standard SDMA-PCM driver
    - Fixes and updates to Cirrus Logic SoC drivers
    - New Qualcomm DSP support
    - New drivers for Analog SSM2305, Atmel I2S controllers, Mediatek
    MT6351, MT6797 and MT7622, Qualcomm DSPs, Realtek RT1305, RT1306
    and RT5668 and TI TSCS454

    HD-audio:
    - Finally better support for some CA0132 boards, allowing Windows
    firmware
    - HP Spectre x360 support along with a bulk of COEF stuff
    - Blacklisting power save default some known boards reported on
    Fedora

    USB-audio:
    - Continued improvements on UAC3 support; now BADD is supported
    - Fixes / improvements for Dell WD15 dock
    - Allow DMA coherent pages for PCM buffers for ARCH, MIPS & co

    Others:
    - New Xen sound frontend driver support
    - Cache implementation and other improvements for FireWire DICE
    - Conversions to octal permissions in allover places"

    * tag 'sound-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (386 commits)
    ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
    ALSA: usb-audio: remove redundant check on err
    ASoC: topology: Move skl-tplg-interface.h to uapi
    ASoC: topology: Move v4 manifest header data structures to uapi
    ASoC: topology: Improve backwards compatibility with v4 topology files
    ALSA: pci/hda: Remove unused, broken, header file
    ASoC: TSCS454: Add Support
    ASoC: Intel: kbl: Move codec sysclk config to codec_init function
    ASoC: simple-card: set cpu dai clk in hw_params
    ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
    ALSA: oxygen: use match_string() helper
    ASoC: dapm: use match_string() helper
    ASoC: max98095: use match_string() helper
    ASoC: max98088: use match_string() helper
    ASoC: Intel: bytcr_rt5651: Set card long_name based on quirks
    ASoC: mt6797-mt6351: add hostless phone call path
    ASoC: mt6797: add Hostless DAI
    ASoC: mt6797: add PCM interface
    ASoC: mediatek: export mtk-afe symbols as needed
    ASoC: codecs: PCM1789: include gpio/consumer.h
    ...

    Linus Torvalds
     

06 Jun, 2018

24 commits

  • Pull drm updates from Dave Airlie:
    "This starts to support NVIDIA volta hardware with nouveau, and adds
    amdgpu support for the GPU in the Kabylake-G (the intel + radeon
    single package chip), along with some initial Intel icelake enabling.

    Summary:

    New Drivers:
    - v3d - driver for broadcom V3D V3.x+ hardware
    - xen-front - XEN PV display frontend

    core:
    - handle zpos normalization in the core
    - stop looking at legacy pointers in atomic paths
    - improved scheduler documentation
    - improved aspect ratio validation
    - aspect ratio support for 64:27 and 256:135
    - drop unused control node code.

    i915:
    - Icelake (ICL) enabling
    - GuC/HuC refactoring
    - PSR/PSR2 enabling and fixes
    - DPLL management refactoring
    - DP MST fixes
    - NV12 enabling
    - HDCP improvements
    - GEM/Execlist/reset improvements
    - GVT improvements
    - stolen memory first 4k fix

    amdgpu:
    - Vega 20 support
    - VEGAM support (Kabylake-G)
    - preOS scanout buffer reservation
    - power management gfxoff support for raven
    - SR-IOV fixes
    - Vega10 power profiles and clock voltage control
    - scatter/gather display support on CZ/ST

    amdkfd:
    - GFX9 dGPU support
    - userptr memory mapping

    nouveau:
    - major refactoring for Volta GV100 support

    tda998x:
    - HDMI i2c CEC support

    etnaviv:
    - removed unused logging code
    - license text cleanups
    - MMU handling improvements
    - timeout fence fix for 50 days uptime

    tegra:
    - IOMMU support in gr2d/gr3d drivers
    - zpos support

    vc4:
    - syncobj support
    - CTM, plane alpha and async cursor support

    analogix_dp:
    - HPD and aux chan fixes

    sun4i:
    - MIPI DSI support

    tilcdc:
    - clock divider fixes for OMAP-l138 LCDK board

    rcar-du:
    - R8A77965 support
    - dma-buf fences fixes
    - hardware indexed crtc/du group handling
    - generic zplane property support

    atmel-hclcdc:
    - generic zplane property support

    mediatek:
    - use generic video mode function

    exynos:
    - S5PV210 FIMD variant support
    - IPP v2 framework
    - more HW overlays support"

    * tag 'drm-next-2018-06-06-1' of git://anongit.freedesktop.org/drm/drm: (1286 commits)
    drm/amdgpu: fix 32-bit build warning
    drm/exynos: fimc: signedness bug in fimc_setup_clocks()
    drm/exynos: scaler: fix static checker warning
    drm/amdgpu: Use dev_info() to report amdkfd is not supported for this ASIC
    drm/amd/display: Remove use of division operator for long longs
    drm/amdgpu: Update GFX info structure to match what vega20 used
    drm/amdgpu/pp: remove duplicate assignment
    drm/sched: add rcu_barrier after entity fini
    drm/amdgpu: move VM BOs on LRU again
    drm/amdgpu: consistenly use VM moved flag
    drm/amdgpu: kmap PDs/PTs in amdgpu_vm_update_directories
    drm/amdgpu: further optimize amdgpu_vm_handle_moved
    drm/amdgpu: cleanup amdgpu_vm_validate_pt_bos v2
    drm/amdgpu: rework VM state machine lock handling v2
    drm/amdgpu: Add runtime VCN PG support
    drm/amdgpu: Enable VCN static PG by default on RV
    drm/amdgpu: Add VCN static PG support on RV
    drm/amdgpu: Enable VCN CG by default on RV
    drm/amdgpu: Add static CG control for VCN on RV
    drm/exynos: Fix default value for zpos plane property
    ...

    Linus Torvalds
     
  • In commit 48398b6e7065 ("enic: set UDP rss flag") driver needed to set a
    single bit to enable UDP rss. This is changed to two bit. One for UDP
    IPv4 and other bit for UDP IPv6. The hardware which supports this is not
    released yet. When released, driver should set 2 bit to enable UDP rss for
    both IPv4 and IPv6.

    Also add spinlock around vnic_dev_capable_rss_hash_type().

    Signed-off-by: Govindarajulu Varadarajan
    Signed-off-by: David S. Miller

    Govindarajulu Varadarajan
     
  • Pull libata updates from Tejun Heo:

    - libata has always been limiting the maximum queue depth to 31, with
    one entry set aside mostly for historical reasons. This didn't use to
    make much difference but Jens found out that modern hard drives can
    actually perform measurably better with the extra one queue depth.
    Jens updated libata core so that it can make use of full 32 queue
    depth

    - Damien updated command retry logic in error handling so that it
    doesn't unnecessarily retry when upper layer (SCSI) is gonna handle
    them

    - A couple misc changes

    * 'for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    sata_fsl: use the right type for tag bitshift
    ahci: enable full queue depth of 32
    libata: don't clamp queue depth to ATA_MAX_QUEUE - 1
    libata: add extra internal command
    sata_nv: set host can_queue count appropriately
    libata: remove assumption that ATA_MAX_QUEUE - 1 is the max
    libata: use ata_tag_internal() consistently
    libata: bump ->qc_active to a 64-bit type
    libata: convert core and drivers to ->hw_tag usage
    libata: introduce notion of separate hardware tags
    libata: Fix command retry decision
    libata: Honor RQF_QUIET flag
    libata: Make ata_dev_set_mode() less verbose
    libata: Fix ata_err_string()
    libata: Fix comment typo in ata_eh_analyze_tf()
    sata_nv: don't use block layer bounce buffer
    ata: hpt37x: Convert to use match_string() helper

    Linus Torvalds
     
  • Pull libata fixes from Tejun Heo:
    "These two are fixes which missed v4.17.

    One is to remove an incorrect power management blacklist entry and the
    other to fix a cdb buffer overrun which has been there for a very long
    time"

    * 'for-4.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
    libata: zpodd: small read overflow in eject_tray()

    Linus Torvalds
     
  • Pull tty/serial updates from Greg KH:
    "Here is the big tty/serial driver update for 4.18-rc1.

    There's nothing major here, just lots of serial driver updates. Full
    details are in the shortlog, nothing anything specific to call out
    here.

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

    * tag 'tty-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (55 commits)
    vt: Perform safe console erase only once
    serial: imx: disable UCR4_OREN on shutdown
    serial: imx: drop CTS/RTS handling from shutdown
    tty: fix typo in ASYNCB_FOURPORT comment
    serial: samsung: check DMA engine capabilities before using DMA mode
    tty: Fix data race in tty_insert_flip_string_fixed_flag
    tty: serial: msm_geni_serial: Fix TX infinite loop
    serial: 8250_dw: Fix runtime PM handling
    serial: 8250: omap: Fix idling of clocks for unused uarts
    tty: serial: drop ATH79 specific SoC symbols
    serial: 8250: Add missing rxtrig_bytes on Altera 16550 UART
    serial/aspeed-vuart: fix a couple mod_timer() calls
    serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version
    serial: 8250_of: Add IO space support
    tty/serial: atmel: use port->name as name in request_irq()
    serial: imx: dma_unmap_sg buffers on shutdown
    serial: imx: cleanup imx_uart_disable_dma()
    tty: serial: qcom_geni_serial: Add early console support
    tty: serial: qcom_geni_serial: Return IRQ_NONE for spurious interrupts
    tty: serial: qcom_geni_serial: Use iowrite32_rep to write to FIFO
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here is the driver core patchset for 4.18-rc1.

    The large chunk of these are firmware core documentation and api
    updates. Nothing major there, just better descriptions for others to
    be able to understand the firmware code better. There's also a user
    for a new firmware api call.

    Other than that, there are some minor updates for debugfs, kernfs, and
    the driver core itself.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (23 commits)
    driver core: hold dev's parent lock when needed
    driver-core: return EINVAL error instead of BUG_ON()
    driver core: add __printf verification to device_create_groups_vargs
    mm: memory_hotplug: use put_device() if device_register fail
    base: core: fix typo 'can by' to 'can be'
    debugfs: inode: debugfs_create_dir uses mode permission from parent
    debugfs: Re-use kstrtobool_from_user()
    Documentation: clarify firmware_class provenance and why we can't rename the module
    Documentation: remove stale firmware API reference
    Documentation: fix few typos and clarifications for the firmware loader
    ath10k: re-enable the firmware fallback mechanism for testmode
    ath10k: use firmware_request_nowarn() to load firmware
    firmware: add firmware_request_nowarn() - load firmware without warnings
    firmware_loader: make firmware_fallback_sysfs() print more useful
    firmware_loader: move kconfig FW_LOADER entries to its own file
    firmware_loader: replace ---help--- with help
    firmware_loader: enhance Kconfig documentation over FW_LOADER
    firmware_loader: document firmware_sysfs_fallback()
    firmware: rename fw_sysfs_fallback to firmware_fallback_sysfs()
    firmware: use () to terminate kernel-doc function names
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the "big" char and misc driver patches for 4.18-rc1.

    It's not a lot of stuff here, but there are some highlights:

    - coreboot driver updates

    - soundwire driver updates

    - android binder updates

    - fpga big sync, mostly documentation

    - lots of minor driver updates

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
    vmw_balloon: fixing double free when batching mode is off
    MAINTAINERS: Add driver-api/fpga path
    fpga: clarify that unregister functions also free
    documentation: fpga: move fpga-region.txt to driver-api
    documentation: fpga: add bridge document to driver-api
    documentation: fpga: move fpga-mgr.txt to driver-api
    Documentation: fpga: move fpga overview to driver-api
    fpga: region: kernel-doc fixes
    fpga: bridge: kernel-doc fixes
    fpga: mgr: kernel-doc fixes
    fpga: use SPDX
    fpga: region: change api, add fpga_region_create/free
    fpga: bridge: change api, don't use drvdata
    fpga: manager: change api, don't use drvdata
    fpga: region: don't use drvdata in common fpga code
    Drivers: hv: vmbus: Removed an unnecessary cast from void *
    ver_linux: Drop redundant calls to system() to test if file is readable
    ver_linux: Move stderr redirection from function parameter to function body
    misc: IBM Virtual Management Channel Driver (VMC)
    rpmsg: Correct support for MODULE_DEVICE_TABLE()
    ...

    Linus Torvalds
     
  • Pull USB and PHY updates from Greg KH:
    "Here is the big USB pull request for 4.18-rc1.

    Lots of stuff here, the highlights are:

    - phy driver updates and new additions

    - usual set of xhci driver updates

    - normal set of musb updates

    - gadget driver updates and new controllers

    - typec work, it's getting closer to getting fully out of the staging
    portion of the tree.

    - lots of minor cleanups and bugfixes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
    Revert "xhci: Reset Renesas uPD72020x USB controller for 32-bit DMA issue"
    xhci: Add quirk to zero 64bit registers on Renesas PCIe controllers
    xhci: Allow more than 32 quirks
    usb: xhci: force all memory allocations to node
    selftests: add test for USB over IP driver
    USB: typec: fsusb302: no need to check return value of debugfs_create_dir()
    USB: gadget: udc: s3c2410_udc: no need to check return value of debugfs_create functions
    USB: gadget: udc: renesas_usb3: no need to check return value of debugfs_create functions
    USB: gadget: udc: pxa27x_udc: no need to check return value of debugfs_create functions
    USB: gadget: udc: gr_udc: no need to check return value of debugfs_create functions
    USB: gadget: udc: bcm63xx_udc: no need to check return value of debugfs_create functions
    USB: udc: atmel_usba_udc: no need to check return value of debugfs_create functions
    USB: dwc3: no need to check return value of debugfs_create functions
    USB: dwc2: no need to check return value of debugfs_create functions
    USB: core: no need to check return value of debugfs_create functions
    USB: chipidea: no need to check return value of debugfs_create functions
    USB: ehci-hcd: no need to check return value of debugfs_create functions
    USB: fhci-hcd: no need to check return value of debugfs_create functions
    USB: fotg210-hcd: no need to check return value of debugfs_create functions
    USB: imx21-hcd: no need to check return value of debugfs_create functions
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Decrease polling rate for erase/trim/discard
    - Allow non-sleeping GPIOs for card detect
    - Improve mmc block removal path
    - Enable support for mmc_sw_reset() for SDIO cards
    - Add mmc_sw_reset() to allow users to do a soft reset of the card
    - Allow power delay to be tunable via DT
    - Allow card detect debounce delay to be tunable via DT
    - Enable new quirk to limit clock rate for Marvell 8887 chip
    - Don't show eMMC RPMB and BOOT areas in /proc/partitions
    - Add capability to avoid 3.3V signaling for fragile HWs

    MMC host:
    - Improve/fixup support for handle highmem pages
    - Remove depends on HAS_DMA in case of platform dependency
    - mvsdio: Enable support for erase/trim/discard
    - rtsx_usb: Enable support for erase/trim/discard
    - renesas_sdhi: Fix WP logic regressions
    - renesas_sdhi: Add r8a77965 support
    - renesas_sdhi: Add R8A77980 to whitelist
    - meson: Add optional support for device reset
    - meson: Add support for the Meson-AXG platform
    - dw_mmc: Add new driver for BlueField DW variant
    - mediatek: Add support for 64G DRAM DMA
    - sunxi: Deploy runtime PM support
    - jz4740: Add support for JZ4780
    - jz4740: Enable support for DT based platforms
    - sdhci: Various improvement to timeout handling
    - sdhci: Disable support for HS200/HS400/UHS when no 1.8V support
    - sdhci-omap: Add support for controller in k2g SoC
    - sdhci-omap: Add workarounds for a couple of Erratas
    - sdhci-omap: Enable support for generic sdhci DT properties
    - sdhci-cadence: Re-send tune request to deal with errata
    - sdhci-pci: Fix 3.3V voltage switch for some BYT-based Intel controllers
    - sdhci-pci: Avoid 3.3V signaling on some NI 904x
    - sdhci-esdhc-imx: Use watermark levels for PIO access
    - sdhci-msm: Improve card detection handling
    - sdhci-msm: Add support voltage pad switching"

    * tag 'mmc-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (104 commits)
    mmc: renesas_sdhi: really fix WP logic regressions
    mmc: mvsdio: Enable MMC_CAP_ERASE
    mmc: mvsdio: Respect card busy time out from mmc core
    mmc: sdhci-msm: Remove NO_CARD_NO_RESET quirk
    mmc: sunxi: Use ifdef rather than __maybe_unused
    mmc: mxmmc: Use ifdef rather than __maybe_unused
    mmc: mxmmc: include linux/highmem.h
    mmc: sunxi: mark PM functions as __maybe_unused
    mmc: Throttle calls to MMC_SEND_STATUS during mmc_do_erase()
    mmc: au1xmmc: handle highmem pages
    mmc: Allow non-sleeping GPIO cd
    mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails
    mmc: sd: Define name for default speed dtr
    mmc: core: Move calls to ->prepare_hs400_tuning() closer to mmc code
    mmc: sdhci-xenon: use match_string() helper
    mmc: wbsd: handle highmem pages
    mmc: ushc: handle highmem pages
    mmc: mxcmmc: handle highmem pages
    mmc: atmel-mci: use sg_copy_{from,to}_buffer
    mmc: android-goldfish: use sg_copy_{from,to}_buffer
    ...

    Linus Torvalds
     
  • ….anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "This was quite a fruitful cycle, taking into account usual traffic on
    linux-leds list, as we managed to merge three new LED class drivers.

    New LED class drivers with related DT bindings:
    - add LED driver for CR0014114 board
    - add Spreadtrum SC27xx breathing light controller driver
    - introduce the lm3601x LED driver

    LED class fix:
    - ensure workqueue is initialized before setting brightness

    Improvements and fixes to existing LED class drivers:
    - fix return value check in sc27xx_led_probe()
    - use sysfs_match_string() helper in wm831x_status_src_store()"

    * tag 'leds_for_4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
    leds: class: ensure workqueue is initialized before setting brightness
    leds: lm3601x: Introduce the lm3601x LED driver
    dt: bindings: lm3601x: Introduce the lm3601x driver
    leds: sc27xx: Fix return value check in sc27xx_led_probe()
    leds: Add Spreadtrum SC27xx breathing light controller driver
    dt-bindings: leds: Add SC27xx breathing light controller documentation
    leds: wm831x-status: Use sysfs_match_string() helper
    leds: add LED driver for CR0014114 board
    dt-bindings: Add vendor prefix and docs for CR0014114

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:

    - a new driver to ChipOne icn8505 based touchscreens

    - on certain systems with Elan touch controllers they will be switched
    away form PS/2 emulation and over to native SMbus mode

    - assorted driver fixups and improvements

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (24 commits)
    Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID
    Input: goodix - add new ACPI id for GPD Win 2 touch screen
    Input: xpad - add GPD Win 2 Controller USB IDs
    Input: ti_am335x_tsc - prevent system suspend when TSC is in use
    Input: ti_am335x_tsc - ack pending IRQs at probe and before suspend
    Input: cros_ec_keyb - mark cros_ec_keyb driver as wake enabled device.
    Input: mk712 - update documentation web link
    Input: atmel_mxt_ts - fix reset-gpio for level based irqs
    Input: atmel_mxt_ts - require device properties present when probing
    Input: psmouse-smbus - allow to control psmouse_deactivate
    Input: elantech - detect new ICs and setup Host Notify for them
    Input: elantech - add support for SMBus devices
    Input: elantech - query the resolution in query_info
    Input: elantech - split device info into a separate structure
    Input: elan_i2c - add trackstick report
    Input: usbtouchscreen - add sysfs attribute for 3M MTouch firmware rev
    Input: ati_remote2 - fix typo 'can by' to 'can be'
    Input: replace hard coded string with __func__ in pr_err()
    Input: add support for ChipOne icn8505 based touchscreens
    Input: gamecon - avoid using __set_bit() for capabilities
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "API:

    - Decryption test vectors are now automatically generated from
    encryption test vectors.

    Algorithms:

    - Fix unaligned access issues in crc32/crc32c.

    - Add zstd compression algorithm.

    - Add AEGIS.

    - Add MORUS.

    Drivers:

    - Add accelerated AEGIS/MORUS on x86.

    - Add accelerated SM4 on arm64.

    - Removed x86 assembly salsa implementation as it is slower than C.

    - Add authenc(hmac(sha*), cbc(aes)) support in inside-secure.

    - Add ctr(aes) support in crypto4xx.

    - Add hardware key support in ccree.

    - Add support for new Centaur CPU in via-rng"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (112 commits)
    crypto: chtls - free beyond end rspq_skb_cache
    crypto: chtls - kbuild warnings
    crypto: chtls - dereference null variable
    crypto: chtls - wait for memory sendmsg, sendpage
    crypto: chtls - key len correction
    crypto: salsa20 - Revert "crypto: salsa20 - export generic helpers"
    crypto: x86/salsa20 - remove x86 salsa20 implementations
    crypto: ccp - Add GET_ID SEV command
    crypto: ccp - Add DOWNLOAD_FIRMWARE SEV command
    crypto: qat - Add MODULE_FIRMWARE for all qat drivers
    crypto: ccree - silence debug prints
    crypto: ccree - better clock handling
    crypto: ccree - correct host regs offset
    crypto: chelsio - Remove separate buffer used for DMA map B0 block in CCM
    crypt: chelsio - Send IV as Immediate for cipher algo
    crypto: chelsio - Return -ENOSPC for transient busy indication.
    crypto: caam/qi - fix warning in init_cgr()
    crypto: caam - fix rfc4543 descriptors
    crypto: caam - fix MC firmware detection
    crypto: clarify licensing of OpenSSL asm code
    ...

    Linus Torvalds
     
  • Pull xfs updates from Darrick Wong:
    "New features this cycle include the ability to relabel mounted
    filesystems, support for fallocated swapfiles, and using FUA for pure
    data O_DSYNC directio writes. With this cycle we begin to integrate
    online filesystem repair and refactor the growfs code in preparation
    for eventual subvolume support, though the road ahead for both
    features is quite long.

    There are also numerous refactorings of the iomap code to remove
    unnecessary log overhead, to disentangle some of the quota code, and
    to prepare for buffer head removal in a future upstream kernel.

    Metadata validation continues to improve, both in the hot path
    veifiers and the online filesystem check code. I anticipate sending a
    second pull request in a few days with more metadata validation
    improvements.

    This series has been run through a full xfstests run over the weekend
    and through a quick xfstests run against this morning's master, with
    no major failures reported.

    Summary:

    - Strengthen inode number and structure validation when allocating
    inodes.

    - Reduce pointless buffer allocations during cache miss

    - Use FUA for pure data O_DSYNC directio writes

    - Various iomap refactorings

    - Strengthen quota metadata verification to avoid unfixable broken
    quota

    - Make AGFL block freeing a deferred operation to avoid blowing out
    transaction reservations when running complex operations

    - Get rid of the log item descriptors to reduce log overhead

    - Fix various reflink bugs where inodes were double-joined to
    transactions

    - Don't issue discards when trimming unwritten extents

    - Refactor incore dquot initialization and retrieval interfaces

    - Fix some locking problmes in the quota scrub code

    - Strengthen btree structure checks in scrub code

    - Rewrite swapfile activation to use iomap and support unwritten
    extents

    - Make scrub exit to userspace sooner when corruptions or
    cross-referencing problems are found

    - Make scrub invoke the data fork scrubber directly on metadata
    inodes

    - Don't do background reclamation of post-eof and cow blocks when the
    fs is suspended

    - Fix secondary superblock buffer lifespan hinting

    - Refactor growfs to use table-dispatched functions instead of long
    stringy functions

    - Move growfs code to libxfs

    - Implement online fs label getting and setting

    - Introduce online filesystem repair (in a very limited capacity)

    - Fix unit conversion problems in the realtime freemap iteration
    functions

    - Various refactorings and cleanups in preparation to remove buffer
    heads in a future release

    - Reimplement the old bmap call with iomap

    - Remove direct buffer head accesses from seek hole/data

    - Various bug fixes"

    * tag 'xfs-4.18-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (121 commits)
    fs: use ->is_partially_uptodate in page_cache_seek_hole_data
    fs: remove the buffer_unwritten check in page_seek_hole_data
    fs: move page_cache_seek_hole_data to iomap.c
    xfs: use iomap_bmap
    iomap: add an iomap-based bmap implementation
    iomap: add a iomap_sector helper
    iomap: use __bio_add_page in iomap_dio_zero
    iomap: move IOMAP_F_BOUNDARY to gfs2
    iomap: fix the comment describing IOMAP_NOWAIT
    iomap: inline data should be an iomap type, not a flag
    mm: split ->readpages calls to avoid non-contiguous pages lists
    mm: return an unsigned int from __do_page_cache_readahead
    mm: give the 'ret' variable a better name __do_page_cache_readahead
    block: add a lower-level bio_add_page interface
    xfs: fix error handling in xfs_refcount_insert()
    xfs: fix xfs_rtalloc_rec units
    xfs: strengthen rtalloc query range checks
    xfs: xfs_rtbuf_get should check the bmapi_read results
    xfs: xfs_rtword_t should be unsigned, not signed
    dax: change bdev_dax_supported() to support boolean returns
    ...

    Linus Torvalds
     
  • Use the overflow helpers both in existing multiplication-using inlines as
    well as the addition-overflow case in the core allocation routine.

    Signed-off-by: Kees Cook

    Kees Cook
     
  • In preparation for replacing unchecked overflows for memory allocations,
    this creates helpers for the 3 most common calculations:

    array_size(a, b): 2-dimensional array
    array3_size(a, b, c): 3-dimensional array
    struct_size(ptr, member, n): struct followed by n-many trailing members

    Each of these return SIZE_MAX on overflow instead of wrapping around.

    (Additionally renames a variable named "array_size" to avoid future
    collision.)

    Co-developed-by: Matthew Wilcox
    Signed-off-by: Kees Cook

    Kees Cook
     
  • Pull s390 updates from Martin Schwidefsky:

    - A rework for the s390 arch random code, the TRNG instruction is
    rather slow and should not be used on the interrupt path

    - A fix for a memory leak in the zcrypt driver

    - Changes to the early boot code to add a compile time check for code
    that may not use the .bss section, with the goal to avoid initrd
    corruptions

    - Add an interface to get the physical network ID (pnetid), this is
    useful to group network devices that are attached to the same network

    - Some cleanup for the linker script

    - Some code improvement for the dasd driver

    - Two fixes for the perf sampling support

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak.
    s390/archrandom: Rework arch random implementation.
    s390/net: add pnetid support
    s390/dasd: simplify locking in dasd_times_out
    s390/cio: add test for ccwgroup device
    s390/cio: add helper to query utility strings per given ccw device
    s390: remove no-op macro VMLINUX_SYMBOL()
    s390: remove closung punctuation from spectre messages
    s390: introduce compile time check for empty .bss section
    s390/early: move functions which may not access bss section to extra file
    s390/early: get rid of #ifdef CONFIG_BLK_DEV_INITRD
    s390/early: get rid of memmove_early
    s390/cpum_sf: Add data entry sizes to sampling trailer entry
    perf: fix invalid bit in diagnostic entry

    Linus Torvalds
     
  • Pull reed-salomon library updates from Kees Cook:
    "Refactors rslib and callers to provide a per-instance allocation area
    instead of performing VLAs on the stack"

    * tag 'rslib-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    rslib: Allocate decoder buffers to avoid VLAs
    mtd: rawnand: diskonchip: Allocate rs control per instance
    rslib: Split rs control struct
    rslib: Simplify error path
    rslib: Remove GPL boilerplate
    rslib: Add SPDX identifiers
    rslib: Cleanup top level comments
    rslib: Cleanup whitespace damage
    dm/verity_fec: Use GFP aware reed solomon init
    rslib: Add GFP aware init function

    Linus Torvalds
     
  • Pull device properties framework update from Rafael Wysocki:
    "Modify the device properties framework to remove union aliasing from
    it (Andy Shevchenko)"

    * tag 'dp-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: Get rid of union aliasing

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These update the ACPICA code in the kernel to the 20180508 upstream
    revision and make it support the RT patch, add CPPC v3 support to the
    ACPI CPPC library, add a WDAT-based watchdog quirk to prevent clashes
    with the RTC, add quirks to the ACPI AC and battery drivers, and
    update the ACPI SoC drivers.

    Specifics:

    - Update the ACPICA code in the kernel to the 20180508 upstream
    revision including:
    * iASL -tc option enhancement (Bob Moore).
    * Debugger improvements (Bob Moore).
    * Support for tables larger than 1 MB in acpidump/acpixtract (Bob
    Moore).
    * Minor fixes and cleanups (Colin Ian King, Toomas Soome).

    - Make the ACPICA code in the kernel support the RT patch (Sebastian
    Andrzej Siewior, Steven Rostedt).

    - Add a kmemleak annotation to the ACPICA code (Larry Finger).

    - Add CPPC v3 support to the ACPI CPPC library and fix two issues
    related to CPPC (Prashanth Prakash, Al Stone).

    - Add an ACPI WDAT-based watchdog quirk to prefer iTCO_wdt on systems
    where WDAT clashes with the RTC SRAM (Mika Westerberg).

    - Add some quirks to the ACPI AC and battery drivers (Carlo Caione,
    Hans de Goede).

    - Update the ACPI SoC drivers for Intel (LPSS) and AMD (APD)
    platforms (Akshu Agrawal, Hans de Goede).

    - Fix up some assorted minor issues (Al Stone, Laszlo Toth, Mathieu
    Malaterre)"

    * tag 'acpi-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
    ACPICA: Mark acpi_ut_create_internal_object_dbg() memory allocations as non-leaks
    ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM
    mailbox: PCC: erroneous error message when parsing ACPI PCCT
    ACPICA: Update version to 20180508
    ACPICA: acpidump/acpixtract: Support for tables larger than 1MB
    ACPI: APD: Add AMD misc clock handler support
    clk: x86: Add ST oscout platform clock
    ACPICA: Update version to 20180427
    ACPICA: Debugger: Removed direct support for EC address space in "Test Objects"
    ACPICA: Debugger: Add Package support for "test objects" command
    ACPICA: Improve error messages for the namespace root node
    ACPICA: Fix potential infinite loop in acpi_rs_dump_byte_list
    ACPICA: vsnprintf: this statement may fall through
    ACPICA: Tables: Fix spelling mistake in comment
    ACPICA: iASL: Enhance the -tc option (create AML hex file in C)
    ACPI: Add missing prototype_for arch_post_acpi_subsys_init()
    ACPI / tables: improve comments regarding acpi_parse_entries_array()
    ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock
    ACPICA: provide abstraction for raw_spinlock_t
    ACPI / CPPC: Fix invalid PCC channel status errors
    ...

    Linus Torvalds
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2018-06-05

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) Add a new BPF hook for sendmsg similar to existing hooks for bind and
    connect: "This allows to override source IP (including the case when it's
    set via cmsg(3)) and destination IP:port for unconnected UDP (slow path).
    TCP and connected UDP (fast path) are not affected. This makes UDP support
    complete, that is, connected UDP is handled by connect hooks, unconnected
    by sendmsg ones.", from Andrey.

    2) Rework of the AF_XDP API to allow extending it in future for type writer
    model if necessary. In this mode a memory window is passed to hardware
    and multiple frames might be filled into that window instead of just one
    that is the case in the current fixed frame-size model. With the new
    changes made this can be supported without having to add a new descriptor
    format. Also, core bits for the zero-copy support for AF_XDP have been
    merged as agreed upon, where i40e bits will be routed via Jeff later on.
    Various improvements to documentation and sample programs included as
    well, all from Björn and Magnus.

    3) Given BPF's flexibility, a new program type has been added to implement
    infrared decoders. Quote: "The kernel IR decoders support the most
    widely used IR protocols, but there are many protocols which are not
    supported. [...] There is a 'long tail' of unsupported IR protocols,
    for which lircd is need to decode the IR. IR encoding is done in such
    a way that some simple circuit can decode it; therefore, BPF is ideal.
    [...] user-space can define a decoder in BPF, attach it to the rc
    device through the lirc chardev.", from Sean.

    4) Several improvements and fixes to BPF core, among others, dumping map
    and prog IDs into fdinfo which is a straight forward way to correlate
    BPF objects used by applications, removing an indirect call and therefore
    retpoline in all map lookup/update/delete calls by invoking the callback
    directly for 64 bit archs, adding a new bpf_skb_cgroup_id() BPF helper
    for tc BPF programs to have an efficient way of looking up cgroup v2 id
    for policy or other use cases. Fixes to make sure we zero tunnel/xfrm
    state that hasn't been filled, to allow context access wrt pt_regs in
    32 bit archs for tracing, and last but not least various test cases
    for fixes that landed in bpf earlier, from Daniel.

    5) Get rid of the ndo_xdp_flush API and extend the ndo_xdp_xmit with
    a XDP_XMIT_FLUSH flag instead which allows to avoid one indirect
    call as flushing is now merged directly into ndo_xdp_xmit(), from Jesper.

    6) Add a new bpf_get_current_cgroup_id() helper that can be used in
    tracing to retrieve the cgroup id from the current process in order
    to allow for e.g. aggregation of container-level events, from Yonghong.

    7) Two follow-up fixes for BTF to reject invalid input values and
    related to that also two test cases for BPF kselftests, from Martin.

    8) Various API improvements to the bpf_fib_lookup() helper, that is,
    dropping MPLS bits which are not fully hashed out yet, rejecting
    invalid helper flags, returning error for unsupported address
    families as well as renaming flowlabel to flowinfo, from David.

    9) Various fixes and improvements to sockmap BPF kselftests in particular
    in proper error detection and data verification, from Prashant.

    10) Two arm32 BPF JIT improvements. One is to fix imm range check with
    regards to whether immediate fits into 24 bits, and a naming cleanup
    to get functions related to rsh handling consistent to those handling
    lsh, from Wang.

    11) Two compile warning fixes in BPF, one for BTF and a false positive
    to silent gcc in stack_map_get_build_id_offset(), from Arnd.

    12) Add missing seg6.h header into tools include infrastructure in order
    to fix compilation of BPF kselftests, from Mathieu.

    13) Several formatting cleanups in the BPF UAPI helper description that
    also fix an error during rst2man compilation, from Quentin.

    14) Hide an unused variable in sk_msg_convert_ctx_access() when IPv6 is
    not built into the kernel, from Yue.

    15) Remove a useless double assignment in dev_map_enqueue(), from Colin.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull power management updates from Rafael Wysocki:
    "These include a significant update of the generic power domains
    (genpd) and Operating Performance Points (OPP) frameworks, mostly
    related to the introduction of power domain performance levels,
    cpufreq updates (new driver for Qualcomm Kryo processors, updates of
    the existing drivers, some core fixes, schedutil governor
    improvements), PCI power management fixes, ACPI workaround for
    EC-based wakeup events handling on resume from suspend-to-idle, and
    major updates of the turbostat and pm-graph utilities.

    Specifics:

    - Introduce power domain performance levels into the the generic
    power domains (genpd) and Operating Performance Points (OPP)
    frameworks (Viresh Kumar, Rajendra Nayak, Dan Carpenter).

    - Fix two issues in the runtime PM framework related to the
    initialization and removal of devices using device links (Ulf
    Hansson).

    - Clean up the initialization of drivers for devices in PM domains
    (Ulf Hansson, Geert Uytterhoeven).

    - Fix a cpufreq core issue related to the policy sysfs interface
    causing CPU online to fail for CPUs sharing one cpufreq policy in
    some situations (Tao Wang).

    - Make it possible to use platform-specific suspend/resume hooks in
    the cpufreq-dt driver and make the Armada 37xx DVFS use that
    feature (Viresh Kumar, Miquel Raynal).

    - Optimize policy transition notifications in cpufreq (Viresh Kumar).

    - Improve the iowait boost mechanism in the schedutil cpufreq
    governor (Patrick Bellasi).

    - Improve the handling of deferred frequency updates in the schedutil
    cpufreq governor (Joel Fernandes, Dietmar Eggemann, Rafael Wysocki,
    Viresh Kumar).

    - Add a new cpufreq driver for Qualcomm Kryo (Ilia Lin).

    - Fix and clean up some cpufreq drivers (Colin Ian King, Dmitry
    Osipenko, Doug Smythies, Luc Van Oostenryck, Simon Horman, Viresh
    Kumar).

    - Fix the handling of PCI devices with the DPM_SMART_SUSPEND flag set
    and update stale comments in the PCI core PM code (Rafael Wysocki).

    - Work around an issue related to the handling of EC-based wakeup
    events in the ACPI PM core during resume from suspend-to-idle if
    the EC has been put into the low-power mode (Rafael Wysocki).

    - Improve the handling of wakeup source objects in the PM core (Doug
    Berger, Mahendran Ganesh, Rafael Wysocki).

    - Update the driver core to prevent deferred probe from breaking
    suspend/resume ordering (Feng Kan).

    - Clean up the PM core somewhat (Bjorn Helgaas, Ulf Hansson, Rafael
    Wysocki).

    - Make the core suspend/resume code and cpufreq support the RT patch
    (Sebastian Andrzej Siewior, Thomas Gleixner).

    - Consolidate the PM QoS handling in cpuidle governors (Rafael
    Wysocki).

    - Fix a possible crash in the hibernation core (Tetsuo Handa).

    - Update the rockchip-io Adaptive Voltage Scaling (AVS) driver (David
    Wu).

    - Update the turbostat utility (fixes, cleanups, new CPU IDs, new
    command line options, built-in "Low Power Idle" counters support,
    new POLL and POLL% columns) and add an entry for it to MAINTAINERS
    (Len Brown, Artem Bityutskiy, Chen Yu, Laura Abbott, Matt Turner,
    Prarit Bhargava, Srinivas Pandruvada).

    - Update the pm-graph to version 5.1 (Todd Brandt).

    - Update the intel_pstate_tracer utility (Doug Smythies)"

    * tag 'pm-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (128 commits)
    tools/power turbostat: update version number
    tools/power turbostat: Add Node in output
    tools/power turbostat: add node information into turbostat calculations
    tools/power turbostat: remove num_ from cpu_topology struct
    tools/power turbostat: rename num_cores_per_pkg to num_cores_per_node
    tools/power turbostat: track thread ID in cpu_topology
    tools/power turbostat: Calculate additional node information for a package
    tools/power turbostat: Fix node and siblings lookup data
    tools/power turbostat: set max_num_cpus equal to the cpumask length
    tools/power turbostat: if --num_iterations, print for specific number of iterations
    tools/power turbostat: Add Cannon Lake support
    tools/power turbostat: delete duplicate #defines
    x86: msr-index.h: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
    tools/power turbostat: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
    tools/power turbostat: add POLL and POLL% column
    tools/power turbostat: Fix --hide Pk%pc10
    tools/power turbostat: Build-in "Low Power Idle" counters support
    tools/power turbostat: Don't make man pages executable
    tools/power turbostat: remove blank lines
    tools/power turbostat: a small C-states dump readability immprovement
    ...

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "This just contains the dm kzalloc fix that was discussed, and a fix
    that I queued up yesterday for a case where blk-mq doesn't honor the
    stop bit appropriately"

    * tag 'for-linus-20180605' of git://git.kernel.dk/linux-block:
    dm: Use kzalloc for all structs with embedded biosets/mempools
    blk-mq: return when hctx is stopped in blk_mq_run_work_fn

    Linus Torvalds
     
  • Return messages in extack for port split/unsplit errors. e.g.,
    $ devlink port split swp1s1 count 4
    Error: mlxsw_spectrum: Port cannot be split further.
    devlink answers: Invalid argument

    $ devlink port unsplit swp4
    Error: mlxsw_spectrum: Port was not split.
    devlink answers: Invalid argument

    Signed-off-by: David Ahern
    Reviewed-by: Ido Schimmel
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    David Ahern
     
  • devlink reset command can fail if a FIB resource limit is set to a value
    lower than the current occupancy. Return a proper message indicating the
    reason for the failure.

    $ devlink resource sh netdevsim/netdevsim0
    netdevsim/netdevsim0:
    name IPv4 size unlimited unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none
    resources:
    name fib size unlimited occ 43 unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none
    name fib-rules size unlimited occ 4 unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none
    name IPv6 size unlimited unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none
    resources:
    name fib size unlimited occ 54 unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none
    name fib-rules size unlimited occ 3 unit entry size_min 0 size_max unlimited size_gran 1 dpipe_tables none

    $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib size 40

    $ devlink dev reload netdevsim/netdevsim0
    Error: netdevsim: New size is less than current occupancy.
    devlink answers: Invalid argument

    Signed-off-by: David Ahern
    Acked-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    David Ahern