Message ID | 20220201143057.3533830-1-steen.hegelund@microchip.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: sparx5: do not refer to skb after passing it on | expand |
On Tue, 1 Feb 2022 15:30:57 +0100 Steen Hegelund wrote: > Do not try to use any SKB fields after the packet has been passed up in the > receive stack. > > This error was reported as shown below: No need to spell it out, the tags speak for themselves. > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Drop this... > Fixes: f3cad2611a77 (net: sparx5: add hostmode with phylink support) > and this empty line - all the tags should be together. > Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com> > --- > drivers/net/ethernet/microchip/sparx5/sparx5_packet.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > index dc7e5ea6ec15..ebdce4b35686 100644 > --- a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > @@ -145,8 +145,8 @@ static void sparx5_xtr_grp(struct sparx5 *sparx5, u8 grp, bool byte_swap) > skb_put(skb, byte_cnt - ETH_FCS_LEN); > eth_skb_pad(skb); > skb->protocol = eth_type_trans(skb, netdev); > - netif_rx(skb); > netdev->stats.rx_bytes += skb->len; > + netif_rx(skb); > netdev->stats.rx_packets++; sorry to nit pick - wouldn't it be neater if both the stats were updated together? Looks a little strange that netif_rx() is in between the two now. > } > > -- > 2.35.1 >
Hi Jacub, Thanks for the feedback. I will update according to your suggestions. BR Steen On Tue, 2022-02-01 at 20:05 -0800, Jakub Kicinski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Tue, 1 Feb 2022 15:30:57 +0100 Steen Hegelund wrote: > > Do not try to use any SKB fields after the packet has been passed up in the > > receive stack. > > > > This error was reported as shown below: > > No need to spell it out, the tags speak for themselves. > > > Reported-by: kernel test robot <lkp@intel.com> > > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > > > > Drop this... > > > Fixes: f3cad2611a77 (net: sparx5: add hostmode with phylink support) > > > > and this empty line - all the tags should be together. > > > Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com> > > --- > > drivers/net/ethernet/microchip/sparx5/sparx5_packet.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > > b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > > index dc7e5ea6ec15..ebdce4b35686 100644 > > --- a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > > +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c > > @@ -145,8 +145,8 @@ static void sparx5_xtr_grp(struct sparx5 *sparx5, u8 grp, bool byte_swap) > > skb_put(skb, byte_cnt - ETH_FCS_LEN); > > eth_skb_pad(skb); > > skb->protocol = eth_type_trans(skb, netdev); > > - netif_rx(skb); > > netdev->stats.rx_bytes += skb->len; > > + netif_rx(skb); > > netdev->stats.rx_packets++; > > sorry to nit pick - wouldn't it be neater if both the stats were > updated together? Looks a little strange that netif_rx() is in > between the two now. > > > } > > > > -- > > 2.35.1 > > >
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c index dc7e5ea6ec15..ebdce4b35686 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c @@ -145,8 +145,8 @@ static void sparx5_xtr_grp(struct sparx5 *sparx5, u8 grp, bool byte_swap) skb_put(skb, byte_cnt - ETH_FCS_LEN); eth_skb_pad(skb); skb->protocol = eth_type_trans(skb, netdev); - netif_rx(skb); netdev->stats.rx_bytes += skb->len; + netif_rx(skb); netdev->stats.rx_packets++; }
Do not try to use any SKB fields after the packet has been passed up in the receive stack. This error was reported as shown below: Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Fixes: f3cad2611a77 (net: sparx5: add hostmode with phylink support) Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com> --- drivers/net/ethernet/microchip/sparx5/sparx5_packet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.35.1