25 Nov, 2020

1 commit


12 Nov, 2020

1 commit


10 Nov, 2020

1 commit


07 Nov, 2020

1 commit

  • Pull networking fixes from Jakub Kicinski:
    "Networking fixes for 5.10-rc3, including fixes from wireless, can, and
    netfilter subtrees.

    Current merge window - bugs in new features:

    - can: isotp: isotp_rcv_cf(): enable RX timeout handling in
    listen-only mode

    Previous releases - regressions:

    - mac80211:
    - don't require VHT elements for HE on 2.4 GHz
    - fix regression where EAPOL frames were sent in plaintext

    - netfilter:
    - ipset: Update byte and packet counters regardless of whether
    they match

    - ip_tunnel: fix over-mtu packet send by allowing fragmenting even if
    inner packet has IP_DF (don't fragment) set in its header (when
    TUNNEL_DONT_FRAGMENT flag is not set on the tunnel dev)

    - net: fec: fix MDIO probing for some FEC hardware blocks

    - ip6_tunnel: set inner ipproto before ip6_tnl_encap to un-break gso
    support

    - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian
    platforms, sparse-related fix used the wrong integer size

    Previous releases - always broken:

    - netfilter: use actual socket sk rather than skb sk when routing
    harder

    - r8169: work around short packet hw bug on RTL8125 by padding frames

    - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping
    advertisement, the hardware does not support it

    - chelsio/chtls: fix always leaking ctrl_skb and another leak caused
    by a race condition

    - fix drivers incorrectly writing into skbs on TX:
    - cadence: force nonlinear buffers to be cloned
    - gianfar: Account for Tx PTP timestamp in the skb headroom
    - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP

    - can: flexcan:
    - remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A
    - add ECC initialization for VF610 and LX2160A
    - flexcan_remove(): disable wakeup completely

    - can: fix packet echo functionality:
    - peak_canfd: fix echo management when loopback is on
    - make sure skbs are not freed in IRQ context in case they need to
    be dropped
    - always clone the skbs to make sure they have a reference on the
    socket, and prevent it from disappearing
    - fix real payload length return value for RTR frames

    - can: j1939: return failure on bind if netdev is down, rather than
    waiting indefinitely

    Misc:

    - IPv6: reply ICMP error if the first fragment don't include all
    headers to improve compliance with RFC 8200"

    * tag 'net-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (66 commits)
    ionic: check port ptr before use
    r8169: work around short packet hw bug on RTL8125
    net: openvswitch: silence suspicious RCU usage warning
    chelsio/chtls: fix always leaking ctrl_skb
    chelsio/chtls: fix memory leaks caused by a race
    can: flexcan: flexcan_remove(): disable wakeup completely
    can: flexcan: add ECC initialization for VF610
    can: flexcan: add ECC initialization for LX2160A
    can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A
    can: mcp251xfd: remove unneeded break
    can: mcp251xfd: mcp251xfd_regmap_nocrc_read(): fix semicolon.cocci warnings
    can: mcp251xfd: mcp251xfd_regmap_crc_read(): increase severity of CRC read error messages
    can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is on
    can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping
    can: peak_usb: add range checking in decode operations
    can: xilinx_can: handle failure cases of pm_runtime_get_sync
    can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error path
    can: isotp: padlen(): make const array static, makes object smaller
    can: isotp: isotp_rcv_cf(): enable RX timeout handling in listen-only mode
    can: isotp: Explain PDU in CAN_ISOTP help text
    ...

    Linus Torvalds
     

04 Nov, 2020

4 commits

  • This patch adds backquotes for code samples.

    Signed-off-by: Yegor Yefremov
    Link: https://lore.kernel.org/r/20201026094442.16587-1-yegorslists@googlemail.com
    Signed-off-by: Marc Kleine-Budde

    Yegor Yefremov
     
  • The address was wrongly assigned to the PGN field and vice versa.

    Signed-off-by: Yegor Yefremov
    Link: https://lore.kernel.org/r/20201022083708.8755-1-yegorslists@googlemail.com
    Fixes: 9d71dd0c7009 ("can: add support of SAE J1939 protocol")
    Signed-off-by: Marc Kleine-Budde

    Yegor Yefremov
     
  • This patches fixes the syntax an spelling of the j1939 documentation.

    Signed-off-by: Yegor Yefremov
    Link: https://lore.kernel.org/r/20201020101043.6369-1-yegorslists@googlemail.com
    Fixes: 9d71dd0c7009 ("can: add support of SAE J1939 protocol")
    Signed-off-by: Marc Kleine-Budde

    Yegor Yefremov
     
  • Due to naming conflicts, jacd was renamed to j1939acd in:

    https://github.com/linux-can/can-utils/pull/199

    Signed-off-by: Yegor Yefremov
    Link: https://lore.kernel.org/r/20201020081134.3597-1-yegorslists@googlemail.com
    Link: https://github.com/linux-can/can-utils/pull/199
    Signed-off-by: Marc Kleine-Budde

    Yegor Yefremov
     

