[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120218161849.GA4176@kroah.com>
Date: Sat, 18 Feb 2012 08:18:49 -0800
From: Greg KH <gregkh@...uxfoundation.org>
To: Roland Dreier <roland@...estorage.com>
Cc: Djalal Harouni <tixxdz@...ndz.org>,
Vasiliy Kulikov <segoon@...nwall.com>,
kernel-hardening@...ts.openwall.com,
Kees Cook <keescook@...omium.org>,
Ubuntu security discussion <ubuntu-hardened@...ts.ubuntu.com>,
linux-kernel@...r.kernel.org, David Windsor <dwindsor@...il.com>,
pageexec@...email.hu, spender@...ecurity.net
Subject: Re: [kernel-hardening] Re: Add overflow protection to kref
On Fri, Feb 17, 2012 at 05:44:57PM -0800, Roland Dreier wrote:
> On Fri, Feb 17, 2012 at 3:39 PM, Djalal Harouni <tixxdz@...ndz.org> wrote:
> >> 2) what to do with architectures-loosers?
> > There is lib/atomic64.c but with a static hashed array of raw_spinlocks.
>
> Even leaving aside performance impact of atomic64_t (and probably
> in most cases the performance of kref is not important at all), it is
> unfortunate to bloat the size from 4 bytes to 8 bytes.
>
> It seems much better to have some out-of-line code for overflow
> checking rather than increasing the size of every data structure
> that embeds a kref.
Please realize that kref is an in-line structure now.
> Greg, I'm not sure why you're opposed to adding this checking...
> it's pretty clear that buggy error paths that forget to do a put are
> pretty common and will continue to be common in new code, and
> making them harder to exploit seems pretty sane to me.
>
> What's the downside?
The downside is that there has not even been a patch sent for any of
this. Combine that with a lack of understanding about reference
counting and atomic_t usages in the kernel, and the whole thing is ripe
for misunderstanding and confusion.
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists