Messages in this thread | | | Date | Fri, 23 May 2008 21:40:40 -0700 | From | "Andrew G. Morgan" <> | Subject | Re: capget() overflows buffers. |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Chris Wright wrote: | Hmm, it would be kind of nice to have a formalized way get the size, | perhaps it would help with KaiGai's request for caps printed out. | Something that tells us either the number of u32s, or the max bit | supported?
Serge has already provided one with the call,
~ sys_prctl(PR_CAPBSET_READ, x);
returns -EINVAL if (x > max-supported-capability).
(Ref: 3b7391de67da515c91f48aa371de77cb6cc5c07e)
|> | All looks good. I think we need to issue some warnings, because |> | at least Fedora 9 and openSUSE 11 are/will be 2.6.25 based. |> |> Do any of the above answers help? (FWIW I attached the patch to the |> redhat bug.) | | Yes, thanks. But I still think we need to print a warning (unfortunately | we can't distinguish libcap from non-libcap app), because apps that | aren't using libcap should really be updated (either pull new update | from vendor or recompiled by end user).
Just to be clear, you are not referring to a warning that the application is stuck in a 32-bit capability world, because we already have one of those: warn_legacy_capability_use(). You are referring to a warning that might indicate a problem with code like that given in your example - in which case I'll respond to that part of the thread...
Cheers
Andrew
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux)
iD8DBQFIN5xI+bHCR3gb8jsRAsz6AKDHOeOO8953r2bRJ3RXZaRdBnlGUwCdG3oX CvWy/iQVmfVdpeRIWLa7N/w= =R7Bq -----END PGP SIGNATURE-----
| |