Hi,
looking at the LRO code, at __lro_proc_segment(), it seems that the
network driver can configure lro_mgr->max_aggr to any value it wants
while the number of fragments aggregated must not exceed MAX_SKB_FRAGS
(since we only use a single SKB to aggregate fragments, allocated by
lro_gen_skb()). Moreover, even if the driver does limit
lro_mgr->max_aggr to MAX_SKB_FRAGS, it might still cause overflow
since subsequent aggregations are done at lro_add_frags() which is
called before checking whether we overflow.
If the above observation is correct, I can send a patch.
Thanks,
Eli
--