24 Jun, 2019

1 commit


22 Jun, 2019

2 commits

  • Minor SPDX change conflict.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are a number of small driver fixes for 5.2-rc6

    Nothing major, just fixes for reported issues:
    - soundwire fixes
    - thunderbolt fixes
    - MAINTAINERS update for fpga maintainer change
    - binder bugfix
    - habanalabs 64bit pointer fix
    - documentation updates

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

    * tag 'char-misc-5.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    habanalabs: use u64_to_user_ptr() for reading user pointers
    doc: fix documentation about UIO_MEM_LOGICAL using
    MAINTAINERS / Documentation: Thorsten Scherer is the successor of Gavin Schenk
    docs: fb: Add TER16x32 to the available font names
    MAINTAINERS: fpga: hand off maintainership to Moritz
    thunderbolt: Implement CIO reset correctly for Titan Ridge
    binder: fix possible UAF when freeing buffer
    thunderbolt: Make sure device runtime resume completes before taking domain lock
    soundwire: intel: set dai min and max channels correctly
    soundwire: stream: fix bad unlock balance
    soundwire: stream: fix out of boundary access on port properties

    Linus Torvalds
     

21 Jun, 2019

1 commit

  • Pull kvm fixes from Paolo Bonzini:
    "Fixes for ARM and x86, plus selftest patches and nicer structs for
    nested state save/restore"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: nVMX: reorganize initial steps of vmx_set_nested_state
    KVM: arm/arm64: Fix emulated ptimer irq injection
    tests: kvm: Check for a kernel warning
    kvm: tests: Sort tests in the Makefile alphabetically
    KVM: x86/mmu: Allocate PAE root array when using SVM's 32-bit NPT
    KVM: x86: Modify struct kvm_nested_state to have explicit fields for data
    KVM: fix typo in documentation
    KVM: nVMX: use correct clean fields when copying from eVMCS
    KVM: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy
    KVM: arm64: Filter out invalid core register IDs in KVM_GET_REG_LIST
    KVM: arm64: Implement vq_present() as a macro

    Linus Torvalds
     

20 Jun, 2019

