Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1322619ybb; Sat, 11 Apr 2020 00:17:11 -0700 (PDT) X-Google-Smtp-Source: APiQypKoDfRBWrkxPZkYa6Qz5In9SylrzT51V1BnKk0sUho6aGxVQ9E3hFACFLKF7n2/0snaDUsT X-Received: by 2002:ac8:4449:: with SMTP id m9mr2535669qtn.175.1586589430904; Sat, 11 Apr 2020 00:17:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586589430; cv=none; d=google.com; s=arc-20160816; b=NPm48cfIrpckS8Gpvfksq3k6vaaoRYsVGa2YJFKrAd06eaLP4/riGuzELmdAuzm+4n YujHNJB/Z+NaRADOhIG9Jpwy0JxuTWUE7rhgunhZD7rdpG57+iCIbvkljq60y40D+4VV 8rZdLJHvvGY6TftNdIJk6mdsk3OxoKKLeb14Gz5AF/ofpzKw6PX1PkdPD7eZbXO4+PeJ 2C8w7u3M7Llyx4UokmL5aYHCHQdtmT9r2XI6EXxjAQ6L2hAULgZaARk0HneI0c47RALp mh6vKZbLAbNZlJr28s68/v6Z8ktJAu7QgNbbwQR57JfYmWozQ3gxES7ZTcQCyMpGTswP Q41A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :mime-version:dkim-signature; bh=Fa9OKlPgIZsak2scOJMVIYdvh3KbHmtnaJtoH8ECQUs=; b=fPgF/C60B3wgZXAL7bR7fFIJPVq76Af7eYXxhqHC/p30w0OBVSn5FwZMjhA8HRnpZ2 /rIFdOGd7qpRCNx12nurTvJm6kLYVcgIZHqPEFOZHYREsyw16tuNIw6R5azQAuVG45nw ehmnQofUQL3xbv6DaztQt5B44iAsSm+t40vReVMewB39171vCToDw87Tamp97O+PT9+Y rNzm7yhw0XTOwxCBTVPSwg7tavihPYoc+yGmBTXoOpG1rmITBFYVl0LS3hSg5YzNAar0 yCpRm4UD1Cx+757CsBw3K4LsPvpHS30hHS7uEjf4+ug4iSbbhvyZMc5XBmALB5jsvLpb RmfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@juliacomputing-com.20150623.gappssmtp.com header.s=20150623 header.b="kXVfw/kF"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a12si2340167qtc.135.2020.04.11.00.16.57; Sat, 11 Apr 2020 00:17:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@juliacomputing-com.20150623.gappssmtp.com header.s=20150623 header.b="kXVfw/kF"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726182AbgDKHOT (ORCPT + 99 others); Sat, 11 Apr 2020 03:14:19 -0400 Received: from mail-il1-f171.google.com ([209.85.166.171]:36408 "EHLO mail-il1-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726162AbgDKHOS (ORCPT ); Sat, 11 Apr 2020 03:14:18 -0400 Received: by mail-il1-f171.google.com with SMTP id p13so3811083ilp.3 for ; Sat, 11 Apr 2020 00:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juliacomputing-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=Fa9OKlPgIZsak2scOJMVIYdvh3KbHmtnaJtoH8ECQUs=; b=kXVfw/kF5eBaxzDv2RdRg4ZFnoDgQgTMISSlNx2qkoB9vyyQ9HYivF0/+IsZqQVx/i pCRxwTu6cQLwcwoS5sD56tZV+q47fcJTgnhr8rH5Iyw03kBTPikug6pcRbRy7ztC05pc G/VIGgCTNaRx6JGhShZ8sGcHHJs0dogWNHIEQKA8dYwjd3IITvZ5XOyYxLlQriZA/1ey Lq5p7IaFjCwtGNNEuk+gxR7S+abV0tBSwj3VKkPT7ykjVW5B4mzSIpxfBWxpqNqIjhIw wpS5UExRpyto6Xmj+OT47kJcxinSBkwNxlz8+QY8OfUlKrN/obcumn+D19H5yD4/fwya PtYA== 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:cc; bh=Fa9OKlPgIZsak2scOJMVIYdvh3KbHmtnaJtoH8ECQUs=; b=c3gDhipcEiVack44papN1C7puH1MepMRcPYyMS+rbmHRyhKpZ3Y70JW8cDhkk0wFtr QZ45I/oR3RSDQT/t1BM2XkSYAkpu0ry587AkJvvwikeqtLVJzxKC5EjJeswc9lkET40d NlU91Vvs2BCT5lq6drmGHrmtmaTW/q4W9xzr7VWqlSZW/9Esw0uEtgi95fDrGYIZUg92 lWZBAeZYqCbiKKmK5Ej+NlQW3CwmZA6EBx9M0mid/Km0QLesb+z59AEzqXWuedy/qJoq Eni5xdaIaqRrKHTjl5VIGdvpzdIjlnvCY9k5UQJ5OuJkeYh9dAj9gm4gUfplgl2Fwquw BBNQ== X-Gm-Message-State: AGi0PubzmeDD3Oq74sEGcoc+9zh8/GZLGyQUYSJhNG7gBHqRocKri1WU f1xXWHf3m+e1ptZTQDXikEALq/QEUMA+0gA6d0umeGbFMVzxjg== X-Received: by 2002:a92:250e:: with SMTP id l14mr8544680ill.201.1586589256485; Sat, 11 Apr 2020 00:14:16 -0700 (PDT) MIME-Version: 1.0 From: Keno Fischer Date: Sat, 11 Apr 2020 03:13:40 -0400 Message-ID: Subject: ptrace and SIGNAL_UNKILLABLE To: Linux Kernel Mailing List Cc: Jamie Iles , Oleg Nesterov , Andrew Morton Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi folks, I was seeing some unexpected hangs when ptracing a buggy container init, that I didn't see when just running it regularly. Some investigation pointed me to commit [eb61b5911] signal: don't remove SIGNAL_UNKILLABLE for traced tasks In particular, consider a container init that just segfaults: segv.c: int main(void) { return *((int*)-1); } $ gcc -o segv segv.c unshare -p -U -r -f ./segv Segmentation fault $ strace -f unshare -p -U -r -f ./segv [hangs] The reason this hangs is that above commit prevents ptrace'd tasks from having their SIGNAL_UNKILLABLE flag removed, so when the SIGSEGV gets generated, that flag does not get unset. When strace re-injects the SIGSEGV, it simply gets ignored, the process re-enters user space and the whole ordeal starts over. I considered sending a patch that updates that code-path to only preserve SIGNAL_UNKILLABLE for SIGTRAP signals, but I figured that may yet be insufficient as well. I think a proper solution would probably refactor the signal code to allow the call side to decide whether or not to clear this flag (such that ptrace could elect not to, but otherwise the process is undisturbed), but I'm not familiar enough with the code to attempt a patch for that. If this is what's supposed to happen, or it is infeasible to correct it, it would be useful to have a ptrace option that can be set, to nevertheless make the injected signal final. At the moment, I can't think of a good way to inject such a signal. Thanks, Keno