Message ID | 20230720144154.38922-1-ruc_gongyuanjun@163.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [1/1] ethernet: atheros: fix return value check in atl1_tso() | expand |
From: Yuanjun Gong <ruc_gongyuanjun@163.com> Date: Thu, 20 Jul 2023 22:41:54 +0800 > in atl1_tso, it should check the return value of pskb_trim(), > and return an error code if an unexpected value is returned > by pskb_trim(). > Please add Fixes tag and specify the target tree as net in Subject. Also, it would be better to post related patches as a single series: https://lore.kernel.org/netdev/20230720144208.39170-1-ruc_gongyuanjun@163.com/T/#u https://lore.kernel.org/netdev/20230720144219.39285-1-ruc_gongyuanjun@163.com/T/#u > Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com> > --- > drivers/net/ethernet/atheros/atlx/atl1.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c > index c8444bcdf527..02aa6fd8ebc2 100644 > --- a/drivers/net/ethernet/atheros/atlx/atl1.c > +++ b/drivers/net/ethernet/atheros/atlx/atl1.c > @@ -2113,8 +2113,11 @@ static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb, > > real_len = (((unsigned char *)iph - skb->data) + > ntohs(iph->tot_len)); > - if (real_len < skb->len) > - pskb_trim(skb, real_len); > + if (real_len < skb->len) { > + err = pskb_trim(skb, real_len); > + if (err) > + return err; > + } > hdr_len = skb_tcp_all_headers(skb); > if (skb->len == hdr_len) { > iph->check = 0; > -- > 2.17.1
diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c index c8444bcdf527..02aa6fd8ebc2 100644 --- a/drivers/net/ethernet/atheros/atlx/atl1.c +++ b/drivers/net/ethernet/atheros/atlx/atl1.c @@ -2113,8 +2113,11 @@ static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb, real_len = (((unsigned char *)iph - skb->data) + ntohs(iph->tot_len)); - if (real_len < skb->len) - pskb_trim(skb, real_len); + if (real_len < skb->len) { + err = pskb_trim(skb, real_len); + if (err) + return err; + } hdr_len = skb_tcp_all_headers(skb); if (skb->len == hdr_len) { iph->check = 0;
in atl1_tso, it should check the return value of pskb_trim(), and return an error code if an unexpected value is returned by pskb_trim(). Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com> --- drivers/net/ethernet/atheros/atlx/atl1.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)