3 commits

  • After commit d4fc5069a394 ("mm: switch s_mem and slab_cache in struct page")
    page->mapping will be re-used by slab allocations and page->mapping->host
    will be used in balance_dirty_pages_ratelimited() as an inode member but
    it's not an inode in fact and leads an oops.

    [ 159.906493] Unable to handle kernel paging request at virtual address ffff200012d90be8
    [ 159.908029] Mem abort info:
    [ 159.908552] ESR = 0x96000007
    [ 159.909138] Exception class = DABT (current EL), IL = 32 bits
    [ 159.910155] SET = 0, FnV = 0
    [ 159.910690] EA = 0, S1PTW = 0
    [ 159.911241] Data abort info:
    [ 159.911846] ISV = 0, ISS = 0x00000007
    [ 159.912567] CM = 0, WnR = 0
    [ 159.913105] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000042acd000
    [ 159.914269] [ffff200012d90be8] pgd=000000043ffff003, pud=000000043fffe003, pmd=000000043fffa003, pte=0000000000000000
    [ 159.916280] Internal error: Oops: 96000007 [#1] SMP
    [ 159.917195] Dumping ftrace buffer:
    [ 159.917845] (ftrace buffer empty)
    [ 159.918521] Modules linked in: uio_dev(OE)
    [ 159.919276] CPU: 1 PID: 295 Comm: uio_test Tainted: G OE 5.2.0-rc4+ #46
    [ 159.920859] Hardware name: linux,dummy-virt (DT)
    [ 159.921815] pstate: 60000005 (nZCv daif -PAN -UAO)
    [ 159.922809] pc : balance_dirty_pages_ratelimited+0x68/0xc38
    [ 159.923965] lr : fault_dirty_shared_page.isra.8+0xe4/0x100
    [ 159.925134] sp : ffff800368a77ae0
    [ 159.925824] x29: ffff800368a77ae0 x28: 1ffff0006d14ce1a
    [ 159.926906] x27: ffff800368a670d0 x26: ffff800368a67120
    [ 159.927985] x25: 1ffff0006d10f5fe x24: ffff200012d90be8
    [ 159.929089] x23: ffff200013732000 x22: ffff80036ec03200
    [ 159.930172] x21: ffff200012d90bc0 x20: 1fffe400025b217d
    [ 159.931253] x19: ffff80036ec03200 x18: 0000000000000000
    [ 159.932348] x17: 0000000000000000 x16: 0ffffe0000010208
    [ 159.933439] x15: 0000000000000000 x14: 0000000000000000
    [ 159.934518] x13: 0000000000000000 x12: 0000000000000000
    [ 159.935596] x11: 1fffefc001b452c0 x10: ffff0fc001b452c0
    [ 159.936697] x9 : dfff200000000000 x8 : dfff200000000001
    [ 159.937781] x7 : ffff7e000da29607 x6 : ffff0fc001b452c1
    [ 159.938859] x5 : ffff0fc001b452c1 x4 : ffff0fc001b452c1
    [ 159.939944] x3 : ffff200010523ad4 x2 : 1fffe400026e659b
    [ 159.941065] x1 : dfff200000000000 x0 : ffff200013732cd8
    [ 159.942205] Call trace:
    [ 159.942732] balance_dirty_pages_ratelimited+0x68/0xc38
    [ 159.943797] fault_dirty_shared_page.isra.8+0xe4/0x100
    [ 159.944867] do_fault+0x608/0x1250
    [ 159.945571] __handle_mm_fault+0x93c/0xfb8
    [ 159.946412] handle_mm_fault+0x1c0/0x360
    [ 159.947224] do_page_fault+0x358/0x8d0
    [ 159.947993] do_translation_fault+0xf8/0x124
    [ 159.948884] do_mem_abort+0x70/0x190
    [ 159.949624] el0_da+0x24/0x28

    According another commit 5e901d0b15c0 ("scsi: qedi: Fix bad pte call trace
    when iscsiuio is stopped."), using kmalloc also cause other problem.

    But the documentation about UIO_MEM_LOGICAL allows using kmalloc(), remove
    and don't allow using kmalloc() in documentation.

    Signed-off-by: Yang Yingliang
    Signed-off-by: Greg Kroah-Hartman

    Yang Yingliang
     
  • Due to new challenges in my life I can no longer take care of SIOX.
    Thorsten takes over my SIOX tasks.

    Signed-off-by: Gavin Schenk
    Acked-by: Thorsten Scherer
    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Greg Kroah-Hartman

    Gavin Schenk
     
  • The new font is available since recently.

    Signed-off-by: Takashi Iwai
    Acked-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

19 Jun, 2019

2 commits

  • Improve the KVM_{GET,SET}_NESTED_STATE structs by detailing the format
    of VMX nested state data in a struct.

    In order to avoid changing the ioctl values of
    KVM_{GET,SET}_NESTED_STATE, there is a need to preserve
    sizeof(struct kvm_nested_state). This is done by defining the data
    struct as "data.vmx[0]". It was the most elegant way I found to
    preserve struct size while still keeping struct readable and easy to
    maintain. It does have a misfortunate side-effect that now it has to be
    accessed as "data.vmx[0]" rather than just "data.vmx".

    Because we are already modifying these structs, I also modified the
    following:
    * Define the "format" field values as macros.
    * Rename vmcs_pa to vmcs12_pa for better readability.

    Signed-off-by: Liran Alon
    [Remove SVM stubs, add KVM_STATE_NESTED_VMX_VMCS12_SIZE. - Paolo]
    Reviewed-by: Liran Alon
    Signed-off-by: Paolo Bonzini

    Liran Alon
     
  • Add the compatibility string documentation for SiFive FU540-C0000
    interface.
    On the FU540, this driver also needs to read and write registers in a
    management IP block that monitors or drives boundary signals for the
    GEMGXL IP block that are not directly mapped to GEMGXL registers.
    Therefore, add additional range to "reg" property for SiFive GEMGXL
    management IP registers.

    Signed-off-by: Yash Shah
    Reviewed-by: Paul Walmsley
    Signed-off-by: David S. Miller

    Yash Shah
     

18 Jun, 2019

4 commits

  • The documentation mentions a non-existing capability KVM_CAP_USER_MEM.s
    The right name is KVM_CAP_USER_MEMORY.

    Signed-off-by: Dennis Restle
    Signed-off-by: Paolo Bonzini

    Dennis Restle
     
  • Honestly all the conflicts were simple overlapping changes,
    nothing really interesting to report.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull networking fixes from David Miller:
    "Lots of bug fixes here:

    1) Out of bounds access in __bpf_skc_lookup, from Lorenz Bauer.

    2) Fix rate reporting in cfg80211_calculate_bitrate_he(), from John
    Crispin.

    3) Use after free in psock backlog workqueue, from John Fastabend.

    4) Fix source port matching in fdb peer flow rule of mlx5, from Raed
    Salem.

    5) Use atomic_inc_not_zero() in fl6_sock_lookup(), from Eric Dumazet.

    6) Network header needs to be set for packet redirect in nfp, from
    John Hurley.

    7) Fix udp zerocopy refcnt, from Willem de Bruijn.

    8) Don't assume linear buffers in vxlan and geneve error handlers,
    from Stefano Brivio.

    9) Fix TOS matching in mlxsw, from Jiri Pirko.

    10) More SCTP cookie memory leak fixes, from Neil Horman.

    11) Fix VLAN filtering in rtl8366, from Linus Walluij.

    12) Various TCP SACK payload size and fragmentation memory limit fixes
    from Eric Dumazet.

    13) Use after free in pneigh_get_next(), also from Eric Dumazet.

    14) LAPB control block leak fix from Jeremy Sowden"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (145 commits)
    lapb: fixed leak of control-blocks.
    tipc: purge deferredq list for each grp member in tipc_group_delete
    ax25: fix inconsistent lock state in ax25_destroy_timer
    neigh: fix use-after-free read in pneigh_get_next
    tcp: fix compile error if !CONFIG_SYSCTL
    hv_sock: Suppress bogus "may be used uninitialized" warnings
    be2net: Fix number of Rx queues used for flow hashing
    net: handle 802.1P vlan 0 packets properly
    tcp: enforce tcp_min_snd_mss in tcp_mtu_probing()
    tcp: add tcp_min_snd_mss sysctl
    tcp: tcp_fragment() should apply sane memory limits
    tcp: limit payload size of sacked skbs
    Revert "net: phylink: set the autoneg state in phylink_phy_change"
    bpf: fix nested bpf tracepoints with per-cpu data
    bpf: Fix out of bounds memory access in bpf_sk_storage
    vsock/virtio: set SOCK_DONE on peer shutdown
    net: dsa: rtl8366: Fix up VLAN filtering
    net: phylink: set the autoneg state in phylink_phy_change
    net: add high_order_alloc_disable sysctl/static key
    tcp: add tcp_tx_skb_cache sysctl
    ...

    Linus Torvalds
     
  • Pull RISC-V fixes from Paul Walmsley:
    "This contains fixes, defconfig, and DT data changes for the v5.2-rc
    series.

    The fixes are relatively straightforward:

    - Addition of a TLB fence in the vmalloc_fault path, so the CPU
    doesn't enter an infinite page fault loop

    - Readdition of the pm_power_off export, so device drivers that
    reassign it can now be built as modules

    - A udelay() fix for RV32, fixing a miscomputation of the delay time

    - Removal of deprecated smp_mb__*() barriers

    This also adds initial DT data infrastructure for arch/riscv, along
    with initial data for the SiFive FU540-C000 SoC and the corresponding
    HiFive Unleashed board.

    We also update the RV64 defconfig to include some core drivers for the
    FU540 in the build"

    * tag 'riscv-for-v5.2/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: remove unused barrier defines
    riscv: mm: synchronize MMU after pte change
    riscv: dts: add initial board data for the SiFive HiFive Unleashed
    riscv: dts: add initial support for the SiFive FU540-C000 SoC
    dt-bindings: riscv: convert cpu binding to json-schema
    dt-bindings: riscv: sifive: add YAML documentation for the SiFive FU540
    arch: riscv: add support for building DTB files from DT source data
    riscv: Fix udelay in RV32.
    riscv: export pm_power_off again
    RISC-V: defconfig: enable clocks, serial console

    Linus Torvalds
     

