All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasiliy Kulikov <segoon@openwall.com>
To: kernel-hardening@lists.openwall.com
Cc: Kees Cook <keescook@chromium.org>,
	Ubuntu security discussion <ubuntu-hardened@lists.ubuntu.com>,
	linux-kernel@vger.kernel.org, David Windsor <dwindsor@gmail.com>,
	pageexec@freemail.hu, spender@grsecurity.net
Subject: Re: [kernel-hardening] Re: Add overflow protection to kref
Date: Fri, 17 Feb 2012 23:37:19 +0400	[thread overview]
Message-ID: <20120217193719.GA4187@albatros> (raw)
In-Reply-To: <20120217175445.GC29902@kroah.com>

On Fri, Feb 17, 2012 at 09:54 -0800, Greg KH wrote:
> I'm referring to the fact that the use of kref in this type of error or
> problem is rare.
> 
> Yes, we have these types of problems at times, but a kref doesn't seem
> to be involved in them that I know of, so changing the kref code
> wouldn't help here from what I can tell.

Ehr, what's the difference between kref and "raw" atomic_t in a refcounting case?
There is _no_ difference in sense of overflows as a kref uses the same atomic_t.

I second David that we should use kref for overflow protection: we want to
hook an overflow case somehow in cases atomic_t is used as a refcounter.  It is
_ideally_ handled by introducing atomic_t's subtype.  And this subtype already
exists - it is called kref.


I expect all atomic_t refcounters users have

	if (atomic_dec_and_test()) smth_put() 

pattern, otherwise it is not a true refcounter :)  It should be straightforward to
move to kref.


Moving to atomic64_t is attractive, but:

1) we still should find all atomic_t refcounters.  Why not move to kref then?

2) what to do with architectures-loosers?


Thanks,

-- 
Vasiliy Kulikov
http://www.openwall.com - bringing security into open computing environments

  reply	other threads:[~2012-02-17 19:37 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16 14:02 [kernel-hardening] Add overflow protection to kref David Windsor
2012-02-16 20:45 ` [kernel-hardening] " Kees Cook
2012-02-16 20:45   ` Kees Cook
2012-02-17  0:24   ` [kernel-hardening] " Greg Kroah-Hartman
2012-02-17  0:24     ` Greg Kroah-Hartman
2012-02-17  1:06     ` [kernel-hardening] " Kees Cook
2012-02-17  1:06       ` Kees Cook
2012-02-17  1:40       ` [kernel-hardening] " Greg KH
2012-02-17  1:40         ` Greg KH
2012-02-17  2:11         ` [kernel-hardening] Re: [ubuntu-hardened] " Kees Cook
2012-02-17  2:11           ` Kees Cook
2012-02-17  2:48           ` [kernel-hardening] " David Windsor
2012-02-17  2:48             ` David Windsor
2012-02-17  3:32             ` [kernel-hardening] " Greg KH
2012-02-17  3:32               ` Greg KH
2012-02-17  6:33             ` [kernel-hardening] " Alexey Dobriyan
2012-02-17  6:33               ` Alexey Dobriyan
2012-02-17 13:23         ` [kernel-hardening] " pageexec
2012-02-17 13:23           ` pageexec
2012-02-17  7:59     ` [kernel-hardening] " Vasiliy Kulikov
2012-02-17  7:59       ` Vasiliy Kulikov
2012-02-17 17:53       ` Greg KH
2012-02-17 17:54       ` Greg KH
2012-02-17 19:37         ` Vasiliy Kulikov [this message]
2012-02-17 23:39           ` Djalal Harouni
2012-02-18  1:44             ` Roland Dreier
2012-02-18 16:15               ` David Windsor
2012-02-18 16:35                 ` Vasiliy Kulikov
2012-02-18 16:18               ` Greg KH
2012-02-24 17:58                 ` David Windsor
2012-02-24 18:37                   ` Greg KH
2012-02-24 18:52                     ` Kees Cook
2012-02-24 19:05                       ` Nick Bowler
2012-02-24 19:13                         ` Vasiliy Kulikov
2012-02-24 19:35                           ` Nick Bowler
2012-02-24 21:59                           ` PaX Team
2012-02-24 18:58                     ` Vasiliy Kulikov
2012-02-24 19:41                       ` Greg KH
2012-02-24 20:04                         ` Kees Cook
2012-02-24 19:04                     ` David Windsor
2012-02-24 22:14                       ` PaX Team

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120217193719.GA4187@albatros \
    --to=segoon@openwall.com \
    --cc=dwindsor@gmail.com \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pageexec@freemail.hu \
    --cc=spender@grsecurity.net \
    --cc=ubuntu-hardened@lists.ubuntu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.