1. 28 7月, 2020 1 次提交
  2. 25 7月, 2020 2 次提交
    • X
      drivers/net/wan: lapb: Corrected the usage of skb_cow · 8754e137
      Xie He 提交于
      This patch fixed 2 issues with the usage of skb_cow in LAPB drivers
      "lapbether" and "hdlc_x25":
      
      1) After skb_cow fails, kfree_skb should be called to drop a reference
      to the skb. But in both drivers, kfree_skb is not called.
      
      2) skb_cow should be called before skb_push so that is can ensure the
      safety of skb_push. But in "lapbether", it is incorrectly called after
      skb_push.
      
      More details about these 2 issues:
      
      1) The behavior of calling kfree_skb on failure is also the behavior of
      netif_rx, which is called by this function with "return netif_rx(skb);".
      So this function should follow this behavior, too.
      
      2) In "lapbether", skb_cow is called after skb_push. This results in 2
      logical issues:
         a) skb_push is not protected by skb_cow;
         b) An extra headroom of 1 byte is ensured after skb_push. This extra
            headroom has no use in this function. It also has no use in the
            upper-layer function that this function passes the skb to
            (x25_lapb_receive_frame in net/x25/x25_dev.c).
      So logically skb_cow should instead be called before skb_push.
      
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Martin Schiller <ms@dev.tdt.de>
      Signed-off-by: NXie He <xie.he.0141@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8754e137
    • A
      xen-netfront: fix potential deadlock in xennet_remove() · c2c63310
      Andrea Righi 提交于
      There's a potential race in xennet_remove(); this is what the driver is
      doing upon unregistering a network device:
      
        1. state = read bus state
        2. if state is not "Closed":
        3.    request to set state to "Closing"
        4.    wait for state to be set to "Closing"
        5.    request to set state to "Closed"
        6.    wait for state to be set to "Closed"
      
      If the state changes to "Closed" immediately after step 1 we are stuck
      forever in step 4, because the state will never go back from "Closed" to
      "Closing".
      
      Make sure to check also for state == "Closed" in step 4 to prevent the
      deadlock.
      
      Also add a 5 sec timeout any time we wait for the bus state to change,
      to avoid getting stuck forever in wait_event().
      Signed-off-by: NAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c2c63310
  3. 24 7月, 2020 2 次提交
  4. 23 7月, 2020 3 次提交
    • N
      cxgb4: add missing release on skb in uld_send() · e6827d1a
      Navid Emamdoost 提交于
      In the implementation of uld_send(), the skb is consumed on all
      execution paths except one. Release skb when returning NET_XMIT_DROP.
      Signed-off-by: NNavid Emamdoost <navid.emamdoost@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e6827d1a
    • E
      net: atlantic: fix PTP on AQC10X · 901f3cc1
      Egor Pomozov 提交于
      This patch fixes PTP on AQC10X.
      PTP support on AQC10X requires FW involvement and FW configures the
      TPS data arb mode itself.
      So we must make sure driver doesn't touch TPS data arb mode on AQC10x
      if PTP is enabled. Otherwise, there are no timestamps even though
      packets are flowing.
      
      Fixes: 2deac71a ("net: atlantic: QoS implementation: min_rate")
      Signed-off-by: NEgor Pomozov <epomozov@marvell.com>
      Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com>
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      901f3cc1
    • C
      enetc: Remove the mdio bus on PF probe bailout · 26cb7085
      Claudiu Manoil 提交于
      For ENETC ports that register an external MDIO bus,
      the bus doesn't get removed on the error bailout path
      of enetc_pf_probe().
      
      This issue became much more visible after recent:
      commit 07095c02 ("net: enetc: Use DT protocol information to set up the ports")
      Before this commit, one could make probing fail on the error
      path only by having register_netdev() fail, which is unlikely.
      But after this commit, because it moved the enetc_of_phy_get()
      call up in the probing sequence, now we can trigger an mdiobus_free()
      bug just by forcing enetc_alloc_msix() to return error, i.e. with the
      'pci=nomsi' kernel bootarg (since ENETC relies on MSI support to work),
      as the calltrace below shows:
      
      kernel BUG at /home/eiz/work/enetc/net/drivers/net/phy/mdio_bus.c:648!
      Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
      [...]
      Hardware name: LS1028A RDB Board (DT)
      pstate: 80000005 (Nzcv daif -PAN -UAO BTYPE=--)
      pc : mdiobus_free+0x50/0x58
      lr : devm_mdiobus_free+0x14/0x20
      [...]
      Call trace:
       mdiobus_free+0x50/0x58
       devm_mdiobus_free+0x14/0x20
       release_nodes+0x138/0x228
       devres_release_all+0x38/0x60
       really_probe+0x1c8/0x368
       driver_probe_device+0x5c/0xc0
       device_driver_attach+0x74/0x80
       __driver_attach+0x8c/0xd8
       bus_for_each_dev+0x7c/0xd8
       driver_attach+0x24/0x30
       bus_add_driver+0x154/0x200
       driver_register+0x64/0x120
       __pci_register_driver+0x44/0x50
       enetc_pf_driver_init+0x24/0x30
       do_one_initcall+0x60/0x1c0
       kernel_init_freeable+0x1fc/0x274
       kernel_init+0x14/0x110
       ret_from_fork+0x10/0x34
      
      Fixes: ebfcb23d ("enetc: Add ENETC PF level external MDIO support")
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      26cb7085
  5. 22 7月, 2020 12 次提交
  6. 21 7月, 2020 14 次提交
    • B
      net: neterion: vxge: reduce stack usage in VXGE_COMPLETE_VPATH_TX · db44c60c
      Bixuan Cui 提交于
      Fix the warning: [-Werror=-Wframe-larger-than=]
      
      drivers/net/ethernet/neterion/vxge/vxge-main.c:
      In function'VXGE_COMPLETE_VPATH_TX.isra.37':
      drivers/net/ethernet/neterion/vxge/vxge-main.c:119:1:
      warning: the frame size of 1056 bytes is larger than 1024 bytes
      
      Dropping the NR_SKB_COMPLETED to 16 is appropriate that won't
      have much impact on performance and functionality.
      Signed-off-by: NBixuan Cui <cuibixuan@huawei.com>
      Signed-off-by: NStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db44c60c
    • H
      net: ag71xx: add missed clk_disable_unprepare in error path of probe · befc113c
      Huang Guobin 提交于
      The ag71xx_mdio_probe() forgets to call clk_disable_unprepare() when
      of_reset_control_get_exclusive() failed. Add the missed call to fix it.
      
      Fixes: d51b6ce4 ("net: ethernet: add ag71xx driver")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: NHuang Guobin <huangguobin4@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      befc113c
    • S
      ionic: use mutex to protect queue operations · 0925e9db
      Shannon Nelson 提交于
      The ionic_wait_on_bit_lock() was a open-coded mutex knock-off
      used only for protecting the queue reset operations, and there
      was no reason not to use the real thing.  We can use the lock
      more correctly and to better protect the queue stop and start
      operations from cross threading.  We can also remove a useless
      and expensive bit operation from the Rx path.
      
      This fixes a case found where the link_status_check from a link
      flap could run into an MTU change and cause a crash.
      
      Fixes: beead698 ("ionic: Add the basic NDO callbacks for netdev support")
      Signed-off-by: NShannon Nelson <snelson@pensando.io>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0925e9db
    • S
      ionic: keep rss hash after fw update · bdff4666
      Shannon Nelson 提交于
      Make sure the RSS hash key is kept across a fw update by not
      de-initing it when an update is happening.
      
      Fixes: c672412f ("ionic: remove lifs on fw reset")
      Signed-off-by: NShannon Nelson <snelson@pensando.io>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bdff4666
    • S
      ionic: update filter id after replay · cc4428c4
      Shannon Nelson 提交于
      When we replay the rx filters after a fw-upgrade we get new
      filter_id values from the FW, which we need to save and update
      in our local filter list.  This allows us to delete the filters
      with the correct filter_id when we're done.
      
      Fixes: 7e4d4759 ("ionic: replay filters after fw upgrade")
      Signed-off-by: NShannon Nelson <snelson@pensando.io>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cc4428c4
    • S
      ionic: fix up filter locks and debug msgs · cbec2153
      Shannon Nelson 提交于
      Add in a couple of forgotten spinlocks and fix up some of
      the debug messages around filter management.
      
      Fixes: c1e329eb ("ionic: Add management of rx filters")
      Signed-off-by: NShannon Nelson <snelson@pensando.io>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cbec2153
    • S
      ionic: use offset for ethtool regs data · f85ae16f
      Shannon Nelson 提交于
      Use an offset to write the second half of the regs data into the
      second half of the buffer instead of overwriting the first half.
      
      Fixes: 4d03e00a ("ionic: Add initial ethtool support")
      Signed-off-by: NShannon Nelson <snelson@pensando.io>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f85ae16f
    • L
      mlxsw: destroy workqueue when trap_register in mlxsw_emad_init · 5dbaeb87
      Liu Jian 提交于
      When mlxsw_core_trap_register fails in mlxsw_emad_init,
      destroy_workqueue() shouled be called to destroy mlxsw_core->emad_wq.
      
      Fixes: d965465b ("mlxsw: core: Fix possible deadlock")
      Signed-off-by: NLiu Jian <liujian56@huawei.com>
      Reviewed-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5dbaeb87
    • L
      dpaa_eth: Fix one possible memleak in dpaa_eth_probe · 6790711f
      Liu Jian 提交于
      When dma_coerce_mask_and_coherent() fails, the alloced netdev need to be freed.
      
      Fixes: 060ad66f ("dpaa_eth: change DMA device")
      Signed-off-by: NLiu Jian <liujian56@huawei.com>
      Acked-by: NMadalin Bucur <madalin.bucur@oss.nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6790711f
    • Z
      net: bcmgenet: add missed clk_disable_unprepare in bcmgenet_probe · 53a92889
      Zhang Changzhong 提交于
      The driver forgets to call clk_disable_unprepare() in error path after
      a success calling for clk_prepare_enable().
      
      Fix to goto err_clk_disable if clk_prepare_enable() is successful.
      
      Fixes: c80d36ff ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks")
      Signed-off-by: NZhang Changzhong <zhangchangzhong@huawei.com>
      Acked-by: NDoug Berger <opendmb@gmail.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53a92889
    • Z
      net: bcmgenet: fix error returns in bcmgenet_probe() · 24a63fe6
      Zhang Changzhong 提交于
      The driver forgets to call clk_disable_unprepare() in error path after
      a success calling for clk_prepare_enable().
      
      Fix to goto err_clk_disable if clk_prepare_enable() is successful.
      
      Fixes: 99d55638 ("net: bcmgenet: enable NETIF_F_HIGHDMA flag")
      Signed-off-by: NZhang Changzhong <zhangchangzhong@huawei.com>
      Acked-by: NDoug Berger <opendmb@gmail.com>
      Acked-by: NFlorian fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24a63fe6
    • H
      ath10k: Fix NULL pointer dereference in AHB device probe · 1cfd3426
      Hauke Mehrtens 提交于
      This fixes a NULL pointer dereference in the probe path for AHB devices.
      There attr parameter in the ath10k_ce_alloc_pipe() function is not
      initialized, but accessed. This function is called by
      ath10k_pci_setup_resource() which is called by ath10k_ahb_probe().
      
      The struct ath10k_pci is also used for AHB devices and not only for PCI
      devices.
      
      The initialization of the new members of struct ath10k_pci is moved to
      ath10k_pci_setup_resource() which is used by the PCI and the AHB code.
      
      This also fixes a use after free bug in ath10k_pci_remove() when ar_pci
      is accessed after ath10k_core_destroy() was called, which calls
      ieee80211_free_hw() and frees this memory.
      
      This fixes the following bug seen with backports-5.8-rc2 on OpenWrt on a
      IPQ4019 device:
      
      [   11.117462] 8<--- cut here ---
      [   11.117494] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [   11.119510] pgd = f377fd58
      [   11.127657] [00000000] *pgd=8e9a0835, *pte=00000000, *ppte=00000000
      [   11.130206] Internal error: Oops: 17 [#1] SMP ARM
      [   11.136339] Modules linked in: ath10k_pci(+) ath10k_core ath xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD pppox ppp_generic nf_nat nf_flow_table_hw nf_flow_table nf_conntrack_rtcache nf_conntrack mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG slhc nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables crc_ccitt compat nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom gpio_button_hotplug
      [   11.174355] CPU: 2 PID: 257 Comm: kmodloader Not tainted 5.4.51 #0
      [   11.196585] Hardware name: Generic DT based system
      [   11.202746] PC is at ath10k_ce_alloc_pipe+0x58/0x180 [ath10k_core]
      [   11.207459] LR is at ath10k_pci_alloc_pipes+0x94/0xc8 [ath10k_pci]
      [   11.213600] pc : [<bf2c96cc>]    lr : [<bf2fbf98>]    psr: 80000013
      [   11.219760] sp : cea0dc90  ip : cf4001f0  fp : 00000001
      [   11.225923] r10: 00000000  r9 : 00000018  r8 : ce4963b4
      [   11.231133] r7 : 00000000  r6 : ce491ea0  r5 : 00000000  r4 : ce4963b4
      [   11.236342] r3 : 0004a000  r2 : 0004a000  r1 : bf2d0d70  r0 : 00000006
      [   11.242942] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
      [   11.249452] Control: 10c5387d  Table: 8e9c006a  DAC: 00000051
      [   11.256656] Process kmodloader (pid: 257, stack limit = 0xaba286ca)
      [   11.262386] Stack: (0xcea0dc90 to 0xcea0e000)
      [   11.268462] dc80:                                     00000000 ce49629c ce491ea0 ce4963bc
      [   11.272984] dca0: ce495ea0 bf2fbf98 00000002 ce4963a8 ce495ea0 00000000 ce491ea0 cf95d800
      [   11.281142] dcc0: cf95d810 cf95d810 00000001 bf2fc854 00000000 cf95d800 bf300748 ce495ea0
      [   11.289304] dce0: ce491ea0 d1300000 cf95d800 bf2fde8c 00000000 00000001 ce49cea0 00000000
      [   11.297462] dd00: 00000000 00000000 bf3010a0 cf95d810 bf3010a0 c0b61580 00000000 00000000
      [   11.305624] dd20: bf3010a0 0000000b c0b04e48 c06110c8 c0b61588 cf95d810 c0b61580 c060f740
      [   11.313781] dd40: cf95d810 00000000 bf3010a0 00000000 00000000 ce49d2a4 bf301100 c060fc90
      [   11.321943] dd60: 00000000 bf3010a0 cf95d810 c060fcf0 cf95d810 bf3010a0 c060fc98 c060dca4
      [   11.330101] dd80: cf809d58 cf952cb4 bf3010a0 ce967900 c0b1f2c8 c060ec28 bf3007b8 bf301038
      [   11.338263] dda0: bf3010a0 bf3010a0 c0b2d4d4 ffffe000 bf304000 c0610278 c0b04e48 c0b2d4d4
      [   11.346422] ddc0: ffffe000 bf2fe2b4 c0b04e48 bf30403c c0b04e48 c0302764 8040003f 00000001
      [   11.354582] dde0: 38e38e39 ce513580 c0b2cb50 cf801e00 cffbc6ac ce513600 cf801e00 cffbc6ac
      [   11.362740] de00: 8040003e ce49d280 00000001 c0428d54 00000001 cf801e00 cffbc6ac ce513580
      [   11.370900] de20: ce49d280 0e391998 bf301100 ce49d340 d12d2000 ce49d280 00000001 c0398c2c
      [   11.379061] de40: 00000001 cea0df34 cea0df34 00000001 d12d2000 c039ae48 bf30110c 00007fff
      [   11.387221] de60: bf301100 c0398044 cf804028 bf301148 c0397674 bf30126c c08ee5c0 c08ee70c
      [   11.395380] de80: bf30110c c0b04e48 c08ee518 00000000 c08ee570 c0b04e48 ce513600 fffff000
      [   11.403540] dea0: 00000001 ce513580 0000000d 0000000d 00000000 00000000 00000000 00000000
      [   11.411698] dec0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 00000000 00000000
      [   11.419858] dee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [   11.428018] df00: 00000000 0e391998 00000000 0000c610 d12de610 00000000 0062c620 ffffe000
      [   11.436180] df20: 000129d1 00000051 00000000 c039b228 00000000 d12d7afd d12d8e80 d12d2000
      [   11.444337] df40: 0000c610 d12de0e8 d12ddfa8 d12dab74 00009000 00009570 00003a2c 00009cae
      [   11.452498] df60: 00000000 00000000 00000000 00003a1c 0000001e 0000001f 00000018 00000000
      [   11.460656] df80: 00000010 00000000 00000000 00000000 00000003 00000080 c0301204 cea0c000
      [   11.468817] dfa0: 00000080 c0301000 00000000 00000000 00620010 0000c610 000129d1 00000014
      [   11.476975] dfc0: 00000000 00000000 00000003 00000080 0000c610 00000000 b6fc1d20 00000000
      [   11.485137] dfe0: bef0ad14 bef0acf8 00011e14 b6f74c94 60000010 00620010 00000000 00000000
      [   11.493390] [<bf2c96cc>] (ath10k_ce_alloc_pipe [ath10k_core]) from [<bf2fbf98>] (ath10k_pci_alloc_pipes+0x94/0xc8 [ath10k_pci])
      [   11.501498] [<bf2fbf98>] (ath10k_pci_alloc_pipes [ath10k_pci]) from [<bf2fc854>] (ath10k_pci_setup_resource+0xb8/0xf0 [ath10k_pci])
      [   11.512773] [<bf2fc854>] (ath10k_pci_setup_resource [ath10k_pci]) from [<bf2fde8c>] (ath10k_ahb_probe+0x32c/0x670 [ath10k_pci])
      [   11.524566] [<bf2fde8c>] (ath10k_ahb_probe [ath10k_pci]) from [<c06110c8>] (platform_drv_probe+0x34/0x70)
      [   11.536016] [<c06110c8>] (platform_drv_probe) from [<c060f740>] (really_probe+0x1f0/0x358)
      [   11.545729] [<c060f740>] (really_probe) from [<c060fc90>] (device_driver_attach+0x58/0x60)
      [   11.553886] [<c060fc90>] (device_driver_attach) from [<c060fcf0>] (__driver_attach+0x58/0xcc)
      [   11.562134] [<c060fcf0>] (__driver_attach) from [<c060dca4>] (bus_for_each_dev+0x68/0x8c)
      [   11.570731] [<c060dca4>] (bus_for_each_dev) from [<c060ec28>] (bus_add_driver+0x1c8/0x1d8)
      [   11.578886] [<c060ec28>] (bus_add_driver) from [<c0610278>] (driver_register+0x74/0x108)
      [   11.587060] [<c0610278>] (driver_register) from [<bf2fe2b4>] (ath10k_ahb_init+0x18/0x38 [ath10k_pci])
      [   11.595320] [<bf2fe2b4>] (ath10k_ahb_init [ath10k_pci]) from [<bf30403c>] (init_module+0x3c/0x1000 [ath10k_pci])
      [   11.604432] [<bf30403c>] (init_module [ath10k_pci]) from [<c0302764>] (do_one_initcall+0x84/0x1d8)
      [   11.614657] [<c0302764>] (do_one_initcall) from [<c0398c2c>] (do_init_module+0x5c/0x228)
      [   11.623421] [<c0398c2c>] (do_init_module) from [<c039ae48>] (load_module+0x1fc8/0x224c)
      [   11.631663] [<c039ae48>] (load_module) from [<c039b228>] (sys_init_module+0x15c/0x17c)
      [   11.639390] [<c039b228>] (sys_init_module) from [<c0301000>] (ret_fast_syscall+0x0/0x54)
      [   11.647370] Exception stack(0xcea0dfa8 to 0xcea0dff0)
      [   11.655615] dfa0:                   00000000 00000000 00620010 0000c610 000129d1 00000014
      [   11.660569] dfc0: 00000000 00000000 00000003 00000080 0000c610 00000000 b6fc1d20 00000000
      [   11.668725] dfe0: bef0ad14 bef0acf8 00011e14 b6f74c94
      [   11.676886] Code: e1c321d4 e0433002 e0232397 e5843014 (e5953000)
      [   11.681958] ---[ end trace 8f35917de2e76854 ]---
      
      Fixes: 521fc37b ("ath10k: Avoid override CE5 configuration for QCA99X0 chipsets")
      Reported-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq40xx/ map-ac2200]
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20200714205802.17688-1-hauke@hauke-m.de
      1cfd3426
    • A
      iwlwifi: Make some Killer Wireless-AC 1550 cards work again · b5ba46b8
      Alessio Bonfiglio 提交于
      Fix the regression introduced by commit c8685937 ("iwlwifi: move
      pu devices to new table") by adding the ids and the configurations of
      two missing Killer 1550 cards in order to configure and let them work
      correctly again (following the new table convention).
      Resolve bug 208141 ("Wireless ac 9560 not working kernel 5.7.2",
      https://bugzilla.kernel.org/show_bug.cgi?id=208141).
      
      Fixes: c8685937 ("iwlwifi: move pu devices to new table")
      Signed-off-by: NAlessio Bonfiglio <alessio.bonfiglio@mail.polimi.it>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20200714091911.4442-1-alessio.bonfiglio@mail.polimi.it
      b5ba46b8
    • M
      ath9k: Fix regression with Atheros 9271 · 92f53e2f
      Mark O'Donovan 提交于
      This fix allows ath9k_htc modules to connect to WLAN once again.
      
      Fixes: 2bbcaaee ("ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb")
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=208251Signed-off-by: NMark O'Donovan <shiftee@posteo.net>
      Reported-by: NRoman Mamedov <rm@romanrm.net>
      Tested-by: NViktor Jägersküpper <viktor_jaegerskuepper@freenet.de>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20200711043324.8079-1-shiftee@posteo.net
      92f53e2f
  7. 20 7月, 2020 3 次提交
    • A
      net: ieee802154: adf7242: Replace HTTP links with HTTPS ones · 19dc3654
      Alexander A. Klimov 提交于
      Rationale:
      Reduces attack surface on kernel devs opening the links for MITM
      as HTTPS traffic is much harder to manipulate.
      
      Deterministic algorithm:
      For each file:
        If not .svg:
          For each line:
            If doesn't contain `\bxmlns\b`:
              For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
      	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
                  If both the HTTP and HTTPS versions
                  return 200 OK and serve the same content:
                    Replace HTTP with HTTPS.
      Signed-off-by: NAlexander A. Klimov <grandmaster@al2klimov.de>
      Link: https://lore.kernel.org/r/20200719113142.58304-1-grandmaster@al2klimov.deSigned-off-by: NStefan Schmidt <stefan@datenfreihafen.org>
      19dc3654
    • T
      bonding: check error value of register_netdevice() immediately · 544f287b
      Taehee Yoo 提交于
      If register_netdevice() is failed, net_device should not be used
      because variables are uninitialized or freed.
      So, the routine should be stopped immediately.
      But, bond_create() doesn't check return value of register_netdevice()
      immediately. That will result in a panic because of using uninitialized
      or freed memory.
      
      Test commands:
          modprobe netdev-notifier-error-inject
          echo -22 > /sys/kernel/debug/notifier-error-inject/netdev/\
      actions/NETDEV_REGISTER/error
          modprobe bonding max_bonds=3
      
      Splat looks like:
      [  375.028492][  T193] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6b6b: 0000 [#1] SMP DEBUG_PAGEALLOC PTI
      [  375.033207][  T193] CPU: 2 PID: 193 Comm: kworker/2:2 Not tainted 5.8.0-rc4+ #645
      [  375.036068][  T193] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1ubuntu1 04/01/2014
      [  375.039673][  T193] Workqueue: events linkwatch_event
      [  375.041557][  T193] RIP: 0010:dev_activate+0x4a/0x340
      [  375.043381][  T193] Code: 40 a8 04 0f 85 db 00 00 00 8b 83 08 04 00 00 85 c0 0f 84 0d 01 00 00 31 d2 89 d0 48 8d 04 40 48 c1 e0 07 48 03 83 00 04 00 00 <48> 8b 48 10 f6 41 10 01 75 08 f0 80 a1 a0 01 00 00 fd 48 89 48 08
      [  375.050267][  T193] RSP: 0018:ffff9f8facfcfdd8 EFLAGS: 00010202
      [  375.052410][  T193] RAX: 6b6b6b6b6b6b6b6b RBX: ffff9f8fae6ea000 RCX: 0000000000000006
      [  375.055178][  T193] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff9f8fae6ea000
      [  375.057762][  T193] RBP: ffff9f8fae6ea000 R08: 0000000000000000 R09: 0000000000000000
      [  375.059810][  T193] R10: 0000000000000001 R11: 0000000000000000 R12: ffff9f8facfcfe08
      [  375.061892][  T193] R13: ffffffff883587e0 R14: 0000000000000000 R15: ffff9f8fae6ea580
      [  375.063931][  T193] FS:  0000000000000000(0000) GS:ffff9f8fbae00000(0000) knlGS:0000000000000000
      [  375.066239][  T193] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  375.067841][  T193] CR2: 00007f2f542167a0 CR3: 000000012cee6002 CR4: 00000000003606e0
      [  375.069657][  T193] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  375.071471][  T193] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  375.073269][  T193] Call Trace:
      [  375.074005][  T193]  linkwatch_do_dev+0x4d/0x50
      [  375.075052][  T193]  __linkwatch_run_queue+0x10b/0x200
      [  375.076244][  T193]  linkwatch_event+0x21/0x30
      [  375.077274][  T193]  process_one_work+0x252/0x600
      [  375.078379][  T193]  ? process_one_work+0x600/0x600
      [  375.079518][  T193]  worker_thread+0x3c/0x380
      [  375.080534][  T193]  ? process_one_work+0x600/0x600
      [  375.081668][  T193]  kthread+0x139/0x150
      [  375.082567][  T193]  ? kthread_park+0x90/0x90
      [  375.083567][  T193]  ret_from_fork+0x22/0x30
      
      Fixes: e826eafa ("bonding: Call netif_carrier_off after register_netdevice")
      Signed-off-by: NTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      544f287b
    • R
      net: dsa: mv88e6xxx: fix in-band AN link establishment · fad58190
      Russell King 提交于
      If in-band negotiation or fixed-link modes are specified for a DSA
      port, the DSA code will force the link down during initialisation. For
      fixed-link mode, this is fine, as phylink will manage the link state.
      However, for in-band mode, phylink expects the PCS to detect link,
      which will not happen if the link is forced down.
      
      There is a related issue that in in-band mode, the link could come up
      while we are making configuration changes, so we should force the link
      down prior to reconfiguring the interface mode.
      
      This patch addresses both issues.
      
      Fixes: 3be98b2d ("net: dsa: Down cpu/dsa ports phylink will control")
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fad58190
  8. 18 7月, 2020 3 次提交