29 Oct, 2020

2 commits

  • Changeset 410d06879c01 ("ice: add the DDP Track ID to devlink info")
    added description for a new devlink field, but forgot to add
    one of its columns, causing it to break:

    .../Documentation/networking/devlink/ice.rst:15: WARNING: Error parsing content block for the "list-table" directive: uniform two-level bullet list expected, but row 11 does not contain the same number of items as row 1 (3 vs 4).

    .. list-table:: devlink info versions implemented
    :widths: 5 5 5 90
    ...
    * - ``fw.app.bundle_id``
    - 0xc0000001
    - Unique identifier for the DDP package loaded in the device. Also
    referred to as the DDP Track ID. Can be used to uniquely identify
    the specific DDP package.

    Add the type field to the ``fw.app.bundle_id`` row.

    Fixes: 410d06879c01 ("ice: add the DDP Track ID to devlink info")
    Signed-off-by: Mauro Carvalho Chehab
    Reviewed-by: Jacob Keller
    Link: https://lore.kernel.org/r/84ae28bda1987284033966b7b56a4b27ae40713b.1603791716.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • include/linux/ethtool.h is included twice with kernel-doc,
    both to document ethtool_pause_stats(). The first one is
    at statistics.rst, and the second one at ethtool-netlink.rst.

    Replace one of the references to use the name of the
    function. The automarkup.py extension should create the
    cross-references.

    Solves this warning:

    ../Documentation/networking/ethtool-netlink.rst: WARNING: Duplicate C declaration, also defined in 'networking/statistics'.
    Declaration is 'ethtool_pause_stats'.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: David S. Miller
    Link: https://lore.kernel.org/r/fdbf853bbdaf3bc1d38f32744b739d175c5c31f5.1603791716.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

24 Oct, 2020

1 commit

  • Pull networking fixes from Jakub Kicinski:
    "Cross-tree/merge window issues:

    - rtl8150: don't incorrectly assign random MAC addresses; fix late in
    the 5.9 cycle started depending on a return code from a function
    which changed with the 5.10 PR from the usb subsystem

    Current release regressions:

    - Revert "virtio-net: ethtool configurable RXCSUM", it was causing
    crashes at probe when control vq was not negotiated/available

    Previous release regressions:

    - ixgbe: fix probing of multi-port 10 Gigabit Intel NICs with an MDIO
    bus, only first device would be probed correctly

    - nexthop: Fix performance regression in nexthop deletion by
    effectively switching from recently added synchronize_rcu() to
    synchronize_rcu_expedited()

    - netsec: ignore 'phy-mode' device property on ACPI systems; the
    property is not populated correctly by the firmware, but firmware
    configures the PHY so just keep boot settings

    Previous releases - always broken:

    - tcp: fix to update snd_wl1 in bulk receiver fast path, addressing
    bulk transfers getting "stuck"

    - icmp: randomize the global rate limiter to prevent attackers from
    getting useful signal

    - r8169: fix operation under forced interrupt threading, make the
    driver always use hard irqs, even on RT, given the handler is light
    and only wants to schedule napi (and do so through a _irqoff()
    variant, preferably)

    - bpf: Enforce pointer id generation for all may-be-null register
    type to avoid pointers erroneously getting marked as null-checked

    - tipc: re-configure queue limit for broadcast link

    - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN
    tunnels

    - fix various issues in chelsio inline tls driver

    Misc:

    - bpf: improve just-added bpf_redirect_neigh() helper api to support
    supplying nexthop by the caller - in case BPF program has already
    done a lookup we can avoid doing another one

    - remove unnecessary break statements

    - make MCTCP not select IPV6, but rather depend on it"

    * tag 'net-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (62 commits)
    tcp: fix to update snd_wl1 in bulk receiver fast path
    net: Properly typecast int values to set sk_max_pacing_rate
    netfilter: nf_fwd_netdev: clear timestamp in forwarding path
    ibmvnic: save changed mac address to adapter->mac_addr
    selftests: mptcp: depends on built-in IPv6
    Revert "virtio-net: ethtool configurable RXCSUM"
    rtnetlink: fix data overflow in rtnl_calcit()
    net: ethernet: mtk-star-emac: select REGMAP_MMIO
    net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
    net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
    bpf, libbpf: Guard bpf inline asm from bpf_tail_call_static
    bpf, selftests: Extend test_tc_redirect to use modified bpf_redirect_neigh()
    bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop
    mptcp: depends on IPV6 but not as a module
    sfc: move initialisation of efx->filter_sem to efx_init_struct()
    mpls: load mpls_gso after mpls_iptunnel
    net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels
    net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action()
    net: dsa: bcm_sf2: make const array static, makes object smaller
    mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it
    ...

    Linus Torvalds
     

