This will make it easier to modify the patch series moving forward. No functional changes. On one patch, we added the SoB from Giulio, which was missing. Giulio was the original contributor of the patch, and nobody touched it since it was introduced. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
From 850fd3f4a0384ebe492a466a9b1149060619aacb Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
Date: Sun, 14 Jul 2024 12:57:22 +0200
|
|
Subject: [PATCH] core/adbd/adb.c: open code capset()
|
|
|
|
capset() is apparently implemented by C libraries (at least glibc and
|
|
musl), but not exposed through a header as an official public API.
|
|
|
|
In addition capset(2) says:
|
|
|
|
Note: glibc provides no wrappers for these system calls,
|
|
necessitating the use of syscall(2)
|
|
|
|
The lack of a header with a prototype for capset() was not causing any
|
|
problem so far, but GCC 14.x has become stricter on implicit
|
|
declarations, causing the build to fail with:
|
|
|
|
core/adbd/adb.c:1296:9: error: implicit declaration of function 'capset' [-Wimplicit-function-declaration]
|
|
|
|
So fix that by open-coding it using syscall() as suggested by the man
|
|
page.
|
|
|
|
Upstream: N/A, we're too far from upstream
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
core/adbd/adb.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/core/adbd/adb.c b/core/adbd/adb.c
|
|
index 7fe6445..98b1de1 100644
|
|
--- a/core/adbd/adb.c
|
|
+++ b/core/adbd/adb.c
|
|
@@ -41,6 +41,7 @@
|
|
#if !ADB_HOST
|
|
#include "android_filesystem_config.h"
|
|
#include <linux/capability.h>
|
|
+#include <sys/syscall.h>
|
|
#include <linux/prctl.h>
|
|
#include <sys/mount.h>
|
|
#else
|
|
@@ -1293,7 +1294,7 @@ int adb_main(int is_daemon, int server_port)
|
|
header.pid = 0;
|
|
cap[CAP_TO_INDEX(CAP_SYS_BOOT)].effective |= CAP_TO_MASK(CAP_SYS_BOOT);
|
|
cap[CAP_TO_INDEX(CAP_SYS_BOOT)].permitted |= CAP_TO_MASK(CAP_SYS_BOOT);
|
|
- capset(&header, cap);
|
|
+ syscall(SYS_capset, &header, cap);
|
|
|
|
D("Local port disabled\n");
|
|
} else {
|
|
--
|
|
2.47.0
|
|
|