[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1289414024.2469.20.camel@edumazet-laptop>
Date: Wed, 10 Nov 2010 19:33:44 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Miller <davem@...emloft.net>
Cc: drosenberg@...curity.com, netdev@...r.kernel.org,
stable@...nel.org, security@...nel.org
Subject: Re: [PATCH] Prevent reading uninitialized memory with socketfilters
Le mercredi 10 novembre 2010 à 10:21 -0800, David Miller a écrit :
> From: "Dan Rosenberg" <drosenberg@...curity.com>
> Date: Wed, 10 Nov 2010 18:18:08 +0000
>
> > The code sample I linked to clearly demonstrates exactly how to
> > accomplish this, if you had bothered to read it.
>
> I told you why I didn't read it, if you had bothered to read my
> reply properly :-)
>
> Anyways, I realize we have to do something, but memset() is going
> to completely kill performance. I consider Eric's suggestion the
> closest to acceptable cost at this point but even that is hard
> to digest for me.
Most filters dont use mem[] at all, so the added cost seems OK to me,
but we can work to use a compile time check, to make memset(mem, 0,
length) a filter parameter if you prefer removing the test on each
load(mem[K]).
This memset() could be avoided if the compiler() can be sure all
load(mem[K]) follow a prior store(mem[K])
Its not a five minutes patch, I tried to work on it but it was a bit
hard, for a very remote security risk.
(On x86 platform, incoming packets are handled in SOFTIRQ stack, not the
kernel stack of current thread anyway)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists