1. 11 Mar, 2023 15 commits
  2. 10 Mar, 2023 12 commits
  3. 09 Mar, 2023 13 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 44889ba5
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from netfilter and bpf.
      
        Current release - regressions:
      
         - core: avoid skb end_offset change in __skb_unclone_keeptruesize()
      
         - sched:
            - act_connmark: handle errno on tcf_idr_check_alloc
            - flower: fix fl_change() error recovery path
      
         - ieee802154: prevent user from crashing the host
      
        Current release - new code bugs:
      
         - eth: bnxt_en: fix the double free during device removal
      
         - tools: ynl:
            - fix enum-as-flags in the generic CLI
            - fully inherit attrs in subsets
            - re-license uniformly under GPL-2.0 or BSD-3-clause
      
        Previous releases - regressions:
      
         - core: use indirect calls helpers for sk_exit_memory_pressure()
      
         - tls:
            - fix return value for async crypto
            - avoid hanging tasks on the tx_lock
      
         - eth: ice: copy last block omitted in ice_get_module_eeprom()
      
        Previous releases - always broken:
      
         - core: avoid double iput when sock_alloc_file fails
      
         - af_unix: fix struct pid leaks in OOB support
      
         - tls:
            - fix possible race condition
            - fix device-offloaded sendpage straddling records
      
         - bpf:
            - sockmap: fix an infinite loop error
            - test_run: fix &xdp_frame misplacement for LIVE_FRAMES
            - fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTR
      
         - netfilter: tproxy: fix deadlock due to missing BH disable
      
         - phylib: get rid of unnecessary locking
      
         - eth: bgmac: fix *initial* chip reset to support BCM5358
      
         - eth: nfp: fix csum for ipsec offload
      
         - eth: mtk_eth_soc: fix RX data corruption issue
      
        Misc:
      
         - usb: qmi_wwan: add telit 0x1080 composition"
      
      * tag 'net-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (64 commits)
        tools: ynl: fix enum-as-flags in the generic CLI
        tools: ynl: move the enum classes to shared code
        net: avoid double iput when sock_alloc_file fails
        af_unix: fix struct pid leaks in OOB support
        eth: fealnx: bring back this old driver
        net: dsa: mt7530: permit port 5 to work without port 6 on MT7621 SoC
        net: microchip: sparx5: fix deletion of existing DSCP mappings
        octeontx2-af: Unlock contexts in the queue context cache in case of fault detection
        net/smc: fix fallback failed while sendmsg with fastopen
        ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause
        mailmap: update entries for Stephen Hemminger
        mailmap: add entry for Maxim Mikityanskiy
        nfc: change order inside nfc_se_io error path
        ethernet: ice: avoid gcc-9 integer overflow warning
        ice: don't ignore return codes in VSI related code
        ice: Fix DSCP PFC TLV creation
        net: usb: qmi_wwan: add Telit 0x1080 composition
        net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
        netfilter: conntrack: adopt safer max chain length
        net: tls: fix device-offloaded sendpage straddling records
        ...
      44889ba5
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023030901' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 2653e3fe
      Linus Torvalds authored
      Pull HID fixes from Benjamin Tissoires:
      
       - fix potential out of bound write of zeroes in HID core with a
         specially crafted uhid device (Lee Jones)
      
       - fix potential use-after-free in work function in intel-ish-hid (Reka
         Norman)
      
       - selftests config fixes (Benjamin Tissoires)
      
       - few device small fixes and support
      
      * tag 'for-linus-2023030901' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: intel-ish-hid: ipc: Fix potential use-after-free in work function
        HID: logitech-hidpp: Add support for Logitech MX Master 3S mouse
        HID: cp2112: Fix driver not registering GPIO IRQ chip as threaded
        selftest: hid: fix hid_bpf not set in config
        HID: uhid: Over-ride the default maximum data buffer value with our own
        HID: core: Provide new max_buffer_size attribute to over-ride the default
      2653e3fe
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · c70e9b8e
      Linus Torvalds authored
      Pull m68k fixes from Geert Uytterhoeven:
      
       - Fix systems with memory at end of 32-bit address space
      
       - Fix initrd on systems where memory does not start at address zero
      
       - Fix 68030 handling of bus errors for addresses in exception tables
      
      * tag 'm68k-for-v6.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Only force 030 bus error if PC not in exception table
        m68k: mm: Move initrd phys_to_virt handling after paging_init()
        m68k: mm: Fix systems with memory at end of 32-bit address space
      c70e9b8e
    • Al Viro's avatar
      sh: sanitize the flags on sigreturn · 573b22cc
      Al Viro authored
      We fetch %SR value from sigframe; it might have been modified by signal
      handler, so we can't trust it with any bits that are not modifiable in
      user mode.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Rich Felker <dalias@libc.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      573b22cc
    • Paolo Abeni's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · 67eeadf2
      Paolo Abeni authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2023-03-07 (ice)
      
      This series contains updates to ice driver only.
      
      Dave removes masking from pfcena field as it was incorrectly preventing
      valid traffic classes from being enabled.
      
      Michal resolves various smatch issues such as not propagating error
      codes and returning 0 explicitly.
      
      Arnd Bergmann resolves gcc-9 warning for integer overflow.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        ethernet: ice: avoid gcc-9 integer overflow warning
        ice: don't ignore return codes in VSI related code
        ice: Fix DSCP PFC TLV creation
      ====================
      
      Link: https://lore.kernel.org/r/20230307220714.3997294-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      67eeadf2
    • Paolo Abeni's avatar
      Merge branch 'sctp-add-another-two-stream-schedulers' · db47fa2e
      Paolo Abeni authored
      Xin Long says:
      
      ====================
      sctp: add another two stream schedulers
      
      All SCTP stream schedulers are defined in rfc8260#section-3,
      First-Come First-Served, Round-Robin and Priority-Based
      Schedulers are already added in kernel.
      
      This patchset adds another two schedulers: Fair Capacity
      Scheduler and Weighted Fair Queueing Scheduler.
      
      Note that the left one "Round-Robin Scheduler per Packet"
      Scheduler is not implemented by this patch, as it's still
      intrusive to be added in the current SCTP kernel code.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1678224012.git.lucien.xin@gmail.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      db47fa2e
    • Xin Long's avatar
      sctp: add weighted fair queueing stream scheduler · 42d452e7
      Xin Long authored
      As it says in rfc8260#section-3.6 about the weighted fair queueing
      scheduler:
      
         A Weighted Fair Queueing scheduler between the streams is used.  The
         weight is configurable per outgoing SCTP stream.  This scheduler
         considers the lengths of the messages of each stream and schedules
         them in a specific way to use the capacity according to the given
         weights.  If the weight of stream S1 is n times the weight of stream
         S2, the scheduler should assign to stream S1 n times the capacity it
         assigns to stream S2.  The details are implementation dependent.
         Interleaving user messages allows for a better realization of the
         capacity usage according to the given weights.
      
      This patch adds Weighted Fair Queueing Scheduler actually based on
      the code of Fair Capacity Scheduler by adding fc_weight into struct
      sctp_stream_out_ext and taking it into account when sorting stream->
      fc_list in sctp_sched_fc_sched() and sctp_sched_fc_dequeue_done().
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      42d452e7
    • Xin Long's avatar
      sctp: add fair capacity stream scheduler · 4821a076
      Xin Long authored
      As it says in rfc8260#section-3.5 about the fair capacity scheduler:
      
         A fair capacity distribution between the streams is used.  This
         scheduler considers the lengths of the messages of each stream and
         schedules them in a specific way to maintain an equal capacity for
         all streams.  The details are implementation dependent.  interleaving
         user messages allows for a better realization of the fair capacity
         usage.
      
      This patch adds Fair Capacity Scheduler based on the foundations added
      by commit 5bbbbe32 ("sctp: introduce stream scheduler foundations"):
      
      A fc_list and a fc_length are added into struct sctp_stream_out_ext and
      a fc_list is added into struct sctp_stream. In .enqueue, when there are
      chunks enqueued into a stream, this stream will be linked into stream->
      fc_list by its fc_list ordered by its fc_length. In .dequeue, it always
      picks up the 1st skb from stream->fc_list. In .dequeue_done, fc_length
      is increased by chunk's len and update its location in stream->fc_list
      according to the its new fc_length.
      
      Note that when the new fc_length overflows in .dequeue_done, instead of
      resetting all fc_lengths to 0, we only reduced them by U32_MAX / 4 to
      avoid a moment of imbalance in the scheduling, as Marcelo suggested.
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      4821a076
    • Paolo Abeni's avatar
      Merge branch 'various-mtk_eth_soc-cleanups' · 46ca833c
      Paolo Abeni authored
      Russell King says:
      
      ====================
      Various mtk_eth_soc cleanups
      
      Here are a number of patches that do a bit of cleanup to mtk_eth_soc.
      
      The first patch cleans up mtk_gmac0_rgmii_adjust(), which is the
      troublesome function preventing the driver becoming a post-March2020
      phylink driver. It doesn't solve that problem, merely makes the code
      easier to follow by getting rid of repeated tenary operators.
      
      The second patch moves the check for DDR2 memory to the initialisation
      of phylink's supported_interfaces - if TRGMII is not possible for some
      reason, we should not be erroring out in phylink MAC operations when
      that can be determined prior to phylink creation.
      
      The third patch removes checks from mtk_mac_config() that are done
      when initialising supported_interfaces - phylink will not call
      mtk_mac_config() with an interface that was not marked as supported,
      so these checks are redundant.
      
      The last patch removes the remaining vestiges of REVMII and RMII
      support, which appears to be entirely unused.
      
      These shouldn't conflict with Daniel's patch set, but if they do I
      will rework as appropriate.
      ====================
      
      Link: https://lore.kernel.org/r/ZAdj9qUXcHUsK7Gt@shell.armlinux.org.ukSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      46ca833c
    • Russell King (Oracle)'s avatar
      net: mtk_eth_soc: remove support for RMII and REVMII modes · 8cd9de08
      Russell King (Oracle) authored
      Since the conversion of mtk_eth_soc to phylink's supported_interfaces
      bitmap, these two modes have not been selectable. No one has raised
      this as an issue. Checking the in-kernel DT files, none of them use
      either of these modes with this hardware.
      
      Daniel Golle concurs:
      
       A quick grep through the device trees of the more than 650 ramips and
       mediatek boards we support in OpenWrt has revealed that *none* of them
       uses either reduced-MII or reverse-MII PHY modes. I could imaging that
       some more specialized ramips boards may use the RMII 100M PHY mode to
       connect with exotic PHYs for industrial or automotive applications
       (think: for 100BASE-T1 PHY connected via RMII). I have never seen or
       touched such boards, but there are hints that they do exist.
      
       For reverse-MII there are cases in which the Ralink SoC (Rt305x, for
       example) is used in iNIC mode, ie. connected as a PHY to another SoC,
       and running only a minimal firmware rather than running Linux. Due to
       the lack of external DRAM for the Ralink SoC on this kind of boards,
       the Ralink SoC there will anyway never be able to boot Linux.
       I've seen this e.g. in multimedia devices like early WiFi-connected
       not-yet-so-smart TVs.
      
      Consequently, the conclusion is that no one uses these modes with this
      hardware, so we might as well drop support for them.
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      8cd9de08
    • Russell King (Oracle)'s avatar
      net: mtk_eth_soc: remove unnecessary checks in mtk_mac_config() · c9f9e3a3
      Russell King (Oracle) authored
      mtk_mac_config() checks that the interface mode is permitted for the
      capabilities, but we already do these checks in mtk_add_mac() when
      initialising phylink's supported_interfaces bitmap. Remove the
      unnecessary tests.
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      c9f9e3a3
    • Russell King (Oracle)'s avatar
      net: mtk_eth_soc: move trgmii ddr2 check to probe function · 7910898e
      Russell King (Oracle) authored
      If TRGMII mode is not permitted when using DDR2 mode, we should handle
      that when setting up phylink's ->supported_interfaces so phylink knows
      that this is not supported by the hardware. Move this check to
      mtk_add_mac().
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      7910898e
    • Russell King (Oracle)'s avatar
      net: mtk_eth_soc: tidy mtk_gmac0_rgmii_adjust() · 04eb3d1c
      Russell King (Oracle) authored
      Get rid of the multiple tenary operators in mtk_gmac0_rgmii_adjust()
      replacing them with a single if(), thus making the code easier to read.
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      04eb3d1c