All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank v Waveren <fvw.uml@var.cx>
To: user-mode-linux-devel@lists.sourceforge.net
Subject: [uml-devel] cap-bound not working in uml
Date: Sat, 15 Jul 2006 17:23:43 +0200	[thread overview]
Message-ID: <20060715152343.GA12263@var.cx> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1787 bytes --]

I was trying to limit some unecessary capabilities in a UML instance
with /proc/sys/kernel/cap-bound, but it turned out not to take.

The source of the problem (or at least something a bit of the way up
the garden path of the problem) is at security/commoncap.c:140 at the
top of cap_bprm_apply_creds(bprm, unsafe):

   void cap_bprm_apply_creds (struct linux_binprm *bprm, int unsafe)
   {
           /* Derived from fs/exec.c:compute_creds. */
           kernel_cap_t new_permitted, working;
   
           new_permitted = cap_intersect (bprm->cap_permitted, cap_bset);
           working = cap_intersect (bprm->cap_inheritable,
                                    current->cap_inheritable);
           new_permitted = cap_combine (new_permitted, working);
           ...

Here the new permitted set gets limited to the bits in cap_bset, which
is as it should be, but then the intersection of the of the current
and exec inheritable masks get added to that set, whereas as I
understand it, cap_bset should always be the bounding set.

I've tried commenting out that bit and everything worked as I'd hoped
(I haven't done extensive testing, but bounding the caps worked, as
did suids and such).

That doesn't explain why it works with those lines left in on a
non-UML kernel though, so I assume I'm missing something fundamental.

(My guest kernel is 
  Linux version 2.6.16.24 (fvw@jupiter.var.cx) (gcc version 4.0.3 20051201 
  (prerelease) (Debian 4.0.2-5)) #3 Sat Jul 15 16:54:20 CEST 2006
, should it matter)

-- 
Frank v Waveren                                  Key fingerprint: BDD7 D61E
fvw@var.cx                                              5D39 CF05 4BFC F57A
Public key: hkp://wwwkeys.pgp.net/468D62C8              FA00 7D51 468D 62C8

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 375 bytes --]


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

[-- Attachment #3: Type: text/plain, Size: 194 bytes --]

_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

             reply	other threads:[~2006-07-15 15:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-15 15:23 Frank v Waveren [this message]
2006-07-16 10:31 ` [uml-devel] cap-bound not working in uml Blaisorblade
2006-07-16 12:05   ` Frank v Waveren
2006-07-16 19:24     ` Blaisorblade
2006-07-18  1:30       ` Frank v Waveren
2006-07-18  6:47     ` Frank v Waveren
2006-07-18  6:51       ` Frank v Waveren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060715152343.GA12263@var.cx \
    --to=fvw.uml@var.cx \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.