From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: KASAN poisoning for skb linear data Date: Thu, 8 Mar 2018 07:45:43 -0800 Message-ID: <20180308074543.250898af@xeon-e3> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: David Miller , Willem de Bruijn , Eric Dumazet , netdev , LKML , kasan-dev , Cong Wang , andreyknvl To: Dmitry Vyukov Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Mon, 15 Jan 2018 15:15:04 +0100 Dmitry Vyukov wrote: > Hi, > > As far as I understand pskb_may_pull() plays important role in packet > parsing for all protocols. And we did custom fragmentation of packets > emitted via tun (IFF_NAPI_FRAGS). However, it seems that it does not > give any results (bugs found), and I think the reason for this is that > linear data is rounded up and is usually quite large. So if a parsing > function does pskb_may_pull(1), or does not do it at all, it can > usually access more and it will go unnoticed. KASAN has an ability to > do custom poisoning: it can poison/unpoison any memory range, and then > detect any reads/writes to that range. What do you think about adding > custom KASAN poisoning to pskb_may_pull() and switching it to > non-eager mode (pull only what was requested) under KASAN? Do you > think it has potential for finding important bugs? What amount of work > is this? > > Thanks Also, kernel networking only deals with in-tree upstream code. Any problems with infrastructure for custom code are your problem to deal with, not our problem.