MIPS: VPE: Remove vpe_getuid and vpe_getgid
Subsystems (2)
RFC PATCH 1/1 MIPS: VPE: Remove vpe_getuid and vpe_getgid
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: 261000a56b6382f597bcb12000f55c9ff26a1efb
commit: 261000a56b6382f597bcb12000f55c9ff26a1efb [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
863abad4 Jesper Juhl 2010-10-30 1080 return -ENOMEM;
863abad4 Jesper Juhl 2010-10-30 1081 }
e01402b1 Ralf Baechle 2005-07-14 1082 v->plen = P_SIZE;
e01402b1 Ralf Baechle 2005-07-14 1083 v->load_addr = NULL;
e01402b1 Ralf Baechle 2005-07-14 1084 v->len = 0;
e01402b1 Ralf Baechle 2005-07-14 1085
d76b0d9b David Howells 2008-11-14 @1086 v->uid = filp->f_cred->fsuid;
d76b0d9b David Howells 2008-11-14 @1087 v->gid = filp->f_cred->fsgid;
2600990e Ralf Baechle 2006-04-05 1088
2600990e Ralf Baechle 2006-04-05 1089 v->cwd[0] = 0;
2600990e 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.
--- arch/mips/include/asm/vpe.h | 2 -- arch/mips/kernel/vpe.c | 28 ---------------------------- 2 files changed, 0 insertions(+), 30 deletions(-)
arch/mips/include/asm/vpe.h +0 -2
@@ -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 */
arch/mips/kernel/vpe.c +0 -28
@@ -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;
@@ -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 )
@@ -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;
Signature · 1 line
1.7.5.4
Quoted 32 lines · Eric W. Biederman
The linux build-bot recently reported a build error in
arch/mips/kernel/vpe.ctree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git for-linus head: 261000a56b6382f597bcb12000f55c9ff26a1efb commit: 261000a56b6382f597bcb12000f55c9ff26a1efb [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 863abad4 Jesper Juhl 2010-10-30 1080 return -ENOMEM; 863abad4 Jesper Juhl 2010-10-30 1081 } e01402b1 Ralf Baechle 2005-07-14 1082 v->plen = P_SIZE; e01402b1 Ralf Baechle 2005-07-14 1083 v->load_addr = NULL; e01402b1 Ralf Baechle 2005-07-14 1084 v->len = 0; e01402b1 Ralf Baechle 2005-07-14 1085 d76b0d9b David Howells 2008-11-14 @1086 v->uid = filp->f_cred->fsuid; d76b0d9b David Howells 2008-11-14 @1087 v->gid = filp->f_cred->fsgid; 2600990e Ralf Baechle 2006-04-05 1088 2600990e Ralf Baechle 2006-04-05 1089 v->cwd[0] = 0; 2600990e Ralf Baechle 2006-04-05 1090 ret = getcwd(v->cwd, VPE_PATH_MAX);When examining the code to see what
v->uidandv->gidwere used for I discovered that the only users in the kernel arevpe_getuidandvpe_getgid, and thatvpe_getuidandvpe_getgidare never called.
Quoted 8 lines
So instead of proposing a conversion to use
kuid_tandkgid_tinstead of unsigned int/int as I normally would let's just kill this dead code so no one has to worry about it further.Cc Ralf Baechle <[email protected]>Signed-off-by "Eric W. Biederman" <[email protected]>
This patch looks good to me, however, Deng-Cheng should also confirm if this patch is okay. He is currently maintaining that code. Thanks.
Steve
Deng-Cheng Zhu
Reviewed-byThis is a good catch. vpe_get[u|g]id was originally used by KSPD which has been removed.
Deng-Cheng
---------------------------------------------------------------------------
*From:* Steven J. Hill <mailto:[email protected]>
*Sent:* Tuesday, January 21, 2014 12:29PM
*To:* Eric W. Biederman <mailto:[email protected]>
*Cc:* linux-arch <mailto:[email protected]>, linux-mips <mailto:[email protected]>, Deng-Cheng Zhu <mailto:[email protected]> *Subject:* Re: [RFC][PATCH] MIPS: VPE: Remove vpe_getuid and vpe_getgid
Quoted 39 lines · Eric W. Biederman
The linux build-bot recently reported a build error in
arch/mips/kernel/vpe.ctree:
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.gitfor-linushead: 261000a56b6382f597bcb12000f55c9ff26a1efb commit: 261000a56b6382f597bcb12000f55c9ff26a1efb [4/4] userns:userns: Remove
UIDGID_STRICT_TYPE_CHECKS
config: make ARCH=mipsmaltaaprp_defconfigAll 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 863abad4 Jesper Juhl 2010-10-30 1080 return -ENOMEM; 863abad4 Jesper Juhl 2010-10-30 1081 } e01402b1 Ralf Baechle 2005-07-14 1082 v->plen = P_SIZE; e01402b1 Ralf Baechle 2005-07-14 1083 v->load_addr = NULL; e01402b1 Ralf Baechle 2005-07-14 1084 v->len = 0; e01402b1 Ralf Baechle 2005-07-14 1085 d76b0d9b David Howells 2008-11-14 @1086 v->uid = filp->f_cred->fsuid; d76b0d9b David Howells 2008-11-14 @1087 v->gid = filp->f_cred->fsgid; 2600990e Ralf Baechle 2006-04-05 1088 2600990e Ralf Baechle 2006-04-05 1089 v->cwd[0] = 0; 2600990e Ralf Baechle 2006-04-05 1090 ret =
getcwd(v->cwd, VPE_PATH_MAX);When examining the code to see what
v->uidandv->gidwere used for I discovered that the only users in the kernel arevpe_getuidandvpe_getgid, and thatvpe_getuidandvpe_getgidare never called.
Quoted 8 lines
So instead of proposing a conversion to use
kuid_tandkgid_tinstead of unsigned int/int as I normally would let's just kill this dead code so no one has to worry about it further.Cc Ralf Baechle <[email protected]>Signed-off-by "Eric W. Biederman" <[email protected]>
This patch looks good to me, however, Deng-Cheng should also confirm if this patch is okay. He is currently maintaining that code. Thanks.
Steve