public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steve French <smfrench@austin.rr.com>
To: Andrew Morton <akpm@digeo.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: duplicate entry check in kmem_cache_create
Date: Wed, 18 Jun 2003 19:08:18 -0500	[thread overview]
Message-ID: <3EF0FEF2.3080402@austin.rr.com> (raw)
In-Reply-To: 20030618164611.41ea172d.akpm@digeo.com

Just trying to be paranoid safe in module init code.  You can't unload a 
module with live objects
easily but in at least the case of force unloading of modules (in this 
case the cifs filesystem) is
apparently permitted by the kernel if you specify force and unless there 
is a way to autounmount
when someone forces you into your module exit routine (i.e. on rmmod 
<filesystemname.o> -f)
before all associated mounts are unmounted, I was thinking about whether 
the filesystem's module
init code should check if the filesystem module unloaded (from a slab 
perspective) cleanly but
couldn't think of an easy way to check unless I intentionally leave some 
/proc/fs/ entry around
when module unloading fails (and use the /proc/fs/cifs entry as a hint 
that module unloading was
not clean so don't even think about trying to do a module init on this 
filesystem).

Andrew Morton wrote:

>Steve French <smfrench@austin.rr.com> wrote:
>  
>
>>Is there a recommended way to check to see if a slab cache with
>>a specific name exists before calling kmem_cache_create?
>>
>>I was able to force it into the BUG() at about line 1160 of slab.c by 
>>removing my
>>module (rmmod -f) while some of my slab cache objects (e.g. private inode
>>info) were still in use, and then reloading my module which called
>>kmem_cache_create with a name that already existed.
>>    
>>
>
>errr, why on earth was the filesystem unloadable when it still had live
>objects floating about?
>
>At the very least, if the slab code tries to call a destructor it will ruin
>your whole day.
>
>
>
>  
>



      reply	other threads:[~2003-06-18 23:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-18 23:08 duplicate entry check in kmem_cache_create Steve French
2003-06-18 23:46 ` Andrew Morton
2003-06-19  0:08   ` Steve French [this message]

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=3EF0FEF2.3080402@austin.rr.com \
    --to=smfrench@austin.rr.com \
    --cc=akpm@digeo.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox