Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/812781/?format=api
{ "id": 812781, "url": "http://patchwork.ozlabs.org/api/patches/812781/?format=api", "web_url": "http://patchwork.ozlabs.org/project/lede/patch/20170912111250.31576-12-sojkam1@fel.cvut.cz/", "project": { "id": 54, "url": "http://patchwork.ozlabs.org/api/projects/54/?format=api", "name": "LEDE development", "link_name": "lede", "list_id": "lede-dev.lists.infradead.org", "list_email": "lede-dev@lists.infradead.org", "web_url": "http://lede-project.org/", "scm_url": "", "webscm_url": "http://git.lede-project.org/", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170912111250.31576-12-sojkam1@fel.cvut.cz>", "list_archive_url": null, "date": "2017-09-12T11:12:41", "name": "[LEDE-DEV,procd,09/17] utrace: Use PTHREAD_SEIZE instead of PTHREAD_TRACEME", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "510f1f4f96087d02293f0ec70186cfb3ebdaa898", "submitter": { "id": 14651, "url": "http://patchwork.ozlabs.org/api/people/14651/?format=api", "name": "Michal Sojka", "email": "sojkam1@fel.cvut.cz" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/lede/patch/20170912111250.31576-12-sojkam1@fel.cvut.cz/mbox/", "series": [ { "id": 2665, "url": "http://patchwork.ozlabs.org/api/series/2665/?format=api", "web_url": "http://patchwork.ozlabs.org/project/lede/list/?series=2665", "date": "2017-09-12T11:12:36", "name": "[LEDE-DEV,procd,01/17] utrace: Fix environment initialization", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/2665/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/812781/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/812781/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"YdbpFENM\"; \n\tdkim-atps=neutral" ], "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs2LT5NG9z9s7g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 21:16:49 +1000 (AEST)", "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drjBL-0007p1-07; Tue, 12 Sep 2017 11:16:43 +0000", "from smtpx.feld.cvut.cz ([147.32.192.33])\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drj8i-0004Y2-VX\n\tfor lede-dev@lists.infradead.org; Tue, 12 Sep 2017 11:14:08 +0000", "from localhost (unknown [192.168.200.7])\n\tby smtpx.feld.cvut.cz (Postfix) with ESMTP id BAA70DC3D1;\n\tTue, 12 Sep 2017 13:13:15 +0200 (CEST)", "from smtpx.feld.cvut.cz ([192.168.200.6])\n\tby localhost (styx.feld.cvut.cz [192.168.200.7]) (amavisd-new,\n\tport 10054)\n\twith ESMTP id wVW4iT9Zf_uR; Tue, 12 Sep 2017 13:13:14 +0200 (CEST)", "from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34])\n\tby smtpx.feld.cvut.cz (Postfix) with ESMTP id 48839DC3E3;\n\tTue, 12 Sep 2017 13:13:13 +0200 (CEST)", "from wsh by steelpick.2x.cz with local (Exim 4.89)\n\t(envelope-from <sojkam1@fel.cvut.cz>)\n\tid 1drj7x-0008EY-9p; Tue, 12 Sep 2017 13:13:13 +0200" ], "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:References:\n\tIn-Reply-To:Message-Id:Date:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=yrEpPQPo6I0S4PZskCQ06ujPFkIWQmJkNFgfIe2V3nQ=;\n\tb=YdbpFENMtCG2zM\n\tyRnDqhsQ8m/sk22t1eFnZvV/BoLHv9SZBwQova90M6rVLoiguWeuzmP3+FaJboE6aQ7TI+7/W/nTf\n\tk2Hw/3/H0N7Mc1FU8X7GDNJYe2WG3zHm+uV0BYRudwM+yCpX+UZuxsDhqG2BLTmmhyssSq1aHHMHt\n\tIVQtv7Kc39RumFPyFF/F1RV3A3M6THItiLccCoic4iA6lQ8dT2W6GgZReWH5PkCZRdIVyVFb0ipnD\n\tQF4E4vwdBaVEB+KWj3Gi6Uz2tlUKAF2vfJIyVizNo92F7HfUCExYYbl6B/UW+9bkfSdVnVVQHZ1Uq\n\tEJko3nCt1KiKBK0i5pTg==;", "X-Virus-Scanned": "IMAP STYX AMAVIS", "From": "Michal Sojka <sojkam1@fel.cvut.cz>", "To": "lede-dev@lists.infradead.org", "Date": "Tue, 12 Sep 2017 13:12:41 +0200", "Message-Id": "<20170912111250.31576-12-sojkam1@fel.cvut.cz>", "X-Mailer": "git-send-email 2.14.1", "In-Reply-To": "<20170912111250.31576-1-sojkam1@fel.cvut.cz>", "References": "<20170912111250.31576-1-sojkam1@fel.cvut.cz>", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20170912_041401_339841_D0761433 ", "X-CRM114-Status": "GOOD ( 10.60 )", "X-Spam-Score": "-4.2 (----)", "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details: (-4.2 points)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [147.32.192.33 listed in list.dnswl.org]\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]", "Subject": "[LEDE-DEV] [PATCH procd 09/17] utrace: Use PTHREAD_SEIZE instead of\n\tPTHREAD_TRACEME", "X-BeenThere": "lede-dev@lists.infradead.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<lede-dev.lists.infradead.org>", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/lede-dev/>", "List-Post": "<mailto:lede-dev@lists.infradead.org>", "List-Help": "<mailto:lede-dev-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/lede-dev>,\n\t<mailto:lede-dev-request@lists.infradead.org?subject=subscribe>", "Cc": "Michal Sojka <sojkam1@fel.cvut.cz>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "\"Lede-dev\" <lede-dev-bounces@lists.infradead.org>", "Errors-To": "lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org" }, "content": "This makes it easier to handle initial ptrace-stops (after\nfork/clone/...), because we don't need to distinguish whether SIGSTOP\nis from user or from ptrace. Also execve() does not deliver an extra\nSIGTRAP, which we would have to handle.\n\nSigned-off-by: Michal Sojka <sojkam1@fel.cvut.cz>\n---\n trace/preload.c | 1 -\n trace/trace.c | 19 +++++++++++++++----\n 2 files changed, 15 insertions(+), 5 deletions(-)", "diff": "diff --git a/trace/preload.c b/trace/preload.c\nindex 99dd906..ee97429 100644\n--- a/trace/preload.c\n+++ b/trace/preload.c\n@@ -32,7 +32,6 @@ static main_t __main__;\n static int __preload_main__(int argc, char **argv, char **envp)\n {\n \tunsetenv(\"LD_PRELOAD\");\n-\tptrace(PTRACE_TRACEME);\n \tkill(getpid(), SIGSTOP);\n \n \treturn (*__main__)(argc, argv, envp);\ndiff --git a/trace/trace.c b/trace/trace.c\nindex cad2d37..9d3cd0a 100644\n--- a/trace/trace.c\n+++ b/trace/trace.c\n@@ -24,6 +24,12 @@\n #include <string.h>\n #include <syslog.h>\n \n+#ifndef PTRACE_EVENT_STOP\n+/* PTRACE_EVENT_STOP is defined in linux/ptrace.h, but this header\n+ * collides with musl's sys/ptrace.h */\n+#define PTRACE_EVENT_STOP 128\n+#endif\n+\n #include <libubox/uloop.h>\n #include <libubox/blobmsg.h>\n #include <libubox/blobmsg_json.h>\n@@ -150,7 +156,10 @@ static void tracer_cb(struct uloop_process *c, int ret)\n \tstruct tracee *tracee = container_of(c, struct tracee, proc);\n \tint inject_signal = 0;\n \n-\tif (WIFSTOPPED(ret)) {\n+\t/* We explicitely check for events in upper 16 bits, because\n+\t * musl (as opposed to glibc) does not report\n+\t * PTRACE_EVENT_STOP as WIFSTOPPED */\n+\tif (WIFSTOPPED(ret) || (ret >> 16)) {\n \t\tif (WSTOPSIG(ret) & 0x80) {\n \t\t\tif (!tracee->in_syscall) {\n \t\t\t\tint syscall = ptrace(PTRACE_PEEKUSER, c->pid, reg_syscall_nr);\n@@ -175,6 +184,8 @@ static void tracer_cb(struct uloop_process *c, int ret)\n \t\t\tuloop_process_add(&child->proc);\n \t\t\tif (debug)\n \t\t\t\tfprintf(stderr, \"Tracing new child %d\\n\", child->proc.pid);\n+\t\t} else if ((ret >> 16) == PTRACE_EVENT_STOP) {\n+\t\t\t/* Nothing special to do here */\n \t\t} else {\n \t\t\tinject_signal = WSTOPSIG(ret);\n \t\t\tif (debug)\n@@ -254,18 +265,18 @@ int main(int argc, char **argv, char **envp)\n \n \tsyscall_max = ARRAY_SIZE(syscall_names);\n \tsyscall_count = calloc(syscall_max, sizeof(int));\n-\twaitpid(child, &status, 0);\n+\twaitpid(child, &status, WUNTRACED);\n \tif (!WIFSTOPPED(status)) {\n \t\tERROR(\"failed to start %s\\n\", *argv);\n \t\treturn -1;\n \t}\n \n-\tptrace(PTRACE_SETOPTIONS, child, 0,\n+\tptrace(PTRACE_SEIZE, child, 0,\n \t PTRACE_O_TRACESYSGOOD |\n \t PTRACE_O_TRACEFORK |\n \t PTRACE_O_TRACEVFORK |\n \t PTRACE_O_TRACECLONE);\n-\tptrace(PTRACE_SYSCALL, child, 0, 0);\n+\tptrace(PTRACE_SYSCALL, child, 0, SIGCONT);\n \n \tuloop_init();\n \ttracer.proc.pid = child;\n", "prefixes": [ "LEDE-DEV", "procd", "09/17" ] }