20 Oct, 2020

1 commit


17 Oct, 2020

2 commits

  • Keyu Man reported that the ICMP rate limiter could be used
    by attackers to get useful signal. Details will be provided
    in an upcoming academic publication.

    Our solution is to add some noise, so that the attackers
    no longer can get help from the predictable token bucket limiter.

    Fixes: 4cdf507d5452 ("icmp: add a global rate limitation")
    Signed-off-by: Eric Dumazet
    Reported-by: Keyu Man
    Signed-off-by: Jakub Kicinski

    Eric Dumazet
     
  • Pull documentation updates from Mauro Carvalho Chehab:
    "A series of patches addressing warnings produced by make htmldocs.
    This includes:

    - kernel-doc markup fixes

    - ReST fixes

    - Updates at the build system in order to support newer versions of
    the docs build toolchain (Sphinx)

    After this series, the number of html build warnings should reduce
    significantly, and building with Sphinx 3.1 or later should now be
    supported (although it is still recommended to use Sphinx 2.4.4).

    As agreed with Jon, I should be sending you a late pull request by the
    end of the merge window addressing remaining issues with docs build,
    as there are a number of warning fixes that depends on pull requests
    that should be happening along the merge window.

    The end goal is to have a clean htmldocs build on Kernel 5.10.

    PS. It should be noticed that Sphinx 3.0 is not currently supported,
    as it lacks support for C domain namespaces. Such feature, needed in
    order to document uAPI system calls with Sphinx 3.x, was added only on
    Sphinx 3.1"

    * tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (75 commits)
    PM / devfreq: remove a duplicated kernel-doc markup
    mm/doc: fix a literal block markup
    workqueue: fix a kernel-doc warning
    docs: virt: user_mode_linux_howto_v2.rst: fix a literal block markup
    Input: sparse-keymap: add a description for @sw
    rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu
    nl80211: docs: add a description for s1g_cap parameter
    usb: docs: document altmode register/unregister functions
    kunit: test.h: fix a bad kernel-doc markup
    drivers: core: fix kernel-doc markup for dev_err_probe()
    docs: bio: fix a kerneldoc markup
    kunit: test.h: solve kernel-doc warnings
    block: bio: fix a warning at the kernel-doc markups
    docs: powerpc: syscall64-abi.rst: fix a malformed table
    drivers: net: hamradio: fix document location
    net: appletalk: Kconfig: Fix docs location
    dt-bindings: fix references to files converted to yaml
    memblock: get rid of a :c:type leftover
    math64.h: kernel-docs: Convert some markups into normal comments
    media: uAPI: buffer.rst: remove a left-over documentation
    ...

    Linus Torvalds
     

16 Oct, 2020

