Thread (14 messages) flat view 14 messages, 5 authors, 2016-12-19

Re: RFC: capabilities(7): notes for kernel developers

From: John Stultz <hidden>
Date: 2016-12-16 21:16:29
Also in: lkml

On Fri, Dec 16, 2016 at 1:05 PM, Serge E. Hallyn [off-list ref] wrote:
Quoting John Stultz (john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org):
quoted
On Fri, Dec 16, 2016 at 12:10 PM, Serge E. Hallyn [off-list ref] wrote:
quoted
Quoting Michael Kerrisk (man-pages) (mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org):
quoted
On 12/16/2016 01:44 AM, Casey Schaufler wrote:
quoted
On 12/15/2016 4:31 PM, John Stultz wrote:
quoted
On Thu, Dec 15, 2016 at 12:40 PM, Casey Schaufler
[off-list ref] wrote:
quoted
On 12/15/2016 11:41 AM, Michael Kerrisk (man-pages) wrote:
quoted
On 12/15/2016 05:29 PM, Casey Schaufler wrote:
quoted
CAP_WAKE_ALARM could readily be CAP_TIME.
Actually, I don't quite understand what you mean with that sentence.
Could you elaborate?
Should have said CAP_SYS_TIME

Setting an alarm could be considered a time management function,
depending on what it actually does.
Just a nit here. CAP_WAKE_ALARM is more about the privilege of waking
a system from suspend, while CAP_SYS_TIME covers the ability to set
the time. One wouldn't necessarily want to give applications which
could wake a system up the capability to also set the time.
Doesn't really matter, except that an ignorant developer
might make the mistake I did and assume that WAKE_ALARM
was somehow related to time management. If you want to use
it as an example don't let my dunderheadedness get in your
way.
Actually, I decided it wasn't such a good example anyway.
That capability could potentially be generic. (But it probably
should better have been named something like 'CAP_WAKE_SYSTEM'.)
How about:

Subject: [PATCH 1/1] capabilities: alias CAP_WAKE_SYSTEM to CAP_WAKE_ALARM

As suggested by Michael Kerrisk his is a less confusing name, and
this won't break any old userspace.

Signed-off-by: Serge Hallyn <redacted>
Cc: Michael Kerrisk <redacted>
---
 include/uapi/linux/capability.h | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/include/uapi/linux/capability.h b/include/uapi/linux/capability.h
index fd4f87d..ba972ff 100644
--- a/include/uapi/linux/capability.h
+++ b/include/uapi/linux/capability.h
@@ -357,6 +357,8 @@ struct vfs_ns_cap_data {

 #define CAP_WAKE_ALARM            35

+#define CAP_WAKE_SYSTEM      CAP_WAKE_ALARM
+
I was thinking of the same thing. Although I might rename the
numerical define to WAKE_SYSTEM and put WAKE_ALARM as the alias (along
with a comment as to WAKE_ALARM being deprecated), so its more clear
which is the one that ought to be used by new code.

However, in the spirit of this thread, we might even consider
broadening the cap silo a bit further, to something like
CAP_WAKE_SUSPEND, such that it might also be able to cover broader PM
actions?
Or just CAP_UNSUSPEND?
I guess I was trying to capture it could be use for actions like both
waking and suspending the system.

thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help