Re: [PATCH v1.1 2/5] IMA: define readcount functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 01, 2010 at 03:45:36PM -0400, Mimi Zohar wrote:
> Define iget/iput_readcount() functions to be called from the VFS layer.

Can't say I like the function names. i_readcount_{inc,dec} seem more
appropriate, especially so they don't get confused with inode
reference counting...

Cheers,

Dave.

> +void iput_readcount(struct inode *inode)
> +{
> +	spin_lock(&inode->i_lock);
> +	if (unlikely((atomic_read(&inode->i_readcount) == 0)))
> +		printk(KERN_INFO "i_readcount: imbalance ino %ld\n",
> +		       inode->i_ino);
> +	else
> +		atomic_dec(&inode->i_readcount);
> +	spin_unlock(&inode->i_lock);
> +}

No need for the lock just to indicate an imbalance. You could just
use:

	if (atomic_dec_return(&inode->i_readcount) < 0) {
		.....
	}

Given this is an integrity subsystem, I suspect the correct thing to
do here is BUG(), not just issue an informational message that
something is wrong with the integrity tracking....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux