26 Mar, 2020

2 commits


25 Mar, 2020

4 commits

  • The write pointer of zones in the read-only consition is defined as
    invalid by the SCSI ZBC and ATA ZAC specifications. It is thus not
    possible to determine the correct size of a read-only zone file on
    mount. Fix this by handling read-only zones in the same manner as
    offline zones by disabling all accesses to the zone (read and write)
    and initializing the inode size of the read-only zone to 0).

    For zones found to be in the read-only condition at runtime, only
    disable write access to the zone and keep the size of the zone file to
    its last updated value to allow the user to recover previously written
    data.

    Also fix zonefs documentation file to reflect this change.

    Signed-off-by: Damien Le Moal
    Reviewed-by: Johannes Thumshirn

    Damien Le Moal
     
  • We are having multiple review cycles with all vendors trying
    to implement devlink-info. Let's expand the documentation with
    more information about what's implemented and motivation behind
    this interface in an attempt to make the implementations easier.

    Describe what each info section is supposed to contain, and make
    some references to other HW interfaces (PCI caps).

    Document how firmware management is expected to look, to make
    it clear how devlink-info and devlink-flash work in concert.

    Name some future work.

    v2: - improve wording
    v3: - improve wording

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • …ux/kernel/git/kvalo/wireless-drivers-next

    Kalle Valo says:

    ====================
    wireless-drivers-next patches for v5.7

    Second set of patches for v5.7. Lots of cleanup patches this time, but
    of course various new features as well fixes.

    When merging with wireless-drivers this pull request has a conflict in:

    drivers/net/wireless/intel/iwlwifi/pcie/drv.c

    To solve that just drop the changes from commit cf52c8a776d1 in
    wireless-drivers and take the hunk from wireless-drivers-next as is.
    The list of specific subsystem device IDs are not necessary after
    commit d6f2134a3831 (in wireless-drivers-next) anymore, the detection
    is based on other characteristics of the devices.

    Major changes:

    qtnfmac

    * support WPA3 SAE and OWE in AP mode

    ath10k

    * support for getting btcoex settings from Device Tree

    * support QCA9377 SDIO device

    ath11k

    * add HE rate accounting

    * add thermal sensor and cooling devices

    mt76

    * MT7663 support for the MT7615 driver
    ====================

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

    David S. Miller
     
  • Pull dmaengine fixes from Vinod Koul:
    "Late fixes in dmaengine for v5.6:

    - move .device_release missing log warning to debug

    - couple of maintainer entries for HiSilicon and IADX drivers

    - off-by-one fix for idxd driver

    - documentation warning fixes

    - TI k3 dma error handling fix"

    * tag 'dmaengine-fix-5.6' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: ti: k3-udma-glue: Fix an error handling path in 'k3_udma_glue_cfg_rx_flow()'
    MAINTAINERS: Add maintainer for HiSilicon DMA engine driver
    dmaengine: idxd: fix off by one on cdev dwq refcount
    MAINTAINERS: rectify the INTEL IADX DRIVER entry
    dmaengine: move .device_release missing log warning to debug level
    docs: dmaengine: provider.rst: get rid of some warnings

    Linus Torvalds
     

21 Mar, 2020

