Messages in this thread | | | From | Roland Dreier <> | Date | Fri, 17 Feb 2012 17:44:57 -0800 | Subject | Re: [kernel-hardening] Re: Add overflow protection to kref |
| |
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.
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?
- R.
| |