2 commits

  • Pull networking updates from Jakub Kicinski:

    - Add redirect_neigh() BPF packet redirect helper, allowing to limit
    stack traversal in common container configs and improving TCP
    back-pressure.

    Daniel reports ~10Gbps => ~15Gbps single stream TCP performance gain.

    - Expand netlink policy support and improve policy export to user
    space. (Ge)netlink core performs request validation according to
    declared policies. Expand the expressiveness of those policies
    (min/max length and bitmasks). Allow dumping policies for particular
    commands. This is used for feature discovery by user space (instead
    of kernel version parsing or trial and error).

    - Support IGMPv3/MLDv2 multicast listener discovery protocols in
    bridge.

    - Allow more than 255 IPv4 multicast interfaces.

    - Add support for Type of Service (ToS) reflection in SYN/SYN-ACK
    packets of TCPv6.

    - In Multi-patch TCP (MPTCP) support concurrent transmission of data on
    multiple subflows in a load balancing scenario. Enhance advertising
    addresses via the RM_ADDR/ADD_ADDR options.

    - Support SMC-Dv2 version of SMC, which enables multi-subnet
    deployments.

    - Allow more calls to same peer in RxRPC.

    - Support two new Controller Area Network (CAN) protocols - CAN-FD and
    ISO 15765-2:2016.

    - Add xfrm/IPsec compat layer, solving the 32bit user space on 64bit
    kernel problem.

    - Add TC actions for implementing MPLS L2 VPNs.

    - Improve nexthop code - e.g. handle various corner cases when nexthop
    objects are removed from groups better, skip unnecessary
    notifications and make it easier to offload nexthops into HW by
    converting to a blocking notifier.

    - Support adding and consuming TCP header options by BPF programs,
    opening the doors for easy experimental and deployment-specific TCP
    option use.

    - Reorganize TCP congestion control (CC) initialization to simplify
    life of TCP CC implemented in BPF.

    - Add support for shipping BPF programs with the kernel and loading
    them early on boot via the User Mode Driver mechanism, hence reusing
    all the user space infra we have.

    - Support sleepable BPF programs, initially targeting LSM and tracing.

    - Add bpf_d_path() helper for returning full path for given 'struct
    path'.

    - Make bpf_tail_call compatible with bpf-to-bpf calls.

    - Allow BPF programs to call map_update_elem on sockmaps.

    - Add BPF Type Format (BTF) support for type and enum discovery, as
    well as support for using BTF within the kernel itself (current use
    is for pretty printing structures).

    - Support listing and getting information about bpf_links via the bpf
    syscall.

    - Enhance kernel interfaces around NIC firmware update. Allow
    specifying overwrite mask to control if settings etc. are reset
    during update; report expected max time operation may take to users;
    support firmware activation without machine reboot incl. limits of
    how much impact reset may have (e.g. dropping link or not).

    - Extend ethtool configuration interface to report IEEE-standard
    counters, to limit the need for per-vendor logic in user space.

    - Adopt or extend devlink use for debug, monitoring, fw update in many
    drivers (dsa loop, ice, ionic, sja1105, qed, mlxsw, mv88e6xxx,
    dpaa2-eth).

    - In mlxsw expose critical and emergency SFP module temperature alarms.
    Refactor port buffer handling to make the defaults more suitable and
    support setting these values explicitly via the DCBNL interface.

    - Add XDP support for Intel's igb driver.

    - Support offloading TC flower classification and filtering rules to
    mscc_ocelot switches.

    - Add PTP support for Marvell Octeontx2 and PP2.2 hardware, as well as
    fixed interval period pulse generator and one-step timestamping in
    dpaa-eth.

    - Add support for various auth offloads in WiFi APs, e.g. SAE (WPA3)
    offload.

    - Add Lynx PHY/PCS MDIO module, and convert various drivers which have
    this HW to use it. Convert mvpp2 to split PCS.

    - Support Marvell Prestera 98DX3255 24-port switch ASICs, as well as
    7-port Mediatek MT7531 IP.

    - Add initial support for QCA6390 and IPQ6018 in ath11k WiFi driver,
    and wcn3680 support in wcn36xx.

    - Improve performance for packets which don't require much offloads on
    recent Mellanox NICs by 20% by making multiple packets share a
    descriptor entry.

    - Move chelsio inline crypto drivers (for TLS and IPsec) from the
    crypto subtree to drivers/net. Move MDIO drivers out of the phy
    directory.

    - Clean up a lot of W=1 warnings, reportedly the actively developed
    subsections of networking drivers should now build W=1 warning free.

    - Make sure drivers don't use in_interrupt() to dynamically adapt their
    code. Convert tasklets to use new tasklet_setup API (sadly this
    conversion is not yet complete).

    * tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2583 commits)
    Revert "bpfilter: Fix build error with CONFIG_BPFILTER_UMH"
    net, sockmap: Don't call bpf_prog_put() on NULL pointer
    bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo
    bpf, sockmap: Add locking annotations to iterator
    netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements
    net: fix pos incrementment in ipv6_route_seq_next
    net/smc: fix invalid return code in smcd_new_buf_create()
    net/smc: fix valid DMBE buffer sizes
    net/smc: fix use-after-free of delayed events
    bpfilter: Fix build error with CONFIG_BPFILTER_UMH
    cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr
    net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info
    bpf: Fix register equivalence tracking.
    rxrpc: Fix loss of final ack on shutdown
    rxrpc: Fix bundle counting for exclusive connections
    netfilter: restore NF_INET_NUMHOOKS
    ibmveth: Identify ingress large send packets.
    ibmveth: Switch order of ibmveth_helper calls.
    cxgb4: handle 4-tuple PEDIT to NAT mode translation
    selftests: Add VRF route leaking tests
    ...

    Linus Torvalds
     
  • Minor conflicts in net/mptcp/protocol.h and
    tools/testing/selftests/net/Makefile.

    In both cases code was added on both sides in the same place
    so just keep both.

    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     

15 Oct, 2020

