From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/13164 Path: news.gmane.org!.POSTED!not-for-mail From: Joseph Sible Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] fexecve: implement in terms of execveat when it exists Date: Sun, 2 Sep 2018 00:04:55 -0400 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1535860999 26362 195.159.176.226 (2 Sep 2018 04:03:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 2 Sep 2018 04:03:19 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-13180-gllmg-musl=m.gmane.org@lists.openwall.com Sun Sep 02 06:03:15 2018 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1fwJbW-0006kW-S1 for gllmg-musl@m.gmane.org; Sun, 02 Sep 2018 06:03:14 +0200 Original-Received: (qmail 27989 invoked by uid 550); 2 Sep 2018 04:05:19 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 27954 invoked from network); 2 Sep 2018 04:05:18 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=DrhfnLf1dDBBLEeW4CLf8Yt2OLmKeyRUZbFYyMUka0Y=; b=iSP4GGjnKabm2T1NifQnYlkkCb1XmTxWZhVaiKpOsZMxVd8LSjYtoyTaii4xqafmYy C9ZKEccEVt4AHGAkHmNSsQh5tPZSYxDfpvRm4viqiJfTPhg2K1E9JUEKrIW0XvX/7v2S 8cYI67jSjSTtAy11EYDnUi9Sr6YCiEKxin8nYnh0QwYqCd+34YsQLMuwJ41BK/5CrWmC jDt2+YjaYKNtu/kmbo9qEZHYgB+CPoaC4nvgUsVe/YhmMiu7Xyyk9ZaOWO3KVVMC7PEq I0k9LWqpkrNiT9clKyXHHE7jgPknZciJXjdq+SacTFuL0gXsNQe9FsVjN8hVACyLFD6Z rX7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=DrhfnLf1dDBBLEeW4CLf8Yt2OLmKeyRUZbFYyMUka0Y=; b=oYL1yWT+GHDR6B1PDQ8YcrQ2mL8Sr9GzelsG8eetLJvbF7z9dzhUqPpYdHYbfpijQe w86Bl86I0AVy7QuLwH8cJE5Q/FfNgRoEXTaCkzGQkS5P6D7T3Dt1r6vTHdaU9dayaF6Q 7z46KqUIueVIbPp7lCe8w5+sN9QjEaxWv8k5Og8LsOo/HAmw68UBHQwK0BTOl0QdkGsA 05zmotpM5BlXH3SNOHQTQFfleedCsmuJ7MeFQVSOOYGO4D4QXGssrBWsqKaN65sF9Fbd t1ejsULK5z8RjvYv9fU4hpZ0+hUPbZF/maI7X946QFfOR2R0tk6/0pcqWH1WtPUj89xq x22w== X-Gm-Message-State: APzg51DkNoLQ6nP6kh916/hWvVs7pnKvYUgJgiWptXEbOHvYox+ZZBvY IAgdDi2uYossYmWlx4X367SZJeqBth8zHHKILD+h+AsiUiVUEQ== X-Google-Smtp-Source: ANB0VdY4VRxPM32Q94S7z0imQWMS0RwuBalx7XWTmVidbXL1qgzgI50gUFOyD6zLFkJu4zxX1JGHeqt/8VzPmxlSKTI= X-Received: by 2002:ac8:156:: with SMTP id f22-v6mr21771695qtg.186.1535861106916; Sat, 01 Sep 2018 21:05:06 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:13164 Archived-At: This lets fexecve work even when /proc isn't mounted. --- src/process/fexecve.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/process/fexecve.c b/src/process/fexecve.c index 6507b42..905487e 100644 --- a/src/process/fexecve.c +++ b/src/process/fexecve.c @@ -1,13 +1,20 @@ +#define _GNU_SOURCE #include #include +#include +#include "syscall.h" void __procfdname(char *, unsigned); int fexecve(int fd, char *const argv[], char *const envp[]) { +#ifdef SYS_execveat + return syscall(SYS_execveat, fd, "", argv, envp, AT_EMPTY_PATH); +#else char buf[15 + 3*sizeof(int)]; __procfdname(buf, fd); execve(buf, argv, envp); if (errno == ENOENT) errno = EBADF; return -1; +#endif } -- 2.7.4