Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2497058 authored by Yuanjun Gong's avatar Yuanjun Gong Committed by Greg Kroah-Hartman
Browse files

ethernet: atheros: fix return value check in atl1e_tso_csum()



[ Upstream commit 69a184f7a372aac588babfb0bd681aaed9779f5b ]

in atl1e_tso_csum, it should check the return value of pskb_trim(),
and return an error code if an unexpected value is returned
by pskb_trim().

Fixes: a6a53252 ("atl1e: Atheros L1E Gigabit Ethernet driver")
Signed-off-by: default avatarYuanjun Gong <ruc_gongyuanjun@163.com>
Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230720144219.39285-1-ruc_gongyuanjun@163.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 195e806b
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1638,8 +1638,11 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
			real_len = (((unsigned char *)ip_hdr(skb) - skb->data)
					+ ntohs(ip_hdr(skb)->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_transport_offset(skb) + tcp_hdrlen(skb));
			if (unlikely(skb->len == hdr_len)) {