2 commits

  • There are some warnings produced with Sphinx 3.x:

    Documentation/networking/ieee802154.rst:29: WARNING: Error in declarator or parameters
    Invalid C declaration: Expecting "(" in parameters. [error at 7]
    int sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
    -------^
    Documentation/networking/ieee802154.rst:134: WARNING: Invalid C declaration: Expected end of definition. [error at 81]
    void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, u8 lqi):
    ---------------------------------------------------------------------------------^
    Documentation/networking/ieee802154.rst:139: WARNING: Invalid C declaration: Expected end of definition. [error at 95]
    void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, bool ifs_handling):
    -----------------------------------------------------------------------------------------------^
    Documentation/networking/ieee802154.rst:158: WARNING: Invalid C declaration: Expected end of definition. [error at 35]
    int start(struct ieee802154_hw *hw):
    -----------------------------------^
    Documentation/networking/ieee802154.rst:162: WARNING: Invalid C declaration: Expected end of definition. [error at 35]
    void stop(struct ieee802154_hw *hw):
    -----------------------------------^
    Documentation/networking/ieee802154.rst:166: WARNING: Invalid C declaration: Expected end of definition. [error at 61]
    int xmit_async(struct ieee802154_hw *hw, struct sk_buff *skb):
    -------------------------------------------------------------^
    Documentation/networking/ieee802154.rst:171: WARNING: Invalid C declaration: Expected end of definition. [error at 43]
    int ed(struct ieee802154_hw *hw, u8 *level):
    -------------------------------------------^
    Documentation/networking/ieee802154.rst:176: WARNING: Invalid C declaration: Expected end of definition. [error at 62]
    int set_channel(struct ieee802154_hw *hw, u8 page, u8 channel):
    --------------------------------------------------------------^

    Caused by some bad c:function: prototypes. Fix them.

    Acked-by: David S. Miller
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Pull SPDX updates from Greg KH:
    "Here are some SPDX-specific changes for 5.10-rc1.

    They include:

    - driver fixes to make spdxcheck.pl work properly

    - add GFDL licenses as "deprecated" but required due to some of our
    documentation using them

    - add Zlib license as "deprecated" but required because we have code
    with this license in the tree.

    - convert some drivers to have SPDX identifiers that previously
    didn't have them.

    All have been in linux-next for a very long time with no reported
    issues"

    * tag 'spdx-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
    scripts/spdxcheck.py: handle license identifiers in XML comments
    net/mlx5: IPsec: make spdxcheck.py happy
    LICENSES/deprecated: add Zlib license text
    LICENSE: add GFDL deprecated licenses
    net/qla3xxx: Convert to SPDX license identifiers
    net/qlge: Convert to SPDX license identifiers
    net/qlcnic: Convert to SPDX license identifiers
    scsi/qla2xxx: Convert to SPDX license identifiers
    scsi/qla4xxx: Convert to SPDX license identifiers

    Linus Torvalds
     

14 Oct, 2020

1 commit

  • With the introduction of netif_set_xps_queue, XPS can be enabled
    by the driver at initialization.

    Update the documentation to reflect this, as otherwise users
    may incorrectly believe that the feature is off by default.

    Fixes: 537c00de1c9b ("net: Add functions netif_reset_xps_queue and netif_set_xps_queue")
    Signed-off-by: Willem de Bruijn
    Signed-off-by: Jakub Kicinski

    Willem de Bruijn
     

13 Oct, 2020

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "As hoped, things calmed down for docs this cycle; fewer changes and
    almost no conflicts at all. This includes:

    - A reworked and expanded user-mode Linux document

    - Some simplifications and improvements for submitting-patches.rst

    - An emergency fix for (some) problems with Sphinx 3.x

    - Some welcome automarkup improvements to automatically generate
    cross-references to struct definitions and other documents

    - The usual collection of translation updates, typo fixes, etc"

    * tag 'docs-5.10' of git://git.lwn.net/linux: (81 commits)
    gpiolib: Update indentation in driver.rst for code excerpts
    Documentation/admin-guide: tainted-kernels: Fix typo occured
    Documentation: better locations for sysfs-pci, sysfs-tagging
    docs: programming-languages: refresh blurb on clang support
    Documentation: kvm: fix a typo
    Documentation: Chinese translation of Documentation/arm64/amu.rst
    doc: zh_CN: index files in arm64 subdirectory
    mailmap: add entry for
    doc: seq_file: clarify role of *pos in ->next()
    docs: trace: ring-buffer-design.rst: use the new SPDX tag
    Documentation: kernel-parameters: clarify "module." parameters
    Fix references to nommu-mmap.rst
    docs: rewrite admin-guide/sysctl/abi.rst
    docs: fb: Remove vesafb scrollback boot option
    docs: fb: Remove sstfb scrollback boot option
    docs: fb: Remove matroxfb scrollback boot option
    docs: fb: Remove framebuffer scrollback boot option
    docs: replace the old User Mode Linux HowTo with a new one
    Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"
    Documentation/admin-guide: README & svga: remove use of "rdev"
    ...

    Linus Torvalds
     

10 Oct, 2020