3 commits

  • Export a unique board identifier using "board.id" for devlink's
    .info_get command.

    Obtain this by reading the NVM for the PBA identification string.

    Signed-off-by: Jacob Keller
    Reviewed-by: Jesse Brandeburg
    Acked-by: Jakub Kicinski
    Tested-by: Andrew Bowers
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     
  • The devlink .info_get callback allows the driver to report detailed
    version information. The following devlink versions are reported with
    this initial implementation:

    "fw.mgmt" -> The version of the firmware that controls PHY, link, etc
    "fw.mgmt.api" -> API version of interface exposed over the AdminQ
    "fw.mgmt.build" -> Unique build id of the source for the management fw
    "fw.undi" -> Version of the Option ROM containing the UEFI driver
    "fw.psid.api" -> Version of the NVM image format.
    "fw.bundle_id" -> Unique identifier for the combined flash image.
    "fw.app.name" -> The name of the active DDP package.
    "fw.app" -> The version of the active DDP package.

    With this, devlink dev info can report at least as much information as
    is reported by ETHTOOL_GDRVINFO.

    Compare the output from ethtool vs from devlink:

    $ ethtool -i ens785s0
    driver: ice
    version: 0.8.1-k
    firmware-version: 0.80 0x80002ec0 1.2581.0
    expansion-rom-version:
    bus-info: 0000:3b:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: yes

    $ devlink dev info pci/0000:3b:00.0
    pci/0000:3b:00.0:
    driver ice
    serial number 00-01-ab-ff-ff-ca-05-68
    versions:
    running:
    fw.mgmt 2.1.7
    fw.mgmt.api 1.5
    fw.mgmt.build 0x305d955f
    fw.undi 1.2581.0
    fw.psid.api 0.80
    fw.bundle_id 0x80002ec0
    fw.app.name ICE OS Default Package
    fw.app 1.3.1.0

    More pieces of information can be displayed, each version is kept
    separate instead of munged together, and each version has an identifier
    which comes with associated documentation.

    Signed-off-by: Jacob Keller
    Acked-by: Jakub Kicinski
    Tested-by: Andrew Bowers
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     
  • The nfp driver uses ``fw.bundle_id`` to represent a unique identifier of the
    entire firmware bundle.

    A future change is going to introduce a similar notion in the ice
    driver, so promote ``fw.bundle_id`` into a generic version now.

    Signed-off-by: Jacob Keller
    Reviewed-by: Jakub Kicinski
    Tested-by: Andrew Bowers
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     

20 Mar, 2020

2 commits

  • …etooth/bluetooth-next

    Johan Hedberg says:

    ====================
    pull request: bluetooth-next 2020-03-19

    Here's the main bluetooth-next pull request for the 5.7 kernel.

    - Added wideband speech support to mgmt and the ability for HCI drivers
    to declare support for it.
    - Added initial support for L2CAP Enhanced Credit Based Mode
    - Fixed suspend handling for several use cases
    - Fixed Extended Advertising related issues
    - Added support for Realtek 8822CE device
    - Added DT bindings for QTI chip WCN3991
    - Cleanups to replace zero-length arrays with flexible-array members
    - Several other smaller cleanups & fixes
    ====================

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

    David S. Miller
     
  • …/masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:

    - fix __uint128_t capability test in Kconfig when GCC that defaults to
    32-bit is used to build the 64-bit kernel

    - suppress new noisy Clang warnings -Wpointer-to-enum-cast

    - move the namespace field in Module.symvers for the backward
    compatibility reason for the depmod tool

    - use available compression for initramdisk when INTRAMFS_SOURCE is
    defined, which was the original behavior

    - fix modpost to handle correct large section numbers when it refers to
    modversion CRCs and module namespaces

    - fix comments and documents

    * tag 'kbuild-fixes-v5.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    scripts/kallsyms: fix wrong kallsyms_relative_base
    modpost: Get proper section index by get_secindex() instead of st_shndx
    initramfs: restore default compression behavior
    modpost: move the namespace field in Module.symvers last
    kbuild: Disable -Wpointer-to-enum-cast
    kbuild: doc: fix references to other documents
    int128: fix __uint128_t compiler test in Kconfig
    kconfig: introduce m32-flag and m64-flag
    kbuild: Fix inconsistent comment

    Linus Torvalds
     

18 Mar, 2020

1 commit


17 Mar, 2020

