On Thu, 2024-01-04 at 22:05 +0100, Richard Weinberger wrote:
On Fri, Oct 6, 2023 at 2:28 PM Ma Ke <make_ruc2021@xxxxxxx> wrote:We had pretty much the exact same discussion in the other patch ...
In vector_legacy_rx, to avoid an unexpected result returned by
pskb_trim, we should check the return value of pskb_trim().
Signed-off-by: Ma Ke <make_ruc2021@xxxxxxx>
---
arch/um/drivers/vector_kern.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
index 131b7cb29576..822a8c0cdcc1 100644
--- a/arch/um/drivers/vector_kern.c
+++ b/arch/um/drivers/vector_kern.c
@@ -890,7 +890,8 @@ static int vector_legacy_rx(struct vector_private *vp)
skb->ip_summed = CHECKSUM_UNNECESSARY;
}
}
- pskb_trim(skb, pkt_len - vp->rx_header_size);
+ if (pskb_trim(skb, pkt_len - vp->rx_header_size))
+ return 0;
I think this adds a memory leak. Also, can pskb_trim() really fail in
this scenario?
The function controls skb creation and knows all lengths.
https://patchwork.ozlabs.org/project/linux-um/patch/20231007005104.3994678-1-make_ruc2021@xxxxxxx/
No point arguing with people who care about static checkers only, I
guess. This person here never even came back to respond to the comments,
my take is they're throwing patches over the wall they didn't think
about, just to see what sticks.
johannes