LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Adrian Bunk <bunk@kernel.org>
To: Christoph Lameter <clameter@sgi.com>,
	penberg@cs.helsinki.fi, mpm@selenic.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: mm/slub.c: inconsequent NULL checking
Date: Wed, 20 Feb 2008 00:49:22 +0200	[thread overview]
Message-ID: <20080219224922.GO31955@cs181133002.pp.htv.fi> (raw)

The Coverity checker spotted the following inconsequent NULL checking 
introduced by commit 8ff12cfc009a2a38d87fa7058226fe197bb2696f:

<--  snip  -->

...
static inline int is_end(void *addr)
{
        return (unsigned long)addr & PAGE_MAPPING_ANON;
}
...
static void deactivate_slab(struct kmem_cache *s, struct kmem_cache_cpu *c)
{
...
        if (c->freelist)    <----------------------------------------
                stat(c, DEACTIVATE_REMOTE_FREES);
        /*
         * Merge cpu freelist into freelist. Typically we get here
         * because both freelists are empty. So this is unlikely
         * to occur.
         *
         * We need to use _is_end here because deactivate slab may
         * be called for a debug slab. Then c->freelist may contain
         * a dummy pointer.
         */
        while (unlikely(!is_end(c->freelist))) {
                void **object;

                tail = 0;       /* Hot objects. Put the slab first */

                /* Retrieve object from cpu_freelist */
                object = c->freelist;
                c->freelist = c->freelist[c->offset];
...                           ^^^^^^^^^^^^^^^^^^^^^^

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


             reply	other threads:[~2008-02-19 22:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-19 22:49 Adrian Bunk [this message]
2008-02-20 13:52 ` Pekka Enberg
2008-02-22 19:59   ` [2.6 patch] mm/slub.c: remove unneeded NULL check Adrian Bunk
2008-02-22 20:11     ` Pekka Enberg
2008-02-27 19:55     ` Christoph Lameter

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=20080219224922.GO31955@cs181133002.pp.htv.fi \
    --to=bunk@kernel.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mpm@selenic.com \
    --cc=penberg@cs.helsinki.fi \
    --subject='Re: mm/slub.c: inconsequent NULL checking' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).