17 Jun, 2019

2 commits

  • At Rob's request, we're starting to migrate our DT binding
    documentation to json-schema YAML format. Start by converting our cpu
    binding documentation. While doing so, document more properties and
    nodes. This includes adding binding documentation support for the E51
    and U54 CPU cores ("harts") that are present on this SoC. These cores
    are described in:

    https://static.dev.sifive.com/FU540-C000-v1.0.pdf

    This cpus.yaml file is intended to be a starting point and to
    evolve over time. It passes dt-doc-validate as of the yaml-bindings
    commit 4c79d42e9216.

    This patch was originally based on the ARM json-schema binding
    documentation as added by commit 672951cbd1b7 ("dt-bindings: arm: Convert
    cpu binding to json-schema").

    Signed-off-by: Paul Walmsley
    Signed-off-by: Paul Walmsley
    Reviewed-by: Rob Herring
    Cc: Mark Rutland
    Cc: Lorenzo Pieralisi
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-riscv@lists.infradead.org

    Paul Walmsley
     
  • Add YAML DT binding documentation for the SiFive FU540 SoC. This
    SoC is documented at:

    https://static.dev.sifive.com/FU540-C000-v1.0.pdf

    Passes dt-doc-validate, as of yaml-bindings commit 4c79d42e9216.

    Signed-off-by: Paul Walmsley
    Signed-off-by: Paul Walmsley
    Reviewed-by: Rob Herring
    Cc: Rob Herring
    Cc: Mark Rutland
    Cc: Palmer Dabbelt
    Cc: Albert Ou
    Cc: devicetree@vger.kernel.org
    Cc: linux-riscv@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org

    Paul Walmsley
     

16 Jun, 2019

2 commits

  • Some TCP peers announce a very small MSS option in their SYN and/or
    SYN/ACK messages.

    This forces the stack to send packets with a very high network/cpu
    overhead.

    Linux has enforced a minimal value of 48. Since this value includes
    the size of TCP options, and that the options can consume up to 40
    bytes, this means that each segment can include only 8 bytes of payload.

    In some cases, it can be useful to increase the minimal value
    to a saner value.

    We still let the default to 48 (TCP_MIN_SND_MSS), for compatibility
    reasons.

    Note that TCP_MAXSEG socket option enforces a minimal value
    of (TCP_MIN_MSS). David Miller increased this minimal value
    in commit c39508d6f118 ("tcp: Make TCP_MAXSEG minimum more correct.")
    from 64 to 88.

    We might in the future merge TCP_MIN_SND_MSS and TCP_MIN_MSS.

    CVE-2019-11479 -- tcp mss hardcoded to 48

    Signed-off-by: Eric Dumazet
    Suggested-by: Jonathan Looney
    Acked-by: Neal Cardwell
    Cc: Yuchung Cheng
    Cc: Tyler Hicks
    Cc: Bruce Curtis
    Cc: Jonathan Lemon
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Add a new compatible for DPAA2 PTP.

    Signed-off-by: Yangbo Lu
    Signed-off-by: David S. Miller

    Yangbo Lu
     

15 Jun, 2019

9 commits

  • Pull cgroup fixes from Tejun Heo:
    "This has an unusually high density of tricky fixes:

    - task_get_css() could deadlock when it races against a dying cgroup.

    - cgroup.procs didn't list thread group leaders with live threads.

    This could mislead readers to think that a cgroup is empty when
    it's not. Fixed by making PROCS iterator include dead tasks. I made
    a couple mistakes making this change and this pull request contains
    a couple follow-up patches.

    - When cpusets run out of online cpus, it updates cpusmasks of member
    tasks in bizarre ways. Joel improved the behavior significantly"

    * 'for-5.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cpuset: restore sanity to cpuset_cpus_allowed_fallback()
    cgroup: Fix css_task_iter_advance_css_set() cset skip condition
    cgroup: css_task_iter_skip()'d iterators must be advanced before accessed
    cgroup: Include dying leaders with live threads in PROCS iterations
    cgroup: Implement css_task_iter_skip()
    cgroup: Call cgroup_release() before __exit_signal()
    docs cgroups: add another example size for hugetlb
    cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css()

    Linus Torvalds
     
  • Instead of relying on rps_needed, it is safer to use a separate
    static key, since we do not want to enable TCP rx_skb_cache
    by default. This feature can cause huge increase of memory
    usage on hosts with millions of sockets.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Saeed Mahameed says:

    ====================
    mlx5-updates-2019-06-13

    Mlx5 devlink health fw reporters and sw reset support

    This series provides mlx5 firmware reset support and firmware devlink health
    reporters.

    1) Add initial mlx5 kernel documentation and include devlink health reporters

    2) Add CR-Space access and FW Crdump snapshot support via devlink region_snapshot

    3) Issue software reset upon FW asserts

    4) Add fw and fw_fatal devlink heath reporters to follow fw errors indication by
    dump and recover procedures and enable trigger these functionality by user.

    4.1) fw reporter:
    The fw reporter implements diagnose and dump callbacks.
    It follows symptoms of fw error such as fw syndrome by triggering
    fw core dump and storing it and any other fw trace into the dump buffer.
    The fw reporter diagnose command can be triggered any time by the user to check
    current fw status.

    4.2) fw_fatal repoter:
    The fw_fatal reporter implements dump and recover callbacks.
    It follows fatal errors indications by CR-space dump and recover flow.
    The CR-space dump uses vsc interface which is valid even if the FW command
    interface is not functional, which is the case in most FW fatal errors. The
    CR-space dump is stored as a memory region snapshot to ease read by address.
    The recover function runs recover flow which reloads the driver and triggers fw
    reset if needed.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Multipath hash policy value of 0 isn't distributing since the outer IP
    dest and src aren't varied eventhough the inner ones are. Since the flow
    is on the inner ones in the case of tunneled traffic, hashing on them is
    desired.

    This is done mainly for IP over GRE, hence only tested for that. But
    anything else supported by flow dissection should work.

    v2: Use skb_flow_dissect_flow_keys() directly so that other tunneling
    can be supported through flow dissection (per Nikolay Aleksandrov).
    v3: Remove accidental inclusion of ports in the hash keys and clarify
    the documentation (Nikolay Alexandrov).
    Signed-off-by: Stephen Suryaputra
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Stephen Suryaputra
     
  • The KSZ9477 series chips have a SYNCLKO pin which by default outputs a
    25MHz clock, but some board setups require a 125MHz clock instead. Added
    a microchip,synclko-125 device tree property to allow indicating a
    125MHz clock output is required.

    Signed-off-by: Robert Hancock
    Signed-off-by: David S. Miller

    Robert Hancock
     
  • Permit mux_id values up to 254 to be used in qmimux_register_device()
    for compatibility with ip(8) and the rmnet driver.

    Fixes: c6adf77953bc ("net: usb: qmi_wwan: add qmap mux protocol support")
    Cc: Daniele Palmas
    Signed-off-by: Reinhard Speyerer
    Signed-off-by: David S. Miller

    Reinhard Speyerer
     
  • Pull block fixes from Jens Axboe:

    - Remove references to old schedulers for the scheduler switching and
    blkio controller documentation (Andreas)

    - Kill duplicate check for report zone for null_blk (Chaitanya)

    - Two bcache fixes (Coly)

    - Ensure that mq-deadline is selected if zoned block device is enabled,
    as we need that to support them (Damien)

    - Fix io_uring memory leak (Eric)

    - ps3vram fallout from LBDAF removal (Geert)

    - Redundant blk-mq debugfs debugfs_create return check cleanup (Greg)

    - Extend NOPLM quirk for ST1000LM024 drives (Hans)

    - Remove error path warning that can now trigger after the queue
    removal/addition fixes (Ming)

    * tag 'for-linus-20190614' of git://git.kernel.dk/linux-block:
    block/ps3vram: Use %llu to format sector_t after LBDAF removal
    libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk
    bcache: only set BCACHE_DEV_WB_RUNNING when cached device attached
    bcache: fix stack corruption by PRECEDING_KEY()
    blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests
    blkio-controller.txt: Remove references to CFQ
    block/switching-sched.txt: Update to blk-mq schedulers
    null_blk: remove duplicate check for report zone
    blk-mq: no need to check return value of debugfs_create functions
    io_uring: fix memory leak of UNIX domain socket inode
    block: force select mq-deadline for zoned block devices

    Linus Torvalds
     
  • …inux/kernel/git/jberg/mac80211-next

    Johannes Berg says:

    ====================
    Many changes all over:
    * HE (802.11ax) work continues
    * WPA3 offloads
    * work on extended key ID handling continues
    * fixes to honour AP supported rates with auth/assoc frames
    * nl80211 netlink policy improvements to fix some issues
    with strict validation on new commands with old attrs
    ====================

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

    David S. Miller
     
  • Pull arm64 fixes from Will Deacon:
    "Here are some arm64 fixes for -rc5.

    The only non-trivial change (in terms of the diffstat) is fixing our
    SVE ptrace API for big-endian machines, but the majority of this is
    actually the addition of much-needed comments and updates to the
    documentation to try to avoid this mess biting us again in future.

    There are still a couple of small things on the horizon, but nothing
    major at this point.

    Summary:

    - Fix broken SVE ptrace API when running in a big-endian configuration

    - Fix performance regression due to off-by-one in TLBI range checking

    - Fix build regression when using Clang"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64/sve: Fix missing SVE/FPSIMD endianness conversions
    arm64: tlbflush: Ensure start/end of address range are aligned to stride
    arm64: Don't unconditionally add -Wno-psabi to KBUILD_CFLAGS

    Linus Torvalds
     

