[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: free inode security blob
(sorry, i mean to include the lsm list on the last reply).
tongcd, you may also find useful lsm help on the lsm list.
* Chris Wright (chris@wirex.com) wrote:
> * tongcd (tongcd@21cn.com) wrote:
> > Could anybody give me some hint about the following question? Thanks
> > 1. I use linux security module to alloc a security blob to each inode, but when
> > i want to cleanup the module ,i decide to free these alloced memory from inode struct,i want to travel through inode_in_use ,inode_unused,sb->s_dirty and sb->s_locked_inode ,but these are all static varieble,where is no way to use it in lsm module,could it be other ways to do it?
>
> lsm attempts to make the minimal changes to the kernel required to
> meet its requirements. so static lists like you've mentioned have
> not been exported just for lsm. the proper way to handle this is to
> maintain your own list in your module of the allocations you've made.
> during the module_exit code, you can traverse these lists, and clean up
> after yourself. see the SELinux module for a good example of how to
> handle this. honestly, many lsm modules are coded with the intention
> that they will not be removed until the machine is being rebooted, and
> since lsm can control module unloading, this is not necessarily a bogus
> assumption.
>
> > why dte not do it?
>
> i'm sure serge would accept patches ;-)
>
> > 2. iget4 call find_inode to find establishing inode linked in i_hash,(these inode all in inode_in_used and inode_unused links??)why iget call get_new_inode which use find_inode for a second time? If this question has post before,i am sorry.
>
> it is possible for an inode to not be in hash. so the first attempt
> at find_inode in iget4 could fail. notice find_inode must be called
> with lock, so get_new_inode (which is called after the search failed,
> and the lock is released) must re-obtain the lock and re-check the hash.
>
-chris
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
IRC Channel: irc.openprojects.net / #kernelnewbies
Web Page: http://www.kernelnewbies.org/