X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=ipc%2Fmqueue.c;h=554ac368be7945de13149bef0abdd0c1bb2cf7c9;hb=b4531e863dbd06b5d336afefdb37483b690dea59;hp=02717f71d8d0ca325684d26d8bb79fe87c586ae1;hpb=b361735043e3001eadb1d40916fd1a4fca1a9363;p=cascardo%2Flinux.git diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 02717f71d8d0..554ac368be79 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -84,8 +84,8 @@ struct mqueue_inode_info { unsigned long qsize; /* size of queue in memory (sum of all msgs) */ }; -static struct inode_operations mqueue_dir_inode_operations; -static struct file_operations mqueue_file_operations; +static const struct inode_operations mqueue_dir_inode_operations; +static const struct file_operations mqueue_file_operations; static struct super_operations mqueue_super_ops; static void remove_notification(struct mqueue_inode_info *info); @@ -731,7 +731,8 @@ asmlinkage long sys_mq_unlink(const char __user *u_name) if (IS_ERR(name)) return PTR_ERR(name); - mutex_lock(&mqueue_mnt->mnt_root->d_inode->i_mutex); + mutex_lock_nested(&mqueue_mnt->mnt_root->d_inode->i_mutex, + I_MUTEX_PARENT); dentry = lookup_one_len(name, mqueue_mnt->mnt_root, strlen(name)); if (IS_ERR(dentry)) { err = PTR_ERR(dentry); @@ -1160,13 +1161,13 @@ out: return ret; } -static struct inode_operations mqueue_dir_inode_operations = { +static const struct inode_operations mqueue_dir_inode_operations = { .lookup = simple_lookup, .create = mqueue_create, .unlink = mqueue_unlink, }; -static struct file_operations mqueue_file_operations = { +static const struct file_operations mqueue_file_operations = { .flush = mqueue_flush_file, .poll = mqueue_poll_file, .read = mqueue_read_file, @@ -1255,7 +1256,7 @@ static int __init init_mqueue_fs(void) return -ENOMEM; /* ignore failues - they are not fatal */ - mq_sysctl_table = register_sysctl_table(mq_sysctl_root, 0); + mq_sysctl_table = register_sysctl_table(mq_sysctl_root); error = register_filesystem(&mqueue_fs_type); if (error)