]> git.baikalelectronics.ru Git - kernel.git/commitdiff
cxgb4: fix the panic caused by non smac rewrite
authorRaju Rangoju <rajur@chelsio.com>
Wed, 18 Nov 2020 14:32:13 +0000 (20:02 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 20 Nov 2020 19:03:37 +0000 (11:03 -0800)
SMT entry is allocated only when loopback Source MAC
rewriting is requested. Accessing SMT entry for non
smac rewrite cases results in kernel panic.

Fix the panic caused by non smac rewrite

Fixes: 6d7e87d769b6 ("cxgb4: set up filter action after rewrites")
Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Link: https://lore.kernel.org/r/20201118143213.13319-1-rajur@chelsio.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c

index 4e55f7081644362871d1730492458c8c1fc8acbc..83b46440408bae19bad84e7a952ab635e0b0de23 100644 (file)
@@ -880,7 +880,8 @@ int set_filter_wr(struct adapter *adapter, int fidx)
                 FW_FILTER_WR_OVLAN_VLD_V(f->fs.val.ovlan_vld) |
                 FW_FILTER_WR_IVLAN_VLDM_V(f->fs.mask.ivlan_vld) |
                 FW_FILTER_WR_OVLAN_VLDM_V(f->fs.mask.ovlan_vld));
-       fwr->smac_sel = f->smt->idx;
+       if (f->fs.newsmac)
+               fwr->smac_sel = f->smt->idx;
        fwr->rx_chan_rx_rpl_iq =
                htons(FW_FILTER_WR_RX_CHAN_V(0) |
                      FW_FILTER_WR_RX_RPL_IQ_V(adapter->sge.fw_evtq.abs_id));