3 commits

  • Add "fw.app.bundle_id" to display the DDP Track ID of the active DDP
    package. This id is similar to "fw.bundle_id" and is a unique identifier
    for the DDP package that is loaded in the device. Each new DDP has
    a unique Track ID generated for it, and the ID can be used to identify
    and track the DDP package.

    Add documentation for the new devlink info version.

    Signed-off-by: Jacob Keller
    Tested-by: Aaron Brown
    Signed-off-by: Tony Nguyen
    Signed-off-by: Jakub Kicinski

    Jacob Keller
     
  • Add devlink reload rst documentation file.
    Update index file to include it.

    Signed-off-by: Moshe Shemesh
    Signed-off-by: Jakub Kicinski

    Moshe Shemesh
     
  • The enable_remote_dev_reset devlink param flags that the host admin
    allows device resets that can be initiated by other hosts. This
    parameter is useful for setups where a device is shared by different
    hosts, such as multi-host setup. Once the user set this parameter to
    false, the driver should NACK any attempt to reset the device while the
    driver is loaded.

    Signed-off-by: Moshe Shemesh
    Reviewed-by: Jiri Pirko
    Signed-off-by: Jakub Kicinski

    Moshe Shemesh
     

09 Oct, 2020

1 commit

  • sysfs-pci and sysfs-tagging were mis-filed: their locations within
    Documentation/ implied that they were related to file systems. Actually,
    each topic is about a very specific *use* of sysfs, and sysfs *happens*
    to be a (virtual) filesystem, so this is not really the right place.

    It's jarring to be reading about filesystems in general and then come
    across these specific details about PCI, and tagging...and then back to
    general filesystems again.

    Move sysfs-pci to PCI, and move sysfs-tagging to networking. (Thanks to
    Jonathan Corbet for coming up with the final locations.)

    Signed-off-by: John Hubbard
    Link: https://lore.kernel.org/r/20201009070128.118639-1-jhubbard@nvidia.com
    Signed-off-by: Jonathan Corbet

    John Hubbard
     

03 Oct, 2020

1 commit

  • Add parser error drop packet traps, so that capable device driver could
    register them with devlink. The new packet trap group holds any drops of
    packets which were marked by the device as erroneous during header
    parsing. Add documentation for every added packet trap and packet trap
    group.

    Signed-off-by: Ioana Ciornei
    Signed-off-by: David S. Miller

    Ioana Ciornei
     

30 Sep, 2020

1 commit

  • While chasing in_interrupt() (ab)use in drivers it turned out that the
    caif_spi driver has never been in use since the driver was merged 10 years
    ago. There never was any matching code which provides a platform device.

    The driver has not seen any update (asided of treewide changes and
    cleanups) since 8 years and the maintainers vanished from the planet.

    So analysing the potential contexts and the (in)correctness of
    in_interrupt() usage is just a pointless exercise.

    Remove the cruft.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: David S. Miller

    Thomas Gleixner
     

29 Sep, 2020

1 commit


26 Sep, 2020

2 commits

  • Support the recently added DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK
    parameter in the ice flash update handler. Convert the overwrite mask
    bitfield into the appropriate preservation level used by the firmware
    when updating.

    Because there is no equivalent preservation level for overwriting only
    identifiers, this combination is rejected by the driver as not supported
    with an appropriate extended ACK message.

    Signed-off-by: Jacob Keller
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jacob Keller
     
  • Sections of device flash may contain settings or device identifying
    information. When performing a flash update, it is generally expected
    that these settings and identifiers are not overwritten.

    However, it may sometimes be useful to allow overwriting these fields
    when performing a flash update. Some examples include, 1) customizing
    the initial device config on first programming, such as overwriting
    default device identifying information, or 2) reverting a device
    configuration to known good state provided in the new firmware image, or
    3) in case it is suspected that current firmware logic for managing the
    preservation of fields during an update is broken.

    Although some devices are able to completely separate these types of
    settings and fields into separate components, this is not true for all
    hardware.

    To support controlling this behavior, a new
    DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK is defined. This is an
    nla_bitfield32 which will define what subset of fields in a component
    should be overwritten during an update.

    If no bits are specified, or of the overwrite mask is not provided, then
    an update should not overwrite anything, and should maintain the
    settings and identifiers as they are in the previous image.

    If the overwrite mask has the DEVLINK_FLASH_OVERWRITE_SETTINGS bit set,
    then the device should be configured to overwrite any of the settings in
    the requested component with settings found in the provided image.

    Similarly, if the DEVLINK_FLASH_OVERWRITE_IDENTIFIERS bit is set, the
    device should be configured to overwrite any device identifiers in the
    requested component with the identifiers from the image.

    Multiple overwrite modes may be combined to indicate that a combination
    of the set of fields that should be overwritten.

    Drivers which support the new overwrite mask must set the
    DEVLINK_SUPPORT_FLASH_UPDATE_OVERWRITE_MASK in the
    supported_flash_update_params field of their devlink_ops.

    Signed-off-by: Jacob Keller
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jacob Keller
     

24 Sep, 2020

1 commit


23 Sep, 2020

