From: Wang Lei <wang840925@xxxxxxxxx> afs_pioctl() should get the security key applicable to the nominated file and pass it on to the command handlers. Signed-off-by: Wang Lei <wang840925@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> --- fs/afs/pioctl.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/fs/afs/pioctl.c b/fs/afs/pioctl.c index 5a76017..63a6211 100644 --- a/fs/afs/pioctl.c +++ b/fs/afs/pioctl.c @@ -17,9 +17,28 @@ */ long afs_pioctl(struct dentry *dentry, int cmd, struct vice_ioctl *arg) { + struct afs_vnode *vnode = AFS_FS_I(dentry->d_inode); + struct key *key; + long ret; + + _enter(",%x(%d),{%d,%d}", + cmd, _IOC_NR(cmd), arg->in_size, arg->out_size); + + key = afs_request_key(vnode->volume->cell); + if (IS_ERR(key)) { + ret = PTR_ERR(key); + _leave(" = %ld [no key]", ret); + return ret; + } + switch (cmd) { default: printk(KERN_DEBUG "AFS: Unsupported pioctl command %x\n", cmd); - return -EOPNOTSUPP; + ret = -EOPNOTSUPP; + break; } + + key_put(key); + _leave(" = %ld", ret); + return ret; } -- 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