libcap: fix CAP_LAST_CAP

(From OE-Core master rev: 9032c10cc882a96acdfd0739f090d121ab625a18)

(From OE-Core rev: c191cb79019482a5c6a404e02184bae40ff9f84a)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Roy Li 2013-10-23 17:05:41 +08:00 committed by Richard Purdie
parent 348944397c
commit a30af0dc1f
2 changed files with 41 additions and 1 deletions

View File

@ -10,7 +10,8 @@ DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
# attr and pam are disabled by EXTRA_OEMAKE_class-native
DEPENDS_class-native = "perl-native-runtime"
SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz"
SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz \
file://fix-CAP_LAST_CAP.patch"
PR = "r1"

View File

@ -0,0 +1,39 @@
fix CAP_LAST_CAP
Upstream-Status: pending
Two new capability CAP_BLOCK_SUSPEND and CAP_WAKE_ALARM have been added into
kernel, but libcap did not update them.
Once libcap uses its capability.h (the default value of KERNEL_HEADERS), and
application always use capability.h from kernel, that will make cap_get_flag
return wrong value.
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
libcap/include/linux/capability.h | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/libcap/include/linux/capability.h b/libcap/include/linux/capability.h
index 4924f2a..57026be 100644
--- a/libcap/include/linux/capability.h
+++ b/libcap/include/linux/capability.h
@@ -360,7 +360,15 @@ struct cpu_vfs_cap_data {
CAP_SYS_ADMIN is not acceptable anymore. */
#define CAP_SYSLOG 34
-#define CAP_LAST_CAP CAP_SYSLOG
+/* Allow triggering something that will wake the system */
+
+#define CAP_WAKE_ALARM 35
+
+/* Allow preventing system suspends */
+
+#define CAP_BLOCK_SUSPEND 36
+
+#define CAP_LAST_CAP CAP_BLOCK_SUSPEND
#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
--
1.7.10.4