14 Jun, 2019

3 commits


13 Jun, 2019

5 commits

  • The in-memory representation of SVE and FPSIMD registers is
    different: the FPSIMD V-registers are stored as single 128-bit
    host-endian values, whereas SVE registers are stored in an
    endianness-invariant byte order.

    This means that the two representations differ when running on a
    big-endian host. But we blindly copy data from one representation
    to another when converting between the two, resulting in the
    register contents being unintentionally byteswapped in certain
    situations. Currently this can be triggered by the first SVE
    instruction after a syscall, for example (though the potential
    trigger points may vary in future).

    So, fix the conversion functions fpsimd_to_sve(), sve_to_fpsimd()
    and sve_sync_from_fpsimd_zeropad() to swab where appropriate.

    There is no common swahl128() or swab128() that we could use here.
    Maybe it would be worth making this generic, but for now add a
    simple local hack.

    Since the byte order differences are exposed in ABI, also clarify
    the documentation.

    Cc: Alex Bennée
    Cc: Peter Maydell
    Cc: Alan Hayward
    Cc: Julien Grall
    Fixes: bc0ee4760364 ("arm64/sve: Core task context handling")
    Fixes: 8cd969d28fd2 ("arm64/sve: Signal handling support")
    Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support")
    Signed-off-by: Dave Martin
    [will: Fix typos in comments and docs spotted by Julien]
    Signed-off-by: Will Deacon

    Dave Martin
     
  • CFQ is gone. No need anymore to document its "proportional weight time
    based division of disk policy".

    Signed-off-by: Andreas Herrmann
    Signed-off-by: Jens Axboe

    Andreas Herrmann
     
  • Remove references to CFQ and legacy block layer which are gone.
    Update example with what's available under blk-mq.

    Signed-off-by: Andreas Herrmann
    Signed-off-by: Jens Axboe

    Andreas Herrmann
     
  • This patch fixes a spelling typo in rds.txt

    Signed-off-by: Masanari Iida
    Acked-by: Santosh Shilimkar
    Signed-off-by: David S. Miller

    Masanari Iida
     
  • Add bindings for Wiznet's w5x00 series of SPI interfaced Ethernet chips.

    Based on the bindings for microchip,enc28j60.

    Signed-off-by: Nicolas Saenz Julienne
    Signed-off-by: David S. Miller

    Nicolas Saenz Julienne
     

