On Thu, Sep 24, 2026 at 09:57:14AM +0200, Lorenzo Bianconi wrote:
quoted
quoted
quoted
quoted
@@ -5808,10 +5809,10 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
/* ACS is disabled; strip manually. */
if (likely(!(status & rx_not_ls))) {
- if (buf2_len) {
+ if (buf2_len >= ETH_FCS_LEN) {
I do not think this approach is correct since, at least theoretically, the FCS can be
splitted between buf1 and buf2.
We are talking about runt frames here, so less than 64 bytes in
size. Can such a frame be split over two buffers? What is the minimum
size of the first buffer?
Why are talking just about runt frames? According to my understanding,
this codebase (at least the one in stmmac_rx()) is executed on all
'last fragments'. Am I missing something?
That the patch subject is wrong?
[PATCH] net: stmmac: guard FCS stripping against runt frames
ack, I missed the subject, but I think it is wrong, the issue is not just on
runt frames.
Regards,
Lorenzo
I suspect this is an AI generated bug report, a minimal fix has been
proposed, but no actual thought applied to the situation, such as does
the hardware even allow it to happen, does it apply to more complex
situations, such as fragmentation etc. The usual AI problems....
Andrew