1 commit

  • In order to preserve backwards compatability with kmod tools, we have to
    move the namespace field in Module.symvers last, as the depmod -e -E
    option looks at the first three fields in Module.symvers to check symbol
    versions (and it's expected they stay in the original order of crc,
    symbol, module).

    In addition, update an ancient comment above read_dump() in modpost that
    suggested that the export type field in Module.symvers was optional. I
    suspect that there were historical reasons behind that comment that are
    no longer accurate. We have been unconditionally printing the export
    type since 2.6.18 (commit bd5cbcedf44), which is over a decade ago now.

    Fix up read_dump() to treat each field as non-optional. I suspect the
    original read_dump() code treated the export field as optional in order
    to support pre
    Reviewed-by: Matthias Maennich
    Reviewed-by: Lucas De Marchi
    Signed-off-by: Jessica Yu
    Signed-off-by: Masahiro Yamada

    Jessica Yu
     

16 Mar, 2020

2 commits


15 Mar, 2020

1 commit


14 Mar, 2020

2 commits

  • Despite the architecture spec requiring that reserved registers in the GIC
    distributor memory map are RES0 (and thus are not allowed to generate
    an exception), the Cavium ThunderX (aka TX1) SoC explodes as such:

    [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [ 0.000000] GICv3: 128 SPIs implemented
    [ 0.000000] GICv3: 0 Extended SPIs implemented
    [ 0.000000] Internal error: synchronous external abort: 96000210 [#1] SMP
    [ 0.000000] Modules linked in:
    [ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.0-rc4-00035-g3cf6a3d5725f #7956
    [ 0.000000] Hardware name: cavium,thunder-88xx (DT)
    [ 0.000000] pstate: 60000085 (nZCv daIf -PAN -UAO)
    [ 0.000000] pc : __raw_readl+0x0/0x8
    [ 0.000000] lr : gic_init_bases+0x110/0x560
    [ 0.000000] sp : ffff800011243d90
    [ 0.000000] x29: ffff800011243d90 x28: 0000000000000000
    [ 0.000000] x27: 0000000000000018 x26: 0000000000000002
    [ 0.000000] x25: ffff8000116f0000 x24: ffff000fbe6a2c80
    [ 0.000000] x23: 0000000000000000 x22: ffff010fdc322b68
    [ 0.000000] x21: ffff800010a7a208 x20: 00000000009b0404
    [ 0.000000] x19: ffff80001124dad0 x18: 0000000000000010
    [ 0.000000] x17: 000000004d8d492b x16: 00000000f67eb9af
    [ 0.000000] x15: ffffffffffffffff x14: ffff800011249908
    [ 0.000000] x13: ffff800091243ae7 x12: ffff800011243af4
    [ 0.000000] x11: ffff80001126e000 x10: ffff800011243a70
    [ 0.000000] x9 : 00000000ffffffd0 x8 : ffff80001069c828
    [ 0.000000] x7 : 0000000000000059 x6 : ffff8000113fb4d1
    [ 0.000000] x5 : 0000000000000001 x4 : 0000000000000000
    [ 0.000000] x3 : 0000000000000000 x2 : 0000000000000000
    [ 0.000000] x1 : 0000000000000000 x0 : ffff8000116f000c
    [ 0.000000] Call trace:
    [ 0.000000] __raw_readl+0x0/0x8
    [ 0.000000] gic_of_init+0x188/0x224
    [ 0.000000] of_irq_init+0x200/0x3cc
    [ 0.000000] irqchip_init+0x1c/0x40
    [ 0.000000] init_IRQ+0x160/0x1d0
    [ 0.000000] start_kernel+0x2ec/0x4b8
    [ 0.000000] Code: a8c47bfd d65f03c0 d538d080 d65f03c0 (b9400000)

    when reading the GICv4.1 GICD_TYPER2 register, which is unexpected...

    Work around it by adding a new quirk for the following variants:

    ThunderX: CN88xx
    OCTEON TX: CN83xx, CN81xx
    OCTEON TX2: CN93xx, CN96xx, CN98xx, CNF95xx*

    and use this flag to avoid accessing GICD_TYPER2. Note that all
    reserved registers (including redistributors and ITS) are impacted
    by this erratum, but that only GICD_TYPER2 has to be worked around
    so far.

    Signed-off-by: Marc Zyngier
    Tested-by: Robert Richter
    Tested-by: Mark Salter
    Tested-by: Tim Harvey
    Acked-by: Catalin Marinas
    Acked-by: Robert Richter
    Link: https://lore.kernel.org/r/20191027144234.8395-11-maz@kernel.org
    Link: https://lore.kernel.org/r/20200311115649.26060-1-maz@kernel.org

    Marc Zyngier
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2020-03-13

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

    We've added 86 non-merge commits during the last 12 day(s) which contain
    a total of 107 files changed, 5771 insertions(+), 1700 deletions(-).

    The main changes are:

    1) Add modify_return attach type which allows to attach to a function via
    BPF trampoline and is run after the fentry and before the fexit programs
    and can pass a return code to the original caller, from KP Singh.

    2) Generalize BPF's kallsyms handling and add BPF trampoline and dispatcher
    objects to be visible in /proc/kallsyms so they can be annotated in
    stack traces, from Jiri Olsa.

    3) Extend BPF sockmap to allow for UDP next to existing TCP support in order
    in order to enable this for BPF based socket dispatch, from Lorenz Bauer.

    4) Introduce a new bpftool 'prog profile' command which attaches to existing
    BPF programs via fentry and fexit hooks and reads out hardware counters
    during that period, from Song Liu. Example usage:

    bpftool prog profile id 337 duration 3 cycles instructions llc_misses

    4228 run_cnt
    3403698 cycles (84.08%)
    3525294 instructions # 1.04 insn per cycle (84.05%)
    13 llc_misses # 3.69 LLC misses per million isns (83.50%)

    5) Batch of improvements to libbpf, bpftool and BPF selftests. Also addition
    of a new bpf_link abstraction to keep in particular BPF tracing programs
    attached even when the applicaion owning them exits, from Andrii Nakryiko.

    6) New bpf_get_current_pid_tgid() helper for tracing to perform PID filtering
    and which returns the PID as seen by the init namespace, from Carlos Neira.

    7) Refactor of RISC-V JIT code to move out common pieces and addition of a
    new RV32G BPF JIT compiler, from Luke Nelson.

    8) Add gso_size context member to __sk_buff in order to be able to know whether
    a given skb is GSO or not, from Willem de Bruijn.

    9) Add a new bpf_xdp_output() helper which reuses XDP's existing perf RB output
    implementation but can be called from tracepoint programs, from Eelco Chaudron.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