1 commit

  • Two minor conflicts:

    1) net/ipv4/route.c, adding a new local variable while
    moving another local variable and removing it's
    initial assignment.

    2) drivers/net/dsa/microchip/ksz9477.c, overlapping changes.
    One pretty prints the port mode differently, whilst another
    changes the driver to try and obtain the port mode from
    the port node rather than the switch node.

    Signed-off-by: David S. Miller

    David S. Miller
     

22 Sep, 2020

2 commits

  • The PCI vendor IDs in the documentation inaccurately describe the ENA
    devices. For example, the 1d0f:ec20 can have LLQ support. The driver
    loads in LLQ mode by default, and a message is printed to the kernel
    ring if the mode isn't supported by the device, so the device table
    isn't needed.

    Also, LLQ can support various entry sizes, so the documentation is
    updated to reflect that.

    Interrupt moderation description is also updated to be more accurate.

    Signed-off-by: Shay Agroskin
    Signed-off-by: David S. Miller

    Shay Agroskin
     
  • The formal name changes to "ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG".
    Indirection is the ability to reference "something" using "something else"
    instead of the value itself.
    Indirection table, as the name implies, is the ability to reference
    CPU/Queue value using hash-to-CPU table instead of CPU/Queue itself.

    This patch renames the variable keys_num, which describes the number of
    words in the RSS hash key, to key_parts which makes its purpose clearer
    in RSS context.

    Signed-off-by: Amit Bernstein
    Signed-off-by: Shay Agroskin
    Signed-off-by: David S. Miller

    Shay Agroskin
     

18 Sep, 2020

1 commit

  • Tunnel offload info code uses ETHTOOL_MSG_TUNNEL_INFO_GET message type (cmd
    field in genetlink header) for replies to tunnel info netlink request, i.e.
    the same value as the request have. This is a problem because we are using
    two separate enums for userspace to kernel and kernel to userspace message
    types so that this ETHTOOL_MSG_TUNNEL_INFO_GET (28) collides with
    ETHTOOL_MSG_CABLE_TEST_TDR_NTF which is what message type 28 means for
    kernel to userspace messages.

    As the tunnel info request reached mainline in 5.9 merge window, we should
    still be able to fix the reply message type without breaking backward
    compatibility.

    Fixes: c7d759eb7b12 ("ethtool: add tunnel info interface")
    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     

16 Sep, 2020

