LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* mm/slub.c: inconsequent NULL checking
@ 2008-02-19 22:49 Adrian Bunk
  2008-02-20 13:52 ` Pekka Enberg
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2008-02-19 22:49 UTC (permalink / raw)
  To: Christoph Lameter, penberg, mpm; +Cc: linux-mm, linux-kernel

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-02-27 19:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-19 22:49 mm/slub.c: inconsequent NULL checking Adrian Bunk
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

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).