1. 22 Jul, 2022 31 commits
  2. 21 Jul, 2022 9 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 6e0e846e
      Jakub Kicinski authored
      No conflicts.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6e0e846e
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 7ca433dc
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from can.
      
        Still no major regressions, most of the changes are still due to data
        races fixes, plus the usual bunch of drivers fixes.
      
        Previous releases - regressions:
      
         - tcp/udp: make early_demux back namespacified.
      
         - dsa: fix issues with vlan_filtering_is_global
      
        Previous releases - always broken:
      
         - ip: fix data-races around ipv4_net_table (round 2, 3 & 4)
      
         - amt: fix validation and synchronization bugs
      
         - can: fix detection of mcp251863
      
         - eth: iavf: fix handling of dummy receive descriptors
      
         - eth: lan966x: fix issues with MAC table
      
         - eth: stmmac: dwmac-mediatek: fix clock issue
      
        Misc:
      
         - dsa: update documentation"
      
      * tag 'net-5.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (107 commits)
        mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication
        net/sched: cls_api: Fix flow action initialization
        tcp: Fix data-races around sysctl_tcp_max_reordering.
        tcp: Fix a data-race around sysctl_tcp_abort_on_overflow.
        tcp: Fix a data-race around sysctl_tcp_rfc1337.
        tcp: Fix a data-race around sysctl_tcp_stdurg.
        tcp: Fix a data-race around sysctl_tcp_retrans_collapse.
        tcp: Fix data-races around sysctl_tcp_slow_start_after_idle.
        tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts.
        tcp: Fix data-races around sysctl_tcp_recovery.
        tcp: Fix a data-race around sysctl_tcp_early_retrans.
        tcp: Fix data-races around sysctl knobs related to SYN option.
        udp: Fix a data-race around sysctl_udp_l3mdev_accept.
        ip: Fix data-races around sysctl_ip_prot_sock.
        ipv4: Fix data-races around sysctl_fib_multipath_hash_fields.
        ipv4: Fix data-races around sysctl_fib_multipath_hash_policy.
        ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh.
        can: rcar_canfd: Add missing of_node_put() in rcar_canfd_probe()
        can: mcp251xfd: fix detection of mcp251863
        Documentation: fix udp_wmem_min in ip-sysctl.rst
        ...
      7ca433dc
    • Peter Zijlstra's avatar
      mmu_gather: Force tlb-flush VM_PFNMAP vmas · b67fbebd
      Peter Zijlstra authored
      Jann reported a race between munmap() and unmap_mapping_range(), where
      unmap_mapping_range() will no-op once unmap_vmas() has unlinked the
      VMA; however munmap() will not yet have invalidated the TLBs.
      
      Therefore unmap_mapping_range() will complete while there are still
      (stale) TLB entries for the specified range.
      
      Mitigate this by force flushing TLBs for VM_PFNMAP ranges.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b67fbebd
    • Peter Zijlstra's avatar
      mmu_gather: Let there be one tlb_{start,end}_vma() implementation · 18ba064e
      Peter Zijlstra authored
      Now that architectures are no longer allowed to override
      tlb_{start,end}_vma() re-arrange code so that there is only one
      implementation for each of these functions.
      
      This much simplifies trying to figure out what they actually do.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18ba064e
    • Peter Zijlstra's avatar
      csky/tlb: Remove tlb_flush() define · 1d7708e7
      Peter Zijlstra authored
      The previous patch removed the tlb_flush_end() implementation which
      used tlb_flush_range(). This means:
      
       - csky did double invalidates, a range invalidate per vma and a full
         invalidate at the end
      
       - csky actually has range invalidates and as such the generic
         tlb_flush implementation is more efficient for it.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Tested-by: default avatarGuo Ren <guoren@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d7708e7
    • Peter Zijlstra's avatar
      mmu_gather: Remove per arch tlb_{start,end}_vma() · 1e9fdf21
      Peter Zijlstra authored
      Scattered across the archs are 3 basic forms of tlb_{start,end}_vma().
      Provide two new MMU_GATHER_knobs to enumerate them and remove the per
      arch tlb_{start,end}_vma() implementations.
      
       - MMU_GATHER_NO_FLUSH_CACHE indicates the arch has flush_cache_range()
         but does *NOT* want to call it for each VMA.
      
       - MMU_GATHER_MERGE_VMAS indicates the arch wants to merge the
         invalidate across multiple VMAs if possible.
      
      With these it is possible to capture the three forms:
      
        1) empty stubs;
           select MMU_GATHER_NO_FLUSH_CACHE and MMU_GATHER_MERGE_VMAS
      
        2) start: flush_cache_range(), end: empty;
           select MMU_GATHER_MERGE_VMAS
      
        3) start: flush_cache_range(), end: flush_tlb_range();
           default
      
      Obviously, if the architecture does not have flush_cache_range() then
      it also doesn't need to select MMU_GATHER_NO_FLUSH_CACHE.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1e9fdf21
    • Khalid Masum's avatar
      scripts/gdb: Fix gdb 'lx-symbols' command · 23a67619
      Khalid Masum authored
      Currently the command 'lx-symbols' in gdb exits with the error`Function
      "do_init_module" not defined in "kernel/module.c"`. This occurs because
      the file kernel/module.c was moved to kernel/module/main.c.
      
      Fix this breakage by changing the path to "kernel/module/main.c" in
      LoadModuleBreakpoint.
      Signed-off-by: default avatarKhalid Masum <khalid.masum.92@gmail.com>
      Acked-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Fixes: cfc1d277 ("module: Move all into module/")
      Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      23a67619
    • Linus Torvalds's avatar
      watch-queue: remove spurious double semicolon · 44e29e64
      Linus Torvalds authored
      Sedat Dilek noticed that I had an extraneous semicolon at the end of a
      line in the previous patch.
      
      It's harmless, but unintentional, and while compilers just treat it as
      an extra empty statement, for all I know some other tooling might warn
      about it. So clean it up before other people notice too ;)
      
      Fixes: 353f7988 ("watchqueue: make sure to serialize 'wqueue->defunct' properly")
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      44e29e64
    • Łukasz Spintzyk's avatar
      net/cdc_ncm: Increase NTB max RX/TX values to 64kb · 5588d628
      Łukasz Spintzyk authored
      DisplayLink ethernet devices require NTB buffers larger then 32kb
      in order to run with highest performance.
      
      This patch is changing upper limit of the rx and tx buffers.
      Those buffers are initialized with CDC_NCM_NTB_DEF_SIZE_RX and
      CDC_NCM_NTB_DEF_SIZE_TX which is 16kb so by default no device is
      affected by increased limit.
      
      Rx and tx buffer is increased under two conditions:
       - Device need to advertise that it supports higher buffer size in
         dwNtbMaxInMaxSize and dwNtbMaxOutMaxSize.
       - cdc_ncm/rx_max and cdc_ncm/tx_max driver parameters must be adjusted
         with udev rule or ethtool.
      
      Summary of testing and performance results:
      Tests were performed on following devices:
       - DisplayLink DL-3xxx family device
       - DisplayLink DL-6xxx family device
       - ASUS USB-C2500 2.5G USB3 ethernet adapter
       - Plugable USB3 1G USB3 ethernet adapter
       - EDIMAX EU-4307 USB-C ethernet adapter
       - Dell DBQBCBC064 USB-C ethernet adapter
      
      Performance measurements were done with:
       - iperf3 between two linux boxes
       - http://openspeedtest.com/ instance running on local test machine
      
      Insights from tests results:
       - All except one from third party usb adapters were not affected by
         increased buffer size to their advertised dwNtbOutMaxSize and
         dwNtbInMaxSize.
         Devices were generally reaching 912-940Mbps both download and upload.
      
         Only EDIMAX adapter experienced decreased download size from
         929Mbps to 827Mbps with iper3, with openspeedtest decrease was from
         968Mbps to 886Mbps.
      
       - DisplayLink DL-3xxx family devices experienced performance increase
         with iperf3 download from 300Mbps to 870Mbps and
         upload from 782Mbps to 844Mbps.
         With openspeedtest download increased from 556Mbps to 873Mbps
         and upload from 727Mbps to 973Mbps
      
       - DiplayLink DL-6xxx family devices are not affected by
         increased buffer size.
      Signed-off-by: default avatarŁukasz Spintzyk <lukasz.spintzyk@synaptics.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Link: https://lore.kernel.org/r/20220720060518.541-2-lukasz.spintzyk@synaptics.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      5588d628