5 commits

  • All files related to this driver contain the following notice:

    See LICENSE.qla3xxx for copyright and licensing details.

    LICENSE.qla3xxx can be found in
    Documentation/networking/device_drivers/qlogic/. The file contains:

    - A copyright notice

    This copyright notice is redundant as all files contain the same
    copyright notice already

    - A license notice

    You may modify and redistribute the device driver code under the GNU
    General Public License (a copy of which is attached hereto as Exhibit
    A) published by the Free Software Foundation (version 2 or a later
    version).

    This can be replaced with the corresponding SPDX license identifier
    (GPL-2.0-or-later) in the source files which reference this license
    file.

    - A license for the device firmware

    This license is pointless in the context of the kernel as the firmware
    is not distributed as part of the kernel.

    LICENSE.qla2xxx contained exactly the same firmware license which was
    removed with commit bc3f957c069f ("[SCSI] qla2xxx: Update
    LICENSE.qla2xxx.").

    The firmware license is there due to the fact that the out of tree
    driver tarball which was available from the qlogic website contained
    the firmware binary. The firmware license in the qla3xxx license file
    got probably forgotten when the other qlogic license files were
    updated.

    Remove the notices and add the SPDX license identifier GPL-2.0-or-later to
    the source files.

    Finally remove the now redundant LICENSE.qla3xxx file.

    Reviewed-by: Richard Fontana
    Reviewed-by: Alexios Zavras
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Lukas Bulwahn
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • All files related to this driver contain the following notice:

    See LICENSE.qlge for copyright and licensing details.

    LICENSE.qlge can be found in
    Documentation/networking/device_drivers/qlogic/. The file contains:

    - A copyright notice

    This copyright notice is redundant as all files contain the same
    copyright notice already

    - A license notice

    You may modify and redistribute the device driver code under the
    GNU General Public License (a copy of which is attached hereto as
    Exhibit A) published by the Free Software Foundation (version 2).

    This can be replaced with the corresponding SPDX license identifier
    (GPL-2.0-only) in the source files which reference this license
    file.

    - The full GPLv2 license text

    A redundant copy of LICENSES/preferred/GPL-2.0

    Remove the notices and add the SPDX license identifier GPL-2.0-only to the
    source files.

    Finally remove the now redundant LICENSE.qlge file.

    Reviewed-by: Richard Fontana
    Reviewed-by: Jilayne Lovejoy
    Reviewed-by: Alexios Zavras
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Lukas Bulwahn
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • All files in this driver directory contain the following notice:

    See LICENSE.qlcnic for copyright and licensing details.

    LICENSE.qlacnic can be found in
    Documentation/networking/device_drivers/qlogic/. The file contains:

    - A copyright notice

    This copyright notice is redundant as all files contain the same
    copyright notice already

    - A license notice

    You may modify and redistribute the device driver code under the
    GNU General Public License (a copy of which is attached hereto as
    Exhibit A) published by the Free Software Foundation (version 2).

    This can be replaced with the corresponding SPDX license identifier
    (GPL-2.0-only) in the source files which reference this license
    file.

    - The full GPLv2 license text

    A redundant copy of LICENSES/preferred/GPL-2.0

    Remove the notices and add the SPDX license identifier GPL-2.0-only to the
    source files.

    Finally remove the now redundant LICENSE.qlcnic file.

    Reviewed-by: Richard Fontana
    Reviewed-by: Jilayne Lovejoy
    Reviewed-by: Alexios Zavras
    Acked-by: Igor Russkikh
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Lukas Bulwahn
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Tell people that there now is an interface for querying pause frames.
    A little bit of restructuring is needed given this is a first source
    of such statistics.

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • Currently drivers have to report their pause frames statistics
    via ethtool -S, and there is a wide variety of names used for
    these statistics.

    Add the two statistics defined in IEEE 802.3x to the standard
    API. Create a new ethtool request header flag for including
    statistics in the response to GET commands.

    Always create the ETHTOOL_A_PAUSE_STATS nest in replies when
    flag is set. Testing if driver declares the op is not a reliable
    way of checking if any stats will actually be included and therefore
    we don't want to give the impression that presence of
    ETHTOOL_A_PAUSE_STATS indicates driver support.

    Note that this patch does not include PFC counters, which may fit
    better in dcbnl? But mostly I don't need them/have a setup to test
    them so I haven't looked deeply into exposing them :)

    v3:
    - add a helper for "uninitializing" stats, rather than a cryptic
    memset() (Andrew)

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

08 Sep, 2020

1 commit

  • This patch is born out of an investigation into which IEEE statistics
    correspond to which struct rtnl_link_stats64 members. Turns out that
    there seems to be reasonable consensus on the matter, among many drivers.
    To save others the time (and it took more time than I'm comfortable
    admitting) I'm adding comments referring to IEEE attributes to
    struct rtnl_link_stats64.

    Up until now we had two forms of documentation for stats - in
    Documentation/ABI/testing/sysfs-class-net-statistics and the comments
    on struct rtnl_link_stats64 itself. While the former is very cautious
    in defining the expected behavior, the latter feel quite dated and
    may not be easy to understand for modern day driver author
    (e.g. rx_over_errors). At the same time modern systems are far more
    complex and once obvious definitions lost their clarity. For example
    - does rx_packet count at the MAC layer (aFramesReceivedOK)?
    packets processed correctly by hardware? received by the driver?
    or maybe received by the stack?

    I tried to clarify the expectations, further clarifications from
    others are very welcome.

    The part hardest to untangle is rx_over_errors vs rx_fifo_errors
    vs rx_missed_errors. After much deliberation I concluded that for
    modern HW only two of the counters will make sense. The distinction
    between internal FIFO overflow and packets dropped due to back-pressure
    from the host is likely too implementation (driver and device) specific
    to expose in the standard stats.

    Now - which two of those counters we select to use is anyone's pick:

    sysfs documentation suggests rx_over_errors counts packets which
    did not fit into buffers due to MTU being too small, which I reused.
    There don't seem to be many modern drivers using it (well, CAN drivers
    seem to love this statistic).

    Of the remaining two I picked rx_missed_errors to report device drops.
    bnxt reports it and it's folded into "drop"s in procfs (while
    rx_fifo_errors is an error, and modern devices usually receive the frame
    OK, they just can't admit it into the pipeline).

    Of the drivers I looked at only AMD Lance-like and NS8390-like use all
    three of these counters. rx_missed_errors counts missed frames,
    rx_over_errors counts overflow events, and rx_fifo_errors counts frames
    which were truncated because they didn't fit into buffers. This suggests
    that rx_fifo_errors may be the correct stat for truncated packets, but
    I'd think a FIFO stat counting truncated packets would be very confusing
    to a modern reader.

    v2:
    - add driver developer notes about ethtool stat count and reset
    - replace Ethernet with IEEE 802.3 to better indicate source of attrs
    - mention byte counters don't count FCS
    - clarify RX counter is from device to host
    - drop "sightly" from sysfs paragraph
    - add examples of ethtool stats
    - s/incoming/received/ s/incoming/transmitted/

    Signed-off-by: Jakub Kicinski

    Jakub Kicinski