Messages in this thread Patch in this message | | | Date | Sun, 18 Jan 2009 08:34:41 +0100 | From | Oleg Nesterov <> | Subject | [PATCH] autofs: fix the wrong usage of the deprecated task_pgrp_nr() |
| |
parse_options(&pgid) sets pgid = task_pgrp_nr() which uses the global namespace. This is wrong, we use this pgid to find "struct pid" in the current's namespace. Change parse_options() to use task_pgrp_vnr().
Also do s/task_pgrp_nr/task_pgrp_vnr/ in the debugging printks. checkpatch.pl complains about "line over 80 characters", but it should blame the cuurent code, not the patch.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
--- CUR/fs/autofs/inode.c~1_AUTOFS 2009-01-12 23:07:46.000000000 +0100 +++ CUR/fs/autofs/inode.c 2009-01-18 06:18:49.000000000 +0100 @@ -78,7 +78,7 @@ static int parse_options(char *options, *uid = current_uid(); *gid = current_gid(); - *pgrp = task_pgrp_nr(current); + *pgrp = task_pgrp_vnr(current); *minproto = *maxproto = AUTOFS_PROTO_VERSION; --- CUR/fs/autofs/root.c~1_AUTOFS 2008-10-10 00:13:53.000000000 +0200 +++ CUR/fs/autofs/root.c 2009-01-18 06:15:42.000000000 +0100 @@ -215,7 +215,7 @@ static struct dentry *autofs_root_lookup oz_mode = autofs_oz_mode(sbi); DPRINTK(("autofs_lookup: pid = %u, pgrp = %u, catatonic = %d, " "oz_mode = %d\n", task_pid_nr(current), - task_pgrp_nr(current), sbi->catatonic, + task_pgrp_vnr(current), sbi->catatonic, oz_mode)); /* @@ -550,7 +550,8 @@ static int autofs_root_ioctl(struct inod struct autofs_sb_info *sbi = autofs_sbi(inode->i_sb); void __user *argp = (void __user *)arg; - DPRINTK(("autofs_ioctl: cmd = 0x%08x, arg = 0x%08lx, sbi = %p, pgrp = %u\n",cmd,arg,sbi,task_pgrp_nr(current))); + DPRINTK(("autofs_ioctl: cmd = 0x%08x, arg = 0x%08lx, sbi = %p, pgrp = %u\n", + cmd, arg, sbi, task_pgrp_vnr(current))); if (_IOC_TYPE(cmd) != _IOC_TYPE(AUTOFS_IOC_FIRST) || _IOC_NR(cmd) - _IOC_NR(AUTOFS_IOC_FIRST) >= AUTOFS_IOC_COUNT)
| |