12 Jun, 2019

2 commits

  • TLS offload drivers keep track of TCP seq numbers to make sure
    the packets are fed into the HW in order.

    When packets get dropped on the way through the stack, the driver
    will get out of sync and have to use fallback encryption, but unless
    TCP seq number is resynced it will never match the packets correctly
    (or even worse - use incorrect record sequence number after TCP seq
    wraps).

    Existing drivers (mlx5) feed the entire record on every out-of-order
    event, allowing FW/HW to always be in sync.

    This patch adds an alternative, more akin to the RX resync. When
    driver sees a frame which is past its expected sequence number the
    stream must have gotten out of order (if the sequence number is
    smaller than expected its likely a retransmission which doesn't
    require resync). Driver will ask the stack to perform TX sync
    before it submits the next full record, and fall back to software
    crypto until stack has performed the sync.

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Dirk van der Merwe
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • TLS offload device may lose sync with the TCP stream if packets
    arrive out of order. Drivers can currently request a resync at
    a specific TCP sequence number. When a record is found starting
    at that sequence number kernel will inform the device of the
    corresponding record number.

    This requires the device to constantly scan the stream for a
    known pattern (constant bytes of the header) after sync is lost.

    This patch adds an alternative approach which is entirely under
    the control of the kernel. Kernel tracks records it had to fully
    decrypt, even though TLS socket is in TLS_HW mode. If multiple
    records did not have any decrypted parts - it's a pretty strong
    indication that the device is out of sync.

    We choose the min number of fully encrypted records to be 2,
    which should hopefully be more than will get retransmitted at
    a time.

    After kernel decides the device is out of sync it schedules a
    resync request. If the TCP socket is empty the resync gets
    performed immediately. If socket is not empty we leave the
    record parser to resync when next record comes.

    Before resync in message parser we peek at the TCP socket and
    don't attempt the sync if the socket already has some of the
    next record queued.

    On resync failure (encrypted data continues to flow in) we
    retry with exponential backoff, up to once every 128 records
    (with a 16k record thats at most once every 2M of data).

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Dirk van der Merwe
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

