[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170427.115446.621009535763048376.davem@davemloft.net>
Date: Thu, 27 Apr 2017 11:54:46 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: Jason@...c4.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
David.Laight@...lab.com, kernel-hardening@...ts.openwall.com
Subject: Re: [PATCH v6 1/5] skbuff: return -EMSGSIZE in skb_to_sgvec to
prevent overflow
From: "Jason A. Donenfeld" <Jason@...c4.com>
Date: Thu, 27 Apr 2017 11:21:51 +0200
> Hey Dave,
>
> David Laight and I have been discussing offlist. It occurred to both
> of us that this could just be turned into a loop because perhaps this
> is actually just tail-recursive. Upon further inspection, however, the
> way the current algorithm works, it's possible that each of the
> fraglist skbs has its own fraglist, which would make this into tree
> recursion, which is why in the first place I wanted to place that
> limit on it. If that's the case, then the patch I proposed above is
> the best way forward. However, perhaps there's the chance that
> fraglist skbs having separate fraglists are actually forbidden? Is
> this the case? Are there other parts of the API that enforce this
> contract? Is it something we could safely rely on here? If you say
> yes, I'll send a v7 that makes this into a non-recursive loop.
As Sabrina showed, it can happen. There are no such restrictions on
the geometry of an SKB.
Powered by blists - more mailing lists