From: Greg KH <greg@kroah.com>
To: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Kohei KaiGai <kaigai@ak.jp.nec.com>,
Li Zefan <lizf@cn.fujitsu.com>,
akpm@osdl.org, "Andrew G. Morgan" <morgan@kernel.org>,
jmorris@namei.org, linux-kernel@vger.kernel.org,
linux-security-module@vger.kernel.org, adobriyan@gmail.com
Subject: Re: [PATCH] exporting capability code/name pairs (try #5.1)
Date: Fri, 15 Feb 2008 10:50:03 -0800 [thread overview]
Message-ID: <20080215185003.GA7495@kroah.com> (raw)
In-Reply-To: <20080215183802.GA3925@sergelap.austin.ibm.com>
On Fri, Feb 15, 2008 at 12:38:02PM -0600, Serge E. Hallyn wrote:
> Quoting Kohei KaiGai (kaigai@ak.jp.nec.com):
> > Li Zefan wrote:
> > - snip -
> > >> +error1:
> > >> + kobject_put(capability_kobj);
> > >> +error0:
> > >> + printk(KERN_ERR "Unable to export capabilities\n");
> > >> +
> > >> + return 0;
> > >
> > > Should return -EFXXX ..
> >
> > Oops,
> > I fixed it as follows. Thanks for your pointed out.
> >
> > --------
> > This patch enables to export code/name of capabilities supported
> > on the running kernel.
> >
> > A newer kernel sometimes adds new capabilities, like CAP_MAC_ADMIN
> > at 2.6.25. However, we have no interface to disclose what capabilities
> > are supported on this kernel. Thus, we have to maintain libcap version
> > in appropriate one synchronously.
> >
> > This patch enables libcap to collect the list of capabilities on
> > run time, and provide them for users.
> > It helps to improve portability of library.
> >
> > It exports these information as regular files under /sys/kernel/capability.
> > The numeric node exports its name, the symbolic node exports its code.
> >
> > Please consider to put this patch on the queue of 2.6.25.
>
> Looks good, except don't you need to put the code in commoncap.c under a
> #ifdef SYSFS?
>
> thanks,
> -serge
>
> >
> > Thanks,
> > ===================================================
> > [kaigai@saba ~]$ ls -R /sys/kernel/capability/
> > /sys/kernel/capability/:
> > codes names version
> >
> > /sys/kernel/capability/codes:
> > 0 10 12 14 16 18 2 21 23 25 27 29 30 32 4 6 8
> > 1 11 13 15 17 19 20 22 24 26 28 3 31 33 5 7 9
> >
> > /sys/kernel/capability/names:
> > cap_audit_control cap_kill cap_net_raw cap_sys_nice
> > cap_audit_write cap_lease cap_setfcap cap_sys_pacct
> > cap_chown cap_linux_immutable cap_setgid cap_sys_ptrace
> > cap_dac_override cap_mac_admin cap_setpcap cap_sys_rawio
> > cap_dac_read_search cap_mac_override cap_setuid cap_sys_resource
> > cap_fowner cap_mknod cap_sys_admin cap_sys_time
> > cap_fsetid cap_net_admin cap_sys_boot cap_sys_tty_config
> > cap_ipc_lock cap_net_bind_service cap_sys_chroot
> > cap_ipc_owner cap_net_broadcast cap_sys_module
> > [kaigai@saba ~]$ cat /sys/kernel/capability/version
> > 0x20071026
> > [kaigai@saba ~]$ cat /sys/kernel/capability/codes/30
> > cap_audit_control
> > [kaigai@saba ~]$ cat /sys/kernel/capability/names/cap_sys_pacct
> > 20
> > [kaigai@saba ~]$
> > ===================================================
As you are adding new sysfs entries, please also add the needed
Documentation/ABI/ entries as well.
Also, this code can be cleaned up a lot by just using the basic kobject
attributes, and not rolling your own types here.
thanks,
greg k-h
next prev parent reply other threads:[~2008-02-15 19:38 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-25 5:18 [PATCH 1/3] exporting capability code/name pairs (try 2nd) Kohei KaiGai
2008-01-25 7:32 ` Andrew G. Morgan
2008-01-25 11:41 ` Kohei KaiGai
2008-02-01 5:17 ` [PATCH 1/3] exporting capability code/name pairs (try #3) Kohei KaiGai
2008-02-04 16:21 ` Serge E. Hallyn
2008-02-06 2:27 ` Kohei KaiGai
2008-02-06 5:08 ` Serge E. Hallyn
2008-02-08 9:42 ` [PATCH] exporting capability code/name pairs (try #4) Kohei KaiGai
2008-02-08 16:48 ` Andrew G. Morgan
2008-02-12 0:56 ` Kohei KaiGai
2008-02-08 19:23 ` Alexey Dobriyan
2008-02-12 1:10 ` Kohei KaiGai
2008-02-12 21:58 ` Alexey Dobriyan
2008-02-13 8:14 ` Kohei KaiGai
2008-02-12 18:08 ` Serge E. Hallyn
2008-02-13 8:01 ` Kohei KaiGai
2008-02-15 1:38 ` [PATCH] exporting capability code/name pairs (try #5) Kohei KaiGai
2008-02-15 1:58 ` Li Zefan
2008-02-15 2:58 ` [PATCH] exporting capability code/name pairs (try #5.1) Kohei KaiGai
2008-02-15 18:38 ` Serge E. Hallyn
2008-02-15 18:50 ` Greg KH [this message]
2008-02-18 7:12 ` Kohei KaiGai
2008-02-18 7:40 ` Greg KH
2008-02-18 8:45 ` Kohei KaiGai
2008-02-19 16:16 ` Greg KH
2008-02-20 4:38 ` [PATCH] exporting capability code/name pairs (try #6) Kohei KaiGai
2008-02-20 5:02 ` Greg KH
2008-02-20 5:38 ` Kohei KaiGai
2008-02-20 5:53 ` Greg KH
2008-02-20 6:19 ` [PATCH] exporting capability code/name pairs (try #6.1) Kohei KaiGai
2008-02-20 6:16 ` Kohei KaiGai
2008-02-20 4:39 ` [PATCH] exporting capability code/name pairs (try #6) Kohei KaiGai
2008-02-20 6:16 ` [PATCH] exporting capability code/name pairs (try #6.1) Kohei KaiGai
2008-02-18 15:15 ` [PATCH] exporting capability code/name pairs (try #5.1) Serge E. Hallyn
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=20080215185003.GA7495@kroah.com \
--to=greg@kroah.com \
--cc=adobriyan@gmail.com \
--cc=akpm@osdl.org \
--cc=jmorris@namei.org \
--cc=kaigai@ak.jp.nec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=morgan@kernel.org \
--cc=serue@us.ibm.com \
/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.