Skip to content

Commit

Permalink
MIPS: VPE: Remove vpe_getuid and vpe_getgid
Browse files Browse the repository at this point in the history
The linux build-bot recently reported a build error in arch/mips/kernel/vpe.c

     tree:   git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git for-linus
     head:   261000a
     commit: 261000a [4/4] userns:  userns: Remove UIDGID_STRICT_TYPE_CHECKS
     config: make ARCH=mips maltaaprp_defconfig

     All error/warnings:

        arch/mips/kernel/vpe.c: In function 'vpe_open':
     >> arch/mips/kernel/vpe.c:1086:9: error: incompatible types when assigning to type 'unsigned int' from type 'kuid_t'
     >> arch/mips/kernel/vpe.c:1087:9: error: incompatible types when assigning to type 'unsigned int' from type 'kgid_t'

     vim +1086 arch/mips/kernel/vpe.c

     863abad Jesper Juhl   2010-10-30  1080			return -ENOMEM;
     863abad Jesper Juhl   2010-10-30  1081  		}
     e01402b Ralf Baechle  2005-07-14  1082  		v->plen = P_SIZE;
     e01402b Ralf Baechle  2005-07-14  1083  		v->load_addr = NULL;
     e01402b Ralf Baechle  2005-07-14  1084  		v->len = 0;
     e01402b Ralf Baechle  2005-07-14  1085
     d76b0d9 David Howells 2008-11-14 @1086		v->uid = filp->f_cred->fsuid;
     d76b0d9 David Howells 2008-11-14 @1087  		v->gid = filp->f_cred->fsgid;
     2600990 Ralf Baechle  2006-04-05  1088
     2600990 Ralf Baechle  2006-04-05  1089		v->cwd[0] = 0;
     2600990 Ralf Baechle  2006-04-05  1090 	 	ret = getcwd(v->cwd, VPE_PATH_MAX);

When examining the code to see what v->uid and v->gid were used for I
discovered that the only users in the kernel are vpe_getuid and
vpe_getgid, and that vpe_getuid and vpe_getgid are never called.

So instead of proposing a conversion to use kuid_t and kgid_t instead
of unsigned int/int as I normally would let's just kill this dead code
so no one has to worry about it further.

Deng-Cheng Zhu said:

This is a good catch. vpe_get[u|g]id was originally used by KSPD which
has been removed.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Reviewed-by: Deng-Cheng Zhu <dengcheng.zhu@imgtec.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
  • Loading branch information
Eric W. Biederman committed Jan 22, 2014
1 parent 261000a commit f58437f
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 30 deletions.
2 changes: 0 additions & 2 deletions arch/mips/include/asm/vpe.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ struct vpe_notifications {
extern int vpe_notify(int index, struct vpe_notifications *notify);

extern void *vpe_get_shared(int index);
extern int vpe_getuid(int index);
extern int vpe_getgid(int index);
extern char *vpe_getcwd(int index);

#endif /* _ASM_VPE_H */
28 changes: 0 additions & 28 deletions arch/mips/kernel/vpe.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ struct vpe {
unsigned long len;
char *pbuffer;
unsigned long plen;
unsigned int uid, gid;
char cwd[VPE_PATH_MAX];

unsigned long __start;
Expand Down Expand Up @@ -1083,9 +1082,6 @@ static int vpe_open(struct inode *inode, struct file *filp)
v->load_addr = NULL;
v->len = 0;

v->uid = filp->f_cred->fsuid;
v->gid = filp->f_cred->fsgid;

v->cwd[0] = 0;
ret = getcwd(v->cwd, VPE_PATH_MAX);
if (ret < 0)
Expand Down Expand Up @@ -1269,30 +1265,6 @@ void *vpe_get_shared(int index)

EXPORT_SYMBOL(vpe_get_shared);

int vpe_getuid(int index)
{
struct vpe *v;

if ((v = get_vpe(index)) == NULL)
return -1;

return v->uid;
}

EXPORT_SYMBOL(vpe_getuid);

int vpe_getgid(int index)
{
struct vpe *v;

if ((v = get_vpe(index)) == NULL)
return -1;

return v->gid;
}

EXPORT_SYMBOL(vpe_getgid);

int vpe_notify(int index, struct vpe_notifications *notify)
{
struct vpe *v;
Expand Down

0 comments on commit f58437f

Please sign in to comment.