10 Jun, 2019

2 commits

  • …ux/kernel/git/mkl/linux-can

    Marc Kleine-Budde says:

    ====================
    pull-request: can 2019-06-07

    this is a pull reqeust of 9 patches for net/master.

    The first patch is by Alexander Dahl and removes a duplicate menu entry from
    the Kconfig. The next patch by Joakim Zhang fixes the timeout in the flexcan
    driver when setting small bit rates. Anssi Hannula's patch for the xilinx_can
    driver fixes the bittiming_const for CAN FD core. The two patches by Sean
    Nyekjaer bring mcp25625 to the existing mcp251x driver. The patch by Eugen
    Hristev implements an errata for the m_can driver. YueHaibing's patch fixes the
    error handling ing can_init(). The patch by Fabio Estevam for the flexcan
    driver removes an unneeded registration message during flexcan_probe(). And the
    last patch is by Willem de Bruijn and adds the missing purging the socket
    error queue on sock destruct.
    ====================

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

    David S. Miller
     
  • The Keystone 2 66AK2HK/E/L 1G Ethernet Switch Subsystems contains The
    Common Platform Time Sync (CPTS) module which is in general compatible with
    CPTS module found on "legacy" TI AM3/4/5 SoCs. So, the basic support for
    Keystone 2 CPTS is available by default, but not documented.
    The Keystone 2 CPTS module supports also some additional features like time
    sync reference (RFTCLK) clock selection through CPTS_RFTCLK_SEL register
    (offset: x08) in CPTS module, which is modelled as multiplexer clock.

    This patch adds missed binding documentation for Keystone 2 66AK2HK/E/L
    CPTS module.

    Signed-off-by: Grygorii Strashko
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Grygorii Strashko
     

