lkml.org 
[lkml]   [2024]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH net] udp: fix segmentation crash for GRO packet without fraglist
    > >> The 'write_len > skb_headlen(skb)' test is redundant, no ?
    > >>
    > >> It is covered by the earlier test :
    > >>
    > >> if (likely(len <= skb_headlen(skb)))
    > >> return SKB_NOT_DROPPED_YET;
    > >>
    > > Daniel, it is not redundant. The bpf pulls a len between
    > > skb_headlen(skb) and skb->len that results in error. Here it will stop
    > > this operation. For other skbs(not SKB_GSO_FRAGLIST) it could be a
    > > normal behaviour and will continue to do next pulling.
    >
    > I meant something like the below. The len <= skb_headlen(skb) case you
    > already return earlier with SKB_NOT_DROPPED_YET. Willem, do you see a
    > case where this should not live in pskb_may_pull_reason() but rather
    > specifically in skb_ensure_writable()?

    Yes. pskb_may_pull is called all over the hot path. All in locations
    that are known safe, because they only pull header bytes. I prefer to
    limit the branch to the few (user configurable) locations that are in
    scope.

    \
     
     \ /
      Last update: 2024-05-27 18:08    [W:4.406 / U:0.484 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site