Messages in this thread | | | Date | Sat, 18 Feb 2012 08:18:49 -0800 | From | Greg KH <> | 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@opendz.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
| |