diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-07-13 20:11:13 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-19 09:29:01 +0200 |
commit | cf06dd8459db5331f744141e644ad756007f56e2 (patch) | |
tree | 6ef44e3b39d2e641ba8e8667754894af72331396 /ncr-key.c | |
parent | 997d9a1761dfb8d05aa5fc4aa3c85145ab41c456 (diff) | |
download | kernel-crypto-cf06dd8459db5331f744141e644ad756007f56e2.tar.gz kernel-crypto-cf06dd8459db5331f744141e644ad756007f56e2.tar.xz kernel-crypto-cf06dd8459db5331f744141e644ad756007f56e2.zip |
Don't access key_item_st after freeing it
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Diffstat (limited to 'ncr-key.c')
-rw-r--r-- | ncr-key.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ncr-key.c b/ncr-key.c index 5b812769760..134831e55b6 100644 --- a/ncr-key.c +++ b/ncr-key.c @@ -145,13 +145,13 @@ exit: void _ncr_key_item_put( struct key_item_st* item) { + if (atomic_read(&item->writer) > 0) + atomic_dec(&item->writer); if (atomic_dec_and_test(&item->refcnt)) { ncr_limits_remove(item->uid, item->pid, LIMIT_TYPE_KEY); ncr_key_clear(item); kfree(item); } - if (atomic_read(&item->writer) > 0) - atomic_dec(&item->writer); } int ncr_key_init(struct list_sem_st* lst, void __user* arg) |