03 Mar, 2021

1 commit

  • On the remove path, there is a need to teardown the IRQs and disconnect
    from the PHY only if the DPMAC is not in TYPE_FIXED.
    Update the remove path so that we do not end up accesing an invalid MC
    portal.

    Signed-off-by: Ioana Ciornei

    Ioana Ciornei
     

23 Feb, 2021

1 commit


22 Feb, 2021

1 commit


04 Feb, 2021

1 commit


28 Jan, 2021

1 commit


27 Jan, 2021

2 commits


26 Jan, 2021

5 commits


20 Jan, 2021

10 commits

  • This is the 5.10.9 stable release

    * tag 'v5.10.9': (153 commits)
    Linux 5.10.9
    netfilter: nf_nat: Fix memleak in nf_nat_init
    netfilter: conntrack: fix reading nf_conntrack_buckets
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • This is the 5.10.8 stable release

    * tag 'v5.10.8': (104 commits)
    Linux 5.10.8
    tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
    drm/panfrost: Remove unused variables in panfrost_job_close()
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • This is the 5.10.7 stable release

    * tag 'v5.10.7': (144 commits)
    Linux 5.10.7
    scsi: target: Fix XCOPY NAA identifier lookup
    rtlwifi: rise completion at the last step of firmware callback
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • commit 869c4d5eb1e6fbda66aa790c48bdb946d71494a0 upstream.

    The function bnxt_get_ulp_stat_ctxs() does not count the stats contexts
    used by the RDMA driver correctly when the RDMA driver is freeing the
    MSIX vectors. It assumes that if the RDMA driver is registered, the
    additional stats contexts will be needed. This is not true when the
    RDMA driver is about to unregister and frees the MSIX vectors.

    This slight error leads to over accouting of the stats contexts needed
    after the RDMA driver has unloaded. This will cause some firmware
    warning and error messages in dmesg during subsequent config. changes
    or ifdown/ifup.

    Fix it by properly accouting for extra stats contexts only if the
    RDMA driver is registered and MSIX vectors have been successfully
    requested.

    Fixes: c027c6b4e91f ("bnxt_en: get rid of num_stat_ctxs variable")
    Reviewed-by: Yongping Zhang
    Reviewed-by: Pavan Chebbi
    Signed-off-by: Michael Chan
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Michael Chan
     
  • [ Upstream commit 25c904b59aaf4816337acd415514b0c47715f604 ]

    Adding vf VLANID for the first time, or after having cleared previously
    defined VLANID works fine, however, attempting to change an existing vf
    VLANID clears the rules on the firmware, but does not add new rules for
    the new vf VLANID.

    Fix this by changing the logic in function esw_acl_egress_lgcy_setup()
    so that it will always configure egress rules.

    Fixes: ea651a86d468 ("net/mlx5: E-Switch, Refactor eswitch egress acl codes")
    Signed-off-by: Alaa Hleihel
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Sasha Levin

    Alaa Hleihel
     
  • [ Upstream commit 0c4accc41cb56e527c8c049f5495af9f3d6bef7e ]

    Fix smatch warnings:

    drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_lgcy.c:105 esw_acl_egress_lgcy_setup() warn: passing zero to 'PTR_ERR'
    drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_ofld.c:177 esw_acl_egress_ofld_setup() warn: passing zero to 'PTR_ERR'
    drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c:184 esw_acl_ingress_lgcy_setup() warn: passing zero to 'PTR_ERR'
    drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c:262 esw_acl_ingress_ofld_setup() warn: passing zero to 'PTR_ERR'

    esw_acl_table_create() never returns NULL, so
    NULL test should be removed.

    Signed-off-by: YueHaibing
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Sasha Levin

    YueHaibing
     
  • [ Upstream commit eed38eeee734756596e2cc163bdc7dac3be501b1 ]

    Connection counters may be shared for both directions when the counter
    is used for connection aging purposes. However, if TC flow
    accounting is enabled then a unique counter is required per direction.

    Instantiate a unique counter per direction if the conntrack accounting
    extension is enabled. Use a shared counter when the connection accounting
    extension is disabled.

    Fixes: 1edae2335adf ("net/mlx5e: CT: Use the same counter for both directions")
    Signed-off-by: Oz Shlomo
    Reported-by: Marcelo Ricardo Leitner
    Reviewed-by: Roi Dayan
    Reviewed-by: Paul Blakey
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Sasha Levin

    Oz Shlomo
     
  • [ Upstream commit 445c6198fe7be03b7d38e66fe8d4b3187bc251d4 ]

    Since commit 1d6cd3929360 ("modpost: turn missing MODULE_LICENSE()
    into error") the ppc32_allmodconfig build fails with:

    ERROR: modpost: missing MODULE_LICENSE() in drivers/net/ethernet/freescale/fs_enet/mii-fec.o
    ERROR: modpost: missing MODULE_LICENSE() in drivers/net/ethernet/freescale/fs_enet/mii-bitbang.o

    Add the missing MODULE_LICENSEs to fix the build. Both files include a
    copyright header indicating they are GPL v2.

    Signed-off-by: Michael Ellerman
    Reviewed-by: Andrew Lunn
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin

    Michael Ellerman
     
  • [ Upstream commit 887078de2a23689e29d6fa1b75d7cbc544c280be ]

    Table 8-53 in the QUICC Engine Reference manual shows definitions of
    fields up to a size of 192 bytes, not just 128. But in table 8-111,
    one does find the text

    Base Address of the Global Transmitter Parameter RAM Page. [...]
    The user needs to allocate 128 bytes for this page. The address must
    be aligned to the page size.

    I've checked both rev. 7 (11/2015) and rev. 9 (05/2018) of the manual;
    they both have this inconsistency (and the table numbers are the
    same).

    Adding a bit of debug printing, on my board the struct
    ucc_geth_tx_global_pram is allocated at offset 0x880, while
    the (opaque) ucc_geth_thread_data_tx gets allocated immediately
    afterwards, at 0x900. So whatever the engine writes into the thread
    data overlaps with the tail of the global tx pram (and devmem says
    that something does get written during a simple ping).

    I haven't observed any failure that could be attributed to this, but
    it seems to be the kind of thing that would be extremely hard to
    debug. So extend the struct definition so that we do allocate 192
    bytes.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Sasha Levin

    Rasmus Villemoes
     
  • commit bff6f1db91e330d7fba56f815cdbc412c75fe163 upstream.

    Set all EHL/TGL phy_addr to -1 so that the driver will automatically
    detect it at run-time by probing all the possible 32 addresses.

    Signed-off-by: Voon Weifeng
    Signed-off-by: Wong Vee Khee
    Link: https://lore.kernel.org/r/20201106094341.4241-1-vee.khee.wong@intel.com
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Voon Weifeng
     

19 Jan, 2021

2 commits

  • During suspend/resume stress test, we found descriptor write back by DMA
    could exhibit unusual behavior, e.g.:
    003 [0xc4310030]: 0x0 0x40 0x0 0xb5010040

    We can see that desc3 write back is 0xb5010040, it is still ownd by DMA,
    so application would not recycle this buffer. It will trigger fatal bus
    error when DMA try to use this descriptor again. When current descriptor
    move to this bad descriptor, it would not receive any more. To fix this
    issue, we should re-init all rx buffers when mac resume back. This issue
    can be reproduced on i.MX8MP EVK board.

    Reviewed-by: Jun Li
    Signed-off-by: Joakim Zhang

    Joakim Zhang
     
  • stmmac_xmit() call stmmac_tx_timer_arm() at the end to modify tx timer to
    do the transmission cleanup work. Imagine such a situation, stmmac enters
    suspend immediately after tx timer modified, it's expire callback
    stmmac_tx_clean() would not be invoked. This could affect BQL, since
    netdev_tx_sent_queue() has been called, but netdev_tx_completed_queue()
    have not been involved, as a result, dql_avail(&dev_queue->dql) finally always
    return a negative value.

    __dev_queue_xmit->__dev_xmit_skb->qdisc_run->__qdisc_run->qdisc_restart->dequeue_skb:
    if ((q->flags & TCQ_F_ONETXQUEUE) &&
    netif_xmit_frozen_or_stopped(txq)) // __QUEUE_STATE_STACK_XOFF is set

    Net core will stop transmitting any more. Finillay, net watchdong would timeout.
    To fix this issue, we should call netdev_tx_reset_queue() in stmmac_resume().

    Reviewed-by: Jun Li
    Signed-off-by: Joakim Zhang

    Joakim Zhang
     

17 Jan, 2021

16 commits

  • commit 0d136f5cd9a7ba6ded7f8ff17e8b1ba680f37625 upstream.

    The error message says that "Jumbo frames are not supported on XDP", but
    the code checks for mtu > MVNETA_MAX_RX_BUF_SIZE, not mtu > 1500.

    Fix this error message.

    Signed-off-by: Marek Behún
    Fixes: 0db51da7a8e9 ("net: mvneta: add basic XDP support")
    Cc: Lorenzo Bianconi
    Cc: Thomas Petazzoni
    Link: https://lore.kernel.org/r/20210105172333.21613-1-kabel@kernel.org
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Marek Behún
     
  • commit 87508224485323ce2d4e7fb929ec80f51adcc238 upstream.

    Force link UP can be enabled by bootloader during tftpboot
    and breaks NFS support.
    Force link UP disabled during port init procedure.

    Fixes: f84bf386f395 ("net: mvpp2: initialize the GoP")
    Signed-off-by: Stefan Chulski
    Acked-by: Marcin Wojtas
    Link: https://lore.kernel.org/r/1608216735-14501-1-git-send-email-stefanc@marvell.com
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Stefan Chulski
     
  • commit 7a6eb072a9548492ead086f3e820e9aac71c7138 upstream.

    mlx5e_create_ttc_table_groups() frees ft->g on failure of
    kvzalloc(), but such failure will be caught by its caller
    in mlx5e_create_ttc_table() and ft->g will be freed again
    in mlx5e_destroy_flow_table(). The same issue also occurs
    in mlx5e_create_ttc_table_groups(). Set ft->g to NULL after
    kfree() to avoid double free.

    Fixes: 7b3722fa9ef6 ("net/mlx5e: Support RSS for GRE tunneled packets")
    Fixes: 33cfaaa8f36f ("net/mlx5e: Split the main flow steering table")
    Signed-off-by: Dinghao Liu
    Reviewed-by: Leon Romanovsky
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Dinghao Liu
     
  • commit 5b0bb12c58ac7d22e05b5bfdaa30a116c8c32e32 upstream.

    When mlx5_create_flow_group() fails, ft->g should be
    freed just like when kvzalloc() fails. The caller of
    mlx5e_create_l2_table_groups() does not catch this
    issue on failure, which leads to memleak.

    Fixes: 33cfaaa8f36f ("net/mlx5e: Split the main flow steering table")
    Signed-off-by: Dinghao Liu
    Reviewed-by: Leon Romanovsky
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Dinghao Liu
     
  • commit 2860d45a589818dd8ffd90cdc4bcf77f36a5a6be upstream.

    Without this, the driver fails to link:

    lpc_eth.c:(.text+0x1934): undefined reference to `crc32_le'
    arm-linux-gnueabi-ld: drivers/net/ethernet/qlogic/qed/qed_debug.o: in function `qed_grc_dump':
    qed_debug.c:(.text+0x4068): undefined reference to `crc32_le'
    arm-linux-gnueabi-ld: drivers/net/ethernet/qlogic/qed/qed_debug.o: in function `qed_idle_chk_dump':
    qed_debug.c:(.text+0x51fc): undefined reference to `crc32_le'
    arm-linux-gnueabi-ld: drivers/net/ethernet/qlogic/qed/qed_debug.o: in function `qed_mcp_trace_dump':
    qed_debug.c:(.text+0x6000): undefined reference to `crc32_le'
    arm-linux-gnueabi-ld: drivers/net/ethernet/qlogic/qed/qed_debug.o: in function `qed_dbg_reg_fifo_dump':
    qed_debug.c:(.text+0x66cc): undefined reference to `crc32_le'
    arm-linux-gnueabi-ld: drivers/net/ethernet/qlogic/qed/qed_debug.o:qed_debug.c:(.text+0x6aa4): more undefined references to `crc32_le' follow

    Fixes: 7a4b21b7d1f0 ("qed: Add nvram selftest")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • commit 8f56bc4dc1011be6e2a53198b615fdc588b4ef6a upstream.

    Change the order of operations in the link_up handling to be
    sure that the queues are up and ready before we announce that
    the link is up.

    Signed-off-by: Shannon Nelson
    Reviewed-by: Saeed Mahameed
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Shannon Nelson
     
  • [ Upstream commit abf8ef953a43e74aac3c54a94975f21bd483199b ]

    This patch fixes a memleak issue by preventing to create a lag and
    add PFs if lag is not supported.

    comm “python3”, pid 349349, jiffies 4296985507 (age 1446.976s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
    backtrace:
    [] mlx5_lag_add+0x1d5/0×3f0 [mlx5_core]
    [] mlx5e_nic_enable+0x66/0×1b0 [mlx5_core]
    [] mlx5e_attach_netdev+0x16e/0×200 [mlx5_core]
    [] mlx5e_attach+0x5c/0×90 [mlx5_core]
    [] mlx5e_add+0x1a4/0×410 [mlx5_core]
    [] mlx5_add_device+0x72/0×120 [mlx5_core]
    [] mlx5_register_device+0x77/0xb0 [mlx5_core]
    [] mlx5_load_one+0xc58/0×1eb0 [mlx5_core]
    [] init_one+0x3ea/0×920 [mlx5_core]
    [] pci_device_probe+0xcd/0×150
    [] really_probe+0x1c9/0×4b0
    [] driver_probe_device+0x5d/0×140
    [] device_driver_attach+0x4f/0×60
    [] bind_store+0xbf/0×120
    [] kernfs_fop_write+0x114/0×1b0

    Fixes: 9b412cc35f00 ("net/mlx5e: Add LAG warning if bond slave is not lag master")
    Signed-off-by: Mark Zhang
    Reviewed-by: Leon Romanovsky
    Reviewed-by: Maor Gottlieb
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Mark Zhang
     
  • [ Upstream commit e13ed0ac064dd6ee964155ba9fdc2f3c3785934c ]

    sop_drop_qpn field in the cqe is used by two features, in SWITCHDEV mode
    to restore the chain id in case of a miss and in LEGACY mode to support
    skbedit mark action. In build RX skb, the skb mark field is set regardless
    of the configured mode which cause a corruption of the mark field in case
    of switchdev mode.

    Fix by overriding the mark value back to 0 in the representor tc update
    skb flow.

    Fixes: 8f1e0b97cc70 ("net/mlx5: E-Switch, Mark miss packets with new chain id mapping")
    Signed-off-by: Maor Dickman
    Reviewed-by: Raed Salem
    Reviewed-by: Oz Shlomo
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Maor Dickman
     
  • [ Upstream commit b1c0aca3d3ddeebeec57ada9c2df9ed647939249 ]

    Prior to this patch, configuring speed to 50G with autoneg off over
    devices supporting 50G per lane failed.
    Support for 50G per lane introduced a new set of link-modes, on which
    driver always performed a speed validation as if only legacy link-modes
    were configured. Fix driver speed validation to force setting autoneg
    over 56G only if in legacy link-mode.

    Fixes: 3d7cadae51f1 ("net/mlx5e: ethtool, Fix analysis of speed setting")
    Signed-off-by: Aya Levin
    Reviewed-by: Eran Ben Elisha
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Aya Levin
     
  • [ Upstream commit 0f2dcade69f2af56b74bce432e48ff3957830ce2 ]

    In multi-port mode, FW reports syndrome 0x2ea48 (invalid vhca_port_number)
    if the port_num is not 1 or 2.

    Fixes: 80f09dfc237f ("net/mlx5: Eswitch, enable RoCE loopback traffic")
    Signed-off-by: Mark Zhang
    Reviewed-by: Maor Gottlieb
    Signed-off-by: Saeed Mahameed
    Signed-off-by: Greg Kroah-Hartman

    Mark Zhang
     
  • [ Upstream commit ac7996d680d8b4a51bb99bbdcee3dc838b985498 ]

    Currently the error return paths don't kfree lmac and lmac->name
    leading to some memory leaks. Fix this by adding two error return
    paths that kfree these objects

    Addresses-Coverity: ("Resource leak")
    Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
    Signed-off-by: Colin Ian King
    Link: https://lore.kernel.org/r/20210107123916.189748-1-colin.king@canonical.com
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Colin Ian King
     
  • [ Upstream commit 15ef6b0e30b354253e2c10b3836bc59767eb162b ]

    CPL_ABORT_RPL is sent after releasing the resources by calling
    chtls_release_resources(sk); and chtls_conn_done(sk);
    eventually causing kernel panic. Fixing it by calling release
    in appropriate order.

    Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition")
    Signed-off-by: Vinay Kumar Yadav
    Signed-off-by: Ayush Sawal
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Ayush Sawal
     
  • [ Upstream commit eade1e0a4fb31d48eeb1589d9bb859ae4dd6181d ]

    In case of server removal lookup_stid() may return NULL pointer, which
    is used as listen_ctx. So added a check before accessing this pointer.

    Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition")
    Signed-off-by: Vinay Kumar Yadav
    Signed-off-by: Ayush Sawal
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Ayush Sawal
     
  • [ Upstream commit a84b2c0d5fa23da6d6c8c0d5f5c93184a2744d3e ]

    The skb is unlinked twice, one in __skb_dequeue in function
    chtls_reset_synq() and another in cleanup_syn_rcv_conn().
    So in this patch using skb_peek() instead of __skb_dequeue(),
    so that unlink will be handled only in cleanup_syn_rcv_conn().

    Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition")
    Signed-off-by: Vinay Kumar Yadav
    Signed-off-by: Ayush Sawal
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Ayush Sawal
     
  • [ Upstream commit f8d15d29d6e6b32704c8fce9229716ca145a0de2 ]

    In chtls_pass_accept_request(), removing the chtls_reqsk_free()
    call to avoid oreq freeing twice. Here oreq is the pointer to
    struct request_sock.

    Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition")
    Signed-off-by: Rohit Maheshwari
    Signed-off-by: Ayush Sawal
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Ayush Sawal
     
  • [ Upstream commit 5a5fac9966bb6d513198634b0b1357be7e8447d2 ]

    If route to peer is not configured, we might get non tls
    devices from dst_neigh_lookup() which is invalid, adding a
    check to avoid it.

    Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition")
    Signed-off-by: Rohit Maheshwari
    Signed-off-by: Ayush Sawal
    Signed-off-by: Jakub Kicinski
    Signed-off-by: Greg Kroah-Hartman

    Ayush Sawal