13 Mar, 2020

17 commits

  • Minor overlapping changes, nothing serious.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • All the files in Documentation/kbuild/ were converted to reST.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Pull networking fixes from David Miller:
    "It looks like a decent sized set of fixes, but a lot of these are one
    liner off-by-one and similar type changes:

    1) Fix netlink header pointer to calcular bad attribute offset
    reported to user. From Pablo Neira Ayuso.

    2) Don't double clear PHY interrupts when ->did_interrupt is set,
    from Heiner Kallweit.

    3) Add missing validation of various (devlink, nl802154, fib, etc.)
    attributes, from Jakub Kicinski.

    4) Missing *pos increments in various netfilter seq_next ops, from
    Vasily Averin.

    5) Missing break in of_mdiobus_register() loop, from Dajun Jin.

    6) Don't double bump tx_dropped in veth driver, from Jiang Lidong.

    7) Work around FMAN erratum A050385, from Madalin Bucur.

    8) Make sure ARP header is pulled early enough in bonding driver,
    from Eric Dumazet.

    9) Do a cond_resched() during multicast processing of ipvlan and
    macvlan, from Mahesh Bandewar.

    10) Don't attach cgroups to unrelated sockets when in interrupt
    context, from Shakeel Butt.

    11) Fix tpacket ring state management when encountering unknown GSO
    types. From Willem de Bruijn.

    12) Fix MDIO bus PHY resume by checking mdio_bus_phy_may_suspend()
    only in the suspend context. From Heiner Kallweit"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (112 commits)
    net: systemport: fix index check to avoid an array out of bounds access
    tc-testing: add ETS scheduler to tdc build configuration
    net: phy: fix MDIO bus PM PHY resuming
    net: hns3: clear port base VLAN when unload PF
    net: hns3: fix RMW issue for VLAN filter switch
    net: hns3: fix VF VLAN table entries inconsistent issue
    net: hns3: fix "tc qdisc del" failed issue
    taprio: Fix sending packets without dequeueing them
    net: mvmdio: avoid error message for optional IRQ
    net: dsa: mv88e6xxx: Add missing mask of ATU occupancy register
    net: memcg: fix lockdep splat in inet_csk_accept()
    s390/qeth: implement smarter resizing of the RX buffer pool
    s390/qeth: refactor buffer pool code
    s390/qeth: use page pointers to manage RX buffer pool
    seg6: fix SRv6 L2 tunnels to use IANA-assigned protocol number
    net: dsa: Don't instantiate phylink for CPU/DSA ports unless needed
    net/packet: tpacket_rcv: do not increment ring index on drop
    sxgbe: Fix off by one in samsung driver strncpy size arg
    net: caif: Add lockdep expression to RCU traversal primitive
    MAINTAINERS: remove Sathya Perla as Emulex NIC maintainer
    ...

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "A couple of fixes for old crap in ->atomic_open() instances"

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    cifs_atomic_open(): fix double-put on late allocation failure
    gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache

    Linus Torvalds
     
  • Send ETHTOOL_MSG_CHANNELS_NTF notification whenever channel counts of
    a network device are modified using ETHTOOL_MSG_CHANNELS_SET netlink
    message or ETHTOOL_SCHANNELS ioctl request.

    Signed-off-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement CHANNELS_SET netlink request to set channel counts of a network
    device. These are traditionally set with ETHTOOL_SCHANNELS ioctl request.

    Like the ioctl implementation, the generic ethtool code checks if supplied
    values do not exceed driver defined limits; if they do, first offending
    attribute is reported using extack. Checks preventing removing channels
    used for RX indirection table or zerocopy AF_XDP socket are also
    implemented.

    Move ethtool_get_max_rxfh_channel() helper into common.c so that it can be
    used by both ioctl and netlink code.

    v2:
    - fix netdev reference leak in error path (found by Jakub Kicinsky)

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement CHANNELS_GET request to get channel counts of a network device.
    These are traditionally available via ETHTOOL_GCHANNELS ioctl request.

    Omit attributes for channel types which are not supported by driver or
    device (zero reported for maximum).

    v2: (all suggested by Jakub Kicinski)
    - minor cleanup in channels_prepare_data()
    - more descriptive channels_reply_size()
    - omit attributes with zero max count

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Send ETHTOOL_MSG_RINGS_NTF notification whenever ring sizes of a network
    device are modified using ETHTOOL_MSG_RINGS_SET netlink message or
    ETHTOOL_SRINGPARAM ioctl request.

    Signed-off-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement RINGS_SET netlink request to set ring sizes of a network device.
    These are traditionally set with ETHTOOL_SRINGPARAM ioctl request.

    Like the ioctl implementation, the generic ethtool code checks if supplied
    values do not exceed driver defined limits; if they do, first offending
    attribute is reported using extack.

    v2:
    - fix netdev reference leak in error path (found by Jakub Kicinsky)

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement RINGS_GET request to get ring sizes of a network device. These
    are traditionally available via ETHTOOL_GRINGPARAM ioctl request.

    Omit attributes for ring types which are not supported by driver or device
    (zero reported for maximum).

    v2: (all suggested by Jakub Kicinski)
    - minor cleanup in rings_prepare_data()
    - more descriptive rings_reply_size()
    - omit attributes with zero max size

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement PRIVFLAGS_SET netlink request to set private flags of a network
    device. These are traditionally set with ETHTOOL_SPFLAGS ioctl request.

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement PRIVFLAGS_GET request to get private flags for a network device.
    These are traditionally available via ETHTOOL_GPFLAGS ioctl request.

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Send ETHTOOL_MSG_FEATURES_NTF notification whenever network device features
    are modified using ETHTOOL_MSG_FEATURES_SET netlink message, ethtool ioctl
    request or any other way resulting in call to netdev_update_features() or
    netdev_change_features()

    Signed-off-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement FEATURES_SET netlink request to set network device features.
    These are traditionally set using ETHTOOL_SFEATURES ioctl request.

    Actual change is subject to netdev_change_features() sanity checks so that
    it can differ from what was requested. Unlike with most other SET requests,
    in addition to error code and optional extack, kernel provides an optional
    reply message (ETHTOOL_MSG_FEATURES_SET_REPLY) in the same format but with
    different semantics: information about difference between user request and
    actual result and difference between old and new state of dev->features.
    This reply message can be suppressed by setting ETHTOOL_FLAG_OMIT_REPLY
    flag in request header.

    Signed-off-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • Implement FEATURES_GET request to get network device features. These are
    traditionally available via ETHTOOL_GFEATURES ioctl request.

    v2:
    - style cleanup suggested by Jakub Kicinski

    Signed-off-by: Michal Kubecek
    Reviewed-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Michal Kubecek
     
  • several iterations of ->atomic_open() calling conventions ago, we
    used to need fput() if ->atomic_open() failed at some point after
    successful finish_open(). Now (since 2016) it's not needed -
    struct file carries enough state to make fput() work regardless
    of the point in struct file lifecycle and discarding it on
    failure exits in open() got unified. Unfortunately, I'd missed
    the fact that we had an instance of ->atomic_open() (cifs one)
    that used to need that fput(), as well as the stale comment in
    finish_open() demanding such late failure handling. Trivially
    fixed...

    Fixes: fe9ec8291fca "do_last(): take fput() on error after opening to out:"
    Cc: stable@kernel.org # v4.7+
    Signed-off-by: Al Viro

    Al Viro
     
  • Commit aacd9289af8b82f5fb01bcdd53d0e3406d1333c7 ("tcp: bind() use stronger
    condition for bind_conflict") introduced a restriction to forbid to bind
    SO_REUSEADDR enabled sockets to the same (addr, port) tuple in order to
    assign ports dispersedly so that we can connect to the same remote host.

    The change results in accelerating port depletion so that we fail to bind
    sockets to the same local port even if we want to connect to the different
    remote hosts.

    You can reproduce this issue by following instructions below.

    1. # sysctl -w net.ipv4.ip_local_port_range="32768 32768"
    2. set SO_REUSEADDR to two sockets.
    3. bind two sockets to (localhost, 0) and the latter fails.

    Therefore, when ephemeral ports are exhausted, bind(0) should fallback to
    the legacy behaviour to enable the SO_REUSEADDR option and make it possible
    to connect to different remote (addr, port) tuples.

    This patch allows us to bind SO_REUSEADDR enabled sockets to the same
    (addr, port) only when net.ipv4.ip_autobind_reuse is set 1 and all
    ephemeral ports are exhausted. This also allows connect() and listen() to
    share ports in the following way and may break some applications. So the
    ip_autobind_reuse is 0 by default and disables the feature.

    1. setsockopt(sk1, SO_REUSEADDR)
    2. setsockopt(sk2, SO_REUSEADDR)
    3. bind(sk1, saddr, 0)
    4. bind(sk2, saddr, 0)
    5. connect(sk1, daddr)
    6. listen(sk2)

    If it is set 1, we can fully utilize the 4-tuples, but we should use
    IP_BIND_ADDRESS_NO_PORT for bind()+connect() as possible.

    The notable thing is that if all sockets bound to the same port have
    both SO_REUSEADDR and SO_REUSEPORT enabled, we can bind sockets to an
    ephemeral port and also do listen().

    Signed-off-by: Kuniyuki Iwashima
    Signed-off-by: David S. Miller

    Kuniyuki Iwashima
     

12 Mar, 2020

1 commit

  • The definitions for the "qcom,smem-states" and "qcom,smem-state-names"
    properties need to list their "$ref" under an "allOf" keyword.

    In addition, fix two problems in the example at the end:
    - Use #include for header files that define needed symbolic values
    - Terminate the line that includes the "ipa-shared" register space
    name with a comma rather than a semicolon

    Finally, update some white space in the example for better alignment.

    Signed-off-by: Alex Elder
    Signed-off-by: David S. Miller

    Alex Elder
     

10 Mar, 2020

1 commit


09 Mar, 2020

2 commits

  • Add the binding definitions for the "qcom,ipa" device tree node.

    Signed-off-by: Alex Elder
    Reviewed-by: Rob Herring
    Signed-off-by: David S. Miller

    Alex Elder
     
  • Pull ARM SoC fixes from Olof Johansson:
    "We've been accruing these for a couple of weeks, so the batch is a bit
    bigger than usual.

    Largest delta is due to a led-bl driver that is added -- there was a
    miscommunication before the merge window and the driver didn't make it
    in. Due to this, the platforms needing it regressed. At this point, it
    seemed easier to add the new driver than unwind the changes.

    Besides that, there are a handful of various fixes:

    - AMD tee memory leak fix

    - A handful of fixlets for i.MX SCU communication

    - A few maintainers woke up and realized DEBUG_FS had been missing
    for a while, so a few updates of that.

    ... and the usual collection of smaller fixes to various platforms"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (37 commits)
    ARM: socfpga_defconfig: Add back DEBUG_FS
    arm64: dts: socfpga: agilex: Fix gmac compatible
    ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS
    arm64: dts: meson: fix gxm-khadas-vim2 wifi
    arm64: dts: meson-sm1-sei610: add missing interrupt-names
    ARM: meson: Drop unneeded select of COMMON_CLK
    ARM: dts: bcm2711: Add pcie0 alias
    ARM: dts: bcm283x: Add missing properties to the PWR LED
    tee: amdtee: fix memory leak in amdtee_open_session()
    ARM: OMAP2+: Fix compile if CONFIG_HAVE_ARM_SMCCC is not set
    arm: dts: dra76x: Fix mmc3 max-frequency
    ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
    bus: ti-sysc: Fix 1-wire reset quirk
    ARM: dts: r8a7779: Remove deprecated "renesas, rcar-sata" compatible value
    soc: imx-scu: Align imx sc msg structs to 4
    firmware: imx: Align imx_sc_msg_req_cpu_start to 4
    firmware: imx: scu-pd: Align imx sc msg structs to 4
    firmware: imx: misc: Align imx sc msg structs to 4
    firmware: imx: scu: Ensure sequential TX
    ARM: dts: imx7-colibri: Fix frequency for sd/mmc
    ...

    Linus Torvalds
     

08 Mar, 2020

1 commit

  • Pull driver core and debugfs fixes from Greg KH:
    "Here are four small driver core / debugfs patches for 5.6-rc3:

    - debugfs api cleanup now that all debugfs_create_regset32() callers
    have been fixed up. This was waiting until after the -rc1 merge as
    these fixes came in through different trees

    - driver core sync state fixes based on reports of minor issues found
    in the feature

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

    * tag 'driver-core-5.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    driver core: Skip unnecessary work when device doesn't have sync_state()
    driver core: Add dev_has_sync_state()
    driver core: Call sync_state() even if supplier has no consumers
    debugfs: remove return value of debugfs_create_regset32()

    Linus Torvalds