Re: [RFC] [PATCH] file posix capabilities

From: Seth Arnold
Date: Tue Aug 29 2006 - 14:34:39 EST


On Mon, Aug 28, 2006 at 04:39:12PM -0500, Serge E. Hallyn wrote:
> +int cap_task_kill(struct task_struct *p, struct siginfo *info,
> + int sig, u32 secid)
> +{
> + if (info != SEND_SIG_NOINFO && (is_si_special(info) || SI_FROMKERNEL(info)))
> + return 0;
> +
> + if (secid)
> + /*
> + * Signal sent as a particular user.
> + * Capabilities are ignored. May be wrong, but it's the
> + * only thing we can do at the moment.
> + * Used only by usb drivers?
> + */
> + return 0;
> + if (current->uid == 0 || current->euid == 0)
> + return 0;

uid/euid checks feel out of place in the capabilities code.

> + if (capable(CAP_KILL))
> + return 0;
> + if (cap_issubset(p->cap_permitted, current->cap_permitted))
> + return 0;
> +
> + return -EPERM;
> +}

Thanks Serge

Attachment: pgp00000.pgp
Description: PGP signature