lkml.org 
[lkml]   [2004]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Bug in kmem_cache_create with duplicate names
Steven Rostedt wrote:
> Is it really necessary to BUG on creating a cache with a duplicate name?
> Wouldn't it just be better to fail the create. The reason I mentioned
> this is that I was writing some modules and after doing a cut and paste,
> I forgot to change a name of a cache that was created by one module and
> I used it in another existing module. So you can say that it was indeed
> a bug, but did it really need to crash my machine? I aways check the
> return codes in my modules, and I would have figured it out why it
> failed, but I didn't expect a simple module to crash the machine the way
> it did. Well anyway it did definitely show me where my bug was.

Yes, it does that.

However, I agree with you. I don't see a good reason for it.

Duplicate name can just return NULL. NOTE: Such a change most
likely requires an audit of all callers of kmem_cache_create()
to be sure that they check its return value. There's a gcc
attribute that can be added to the function prototype to
warn if the function is called without looking at its
return value, although just doing
x = kmem_cache_create(...);
and ignoring x probably evades the warning.


include/linux/compiler-gcc+.h:
#define __must_check __attribute__((warn_unused_result))

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.052 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site