08 Jun, 2019

2 commits

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2019-06-07

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

    The main changes are:

    1) Fix several bugs in riscv64 JIT code emission which forgot to clear high
    32-bits for alu32 ops, from Björn and Luke with selftests covering all
    relevant BPF alu ops from Björn and Jiong.

    2) Two fixes for UDP BPF reuseport that avoid calling the program in case of
    __udp6_lib_err and UDP GRO which broke reuseport_select_sock() assumption
    that skb->data is pointing to transport header, from Martin.

    3) Two fixes for BPF sockmap: a use-after-free from sleep in psock's backlog
    workqueue, and a missing restore of sk_write_space when psock gets dropped,
    from Jakub and John.

    4) Fix unconnected UDP sendmsg hook API which is insufficient as-is since it
    breaks standard applications like DNS if reverse NAT is not performed upon
    receive, from Daniel.

    5) Fix an out-of-bounds read in __bpf_skc_lookup which in case of AF_INET6
    fails to verify that the length of the tuple is long enough, from Lorenz.

    6) Fix libbpf's libbpf__probe_raw_btf to return an fd instead of 0/1 (for
    {un,}successful probe) as that is expected to be propagated as an fd to
    load_sk_storage_btf() and thus closing the wrong descriptor otherwise,
    from Michal.

    7) Fix bpftool's JSON output for the case when a lookup fails, from Krzesimir.

    8) Minor misc fixes in docs, samples and selftests, from various others.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Fully compatible with mcp2515, the mcp25625 have integrated transceiver.

    This patch add the mcp25625 to the device tree bindings documentation.

    Signed-off-by: Sean Nyekjaer
    Signed-off-by: Marc Kleine-Budde

    Sean Nyekjaer