Re: [PATCH] Filesystem capabilities support

Horst von Brand
2005-07-13T17:55:44Z

Nicholas Hans Simmonds <nhstux@gmail.com> wrote:
> Sorry, my earlier reply seems to have gotten lost somewhere. I've been
> pondering this issue for some time and am still not sure what's the best
> answer. I've attached a small patch which handles this by detecting byte
> swapping of the version code. I'm not convinced it's necessary but
> shouldn't hurt.
>
> diff --git a/security/commoncap.c b/security/commoncap.c
> --- a/security/commoncap.c
> +++ b/security/commoncap.c
> @@ -153,6 +153,15 @@ int cap_bprm_set_security (struct linux_
> down(&bprm_dentry->d_inode->i_sem);
> ret = bprm_getxattr(bprm_dentry,XATTR_CAP_SET,&caps,sizeof(caps));
> if(ret == sizeof(caps)) {
> + if(caps.version = swab32(_LINUX_CAPABILITY_VERSION)) {
^
|
+-- Surely wrong?!

> + swab32s(&caps.version);
> + swab32s(&caps.effective);
> + swab32s(&caps.mask_effective);
> + swab32s(&caps.permitted);
> + swab32s(&caps.mask_permitted);
> + swab32s(&caps.inheritable);
> + swab32s(&caps.mask_inheritable);
> + }
> if(caps.version == _LINUX_CAPABILITY_VERSION) {
> cap_t(bprm->cap_effective) &= caps.mask_effective;
> cap_t(bprm->cap_effective) |= caps.effective;
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513