From patchwork Wed Nov 22 23:21:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 168612 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:6f03:b0:164:83eb:24d7 with SMTP id r3csp1568123rwn; Wed, 22 Nov 2023 15:24:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IFnPLOjSOfKl0pWY/Kf1wjeRptqN/NWVawBczK1l2ciS1SQ2m/Ky17M27ZRpq+2FBCo3+Cm X-Received: by 2002:a17:902:820f:b0:1ca:1be4:bda4 with SMTP id x15-20020a170902820f00b001ca1be4bda4mr3662297pln.4.1700695443759; Wed, 22 Nov 2023 15:24:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700695443; cv=none; d=google.com; s=arc-20160816; b=NRL4BfwmpQQE2YcSJ8sck+RRjvBii4FScEQ048KBPPoOxY/RQV+DP6OSrBDtDm2usK K8AI1w/U0zjhMCXxbwtP4Hg83DrjcX0Wg3Kv3mqqVz9orWd/RNwFRIVl5gDwEoiemhX3 NwJuSE/Xu1UTzqGFILl2xciK77VfUVwcNIfHl7O7KWvxflcBs3RUrlU2+6ahd/Iu9fEW oUcVCQt37S6RKTh3sDRsU8Y4X/T6cztzAVq7K6p/dJsVl9Vn5Bg8zx9W7+M5V9iU0lS1 MjEQ0E6GQ76WOianakKpvEj5j6fwMmQOakby/zpOQUvnh7FzZr6/H8OPVFHoYE6U7cyg fmoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=Z4czFyhbGzMtri3GyRe+WOtcWzzK1XpjENULev3bk1M=; fh=Qbk0RS4bf6GjbhGkpgFoVgYg5V+1DfWcZ6CAErfO2MQ=; b=09X2/Luvrh7V6qiSptSROvLACIs8x1JaWraUeApx4C7yOvd72fNyl5YKURsQV2KAS9 Cj+85MR4cCaRrk5wmvCdKF+mYa0iP83REZThKzCwsDR+jZjCLuze+ro2tG9BWswV72e7 5n/kmyJup1lpN2DXioNRuJnVFRtvQnPwZdfD8ZxKrcb1W+dapZr57rhWkElLxczliEJW yuX1kzPCqnxVK1NbpkMV547+ROp8HjEmDoWvvO9L+/1qNHWqKjSVj9jfVSYI5pGoZ1wM QNRvo/hEGr1iO+eY+PfAKYPnUypd8N6bEbhsoUQGaqzZMutWYhQ3YmRvtoWpTsS7/oOf c0bA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=NxtE0Rxs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id k11-20020a170902c40b00b001cf64a69c81si426740plk.466.2023.11.22.15.24.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 15:24:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=NxtE0Rxs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 150C580C0A67; Wed, 22 Nov 2023 15:21:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234509AbjKVXVf (ORCPT + 99 others); Wed, 22 Nov 2023 18:21:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229481AbjKVXVc (ORCPT ); Wed, 22 Nov 2023 18:21:32 -0500 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A308191; Wed, 22 Nov 2023 15:21:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1700695286; bh=srEK4Dv24I4ReE5ME7PGG9hMAt6epR4KY8YZybZeB5w=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=NxtE0Rxs/IstNAYI6ArnQO1zYfrUzt6WY1HUy37hXMYugi60xcSbuYmK81IOxZ26C TmrZYHwk9pMYh5iU2wEC2ZJcFFJ2QcCgokgvYaz0ylU1KCj5l4uhn6QY8boWQSKaZN eHbcoKEh49DE2zQV8V3m3e86mLkGpo1fTQoQh2pc= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 23 Nov 2023 00:21:25 +0100 Subject: [PATCH 1/3] tools/nolibc: drop custom definition of struct rusage MIME-Version: 1.0 Message-Id: <20231123-nolibc-rlimit-v1-1-a428b131de2a@weissschuh.net> References: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> In-Reply-To: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> To: Willy Tarreau , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1700695285; l=1460; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=srEK4Dv24I4ReE5ME7PGG9hMAt6epR4KY8YZybZeB5w=; b=uchEGzHmA/GH3gMecABp7LlEuFjgup5ONftSDDvzrKWXE+Gzoa6yiHURMy9mNvR5ZAOZ/7ZtX 1rCWhkLvVTwDHjsPhl/xbPCbUJYfBicSC4pXpWTxEhvaepi08nbySBD X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 22 Nov 2023 15:21:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783308425810176882 X-GMAIL-MSGID: 1783308425810176882 A future commit will include linux/resource.h, which will conflict with the private definition of struct rusage in nolibc. Avoid the conflict by dropping the private definition and use the one from the UAPI headers. Signed-off-by: Thomas Weißschuh --- tools/include/nolibc/types.h | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/tools/include/nolibc/types.h b/tools/include/nolibc/types.h index ad0ddaa89e50..b26a5d0c417c 100644 --- a/tools/include/nolibc/types.h +++ b/tools/include/nolibc/types.h @@ -13,6 +13,7 @@ #include #include #include +#include /* Only the generic macros and types may be defined here. The arch-specific @@ -178,26 +179,6 @@ struct linux_dirent64 { char d_name[]; }; -/* needed by wait4() */ -struct rusage { - struct timeval ru_utime; - struct timeval ru_stime; - long ru_maxrss; - long ru_ixrss; - long ru_idrss; - long ru_isrss; - long ru_minflt; - long ru_majflt; - long ru_nswap; - long ru_inblock; - long ru_oublock; - long ru_msgsnd; - long ru_msgrcv; - long ru_nsignals; - long ru_nvcsw; - long ru_nivcsw; -}; - /* The format of the struct as returned by the libc to the application, which * significantly differs from the format returned by the stat() syscall flavours. */ From patchwork Wed Nov 22 23:21:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 168611 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:6f03:b0:164:83eb:24d7 with SMTP id r3csp1567088rwn; Wed, 22 Nov 2023 15:21:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IG9YFWxkA0CUfSe+AlEm7y59Q1rCunXzKg/3AOaOnFjQHPqpxUB2+koQu+1y4/kVovXQJCC X-Received: by 2002:a05:6a00:1393:b0:68e:2478:d6c9 with SMTP id t19-20020a056a00139300b0068e2478d6c9mr3965440pfg.2.1700695312050; Wed, 22 Nov 2023 15:21:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700695312; cv=none; d=google.com; s=arc-20160816; b=w2W/gmbNkAvn74LXLIv7lZFtcTAYf0mVSOHlR0EjTkv9Co685sfdnTucRRrRRU1hRy V6TpowwWUZS0QtnMvMmWWEC8m85FVutMqNHi2b8eRMaxZhHb5YGa71+nIlyvbC7O4GJJ CheWT5VW8qV40v8y5RAXEFTCyRzozOfnP9mKdFN7bLkinSzIpYy7V5p/bsTbxdJsU6ko hFnXopw4QFM+rPdl3KW6vAVj1od+qpbyneRFQcTTXPY/vuTPX0ZImhyhBvXfeITUKDs7 7nzNYF+6Ifub7gE0zYjpynzkvm4giaeVvG5357hw95Lqpxr+uM8YXEzJ0kiC7kZvh/DE /sQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=5XcgkzDN4xN6ND7d5GdgzgNY/08v0+76TkhtCRqwu9Q=; fh=Qbk0RS4bf6GjbhGkpgFoVgYg5V+1DfWcZ6CAErfO2MQ=; b=G9OZttEZm0v+E/OFLBmLAtY9fnANpyd77Wj0DfeX/Ma9R/JGKoIZxqp8vB9QnO09Ec KE1T/jSYTEVHTw2omhtjY7m/IIK989stfeqjp4d4bh+BEFMbX/Iz1iJnIUhpuTTO1eR/ bJp2MhPNFewWABkZSEHGzMbFYarPqsJtKB3wDMXnzlIqc59byAF8AqZNiM+zoE+PzxVu jFVeCxIMB315pYmA5AH1Q68D9mJCqb7/RlbKqcINYcsgW3yJieJGj55/CGRsR2rN0UYH 7B8tYnXil+7vJRWn+ZYp3PXhZr1Yg/3Q64Pa1la7j7kXgfDlX92i7oRJlIXI+PLy/xkm bNRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=mj3VfFIz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id o123-20020a634181000000b005be0a705478si113776pga.89.2023.11.22.15.21.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 15:21:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=mj3VfFIz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 82BFF825A0DA; Wed, 22 Nov 2023 15:21:47 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344178AbjKVXVi (ORCPT + 99 others); Wed, 22 Nov 2023 18:21:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229576AbjKVXVc (ORCPT ); Wed, 22 Nov 2023 18:21:32 -0500 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AD8C199; Wed, 22 Nov 2023 15:21:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1700695286; bh=+wwLWsOzUhO5DcZAPO5W8gHxG/+RvPZMOuDOlIqHikY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=mj3VfFIzMYATJNncnNxf7lCtyL3K6dQoyS9Lbp0oFSdDotwX8gFxppwzH5tB39izR 7KVuXn1tTQLfyQxb2d8h9IgqbnSjjxUB+fv2JK2aQw0BgqyWviBJEqNbp9pM5Ndl5i bbZwcEag6OyEdWBkuZ7XPorboZ5kLmF2XcNlaVYc= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 23 Nov 2023 00:21:26 +0100 Subject: [PATCH 2/3] tools/nolibc: add support for getrlimit/setrlimit MIME-Version: 1.0 Message-Id: <20231123-nolibc-rlimit-v1-2-a428b131de2a@weissschuh.net> References: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> In-Reply-To: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> To: Willy Tarreau , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1700695285; l=3555; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=+wwLWsOzUhO5DcZAPO5W8gHxG/+RvPZMOuDOlIqHikY=; b=7MH+fFec8xzEZGptGCONnSZDtxVsM+HH4V2Xb+pgNVsICmD0Q+KtMr6Ifj3FNt2kIOQmsu8G0 pjNx/wPYoAiDwH6zFsR6eS08MvGJmNRAl0Bokd1kUCjwBTX07S46Hh8 X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 22 Nov 2023 15:21:47 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783308287599880893 X-GMAIL-MSGID: 1783308287599880893 The implementation uses the prlimit64 systemcall as that is available on all architectures. Signed-off-by: Thomas Weißschuh --- tools/include/nolibc/sys.h | 38 ++++++++++++++++++++++++++++ tools/testing/selftests/nolibc/nolibc-test.c | 29 +++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/tools/include/nolibc/sys.h b/tools/include/nolibc/sys.h index 2f359cb03d10..dda9dffd1d74 100644 --- a/tools/include/nolibc/sys.h +++ b/tools/include/nolibc/sys.h @@ -21,6 +21,7 @@ #include /* for O_* and AT_* */ #include /* for statx() */ #include +#include #include "arch.h" #include "errno.h" @@ -898,6 +899,43 @@ int reboot(int cmd) } +/* + * int getrlimit(int resource, struct rlimit *rlim); + * int setrlimit(int resource, const struct rlimit *rlim); + */ + +static __attribute__((unused)) +int sys_prlimit64(pid_t pid, int resource, + const struct rlimit64 *new_limit, struct rlimit64 *old_limit) +{ + return my_syscall4(__NR_prlimit64, pid, resource, new_limit, old_limit); +} + +static __attribute__((unused)) +int getrlimit(int resource, struct rlimit *rlim) +{ + struct rlimit64 rlim64; + int ret; + + ret = __sysret(sys_prlimit64(0, resource, NULL, &rlim64)); + rlim->rlim_cur = rlim64.rlim_cur; + rlim->rlim_max = rlim64.rlim_max; + + return ret; +} + +static __attribute__((unused)) +int setrlimit(int resource, const struct rlimit *rlim) +{ + struct rlimit64 rlim64 = { + .rlim_cur = rlim->rlim_cur, + .rlim_max = rlim->rlim_max, + }; + + return __sysret(sys_prlimit64(0, resource, &rlim64, NULL)); +} + + /* * int sched_yield(void); */ diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index 2b71fb5fae4e..d07cebace107 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -839,6 +840,33 @@ int test_pipe(void) return !!memcmp(buf, msg, len); } +int test_rlimit(void) +{ + struct rlimit rlim = { + .rlim_cur = 1 << 20, + .rlim_max = 1 << 20, + }; + int ret; + + ret = setrlimit(RLIMIT_CORE, &rlim); + if (ret) + return -1; + + rlim.rlim_cur = 0; + rlim.rlim_max = 0; + + ret = getrlimit(RLIMIT_CORE, &rlim); + if (ret) + return -1; + + if (rlim.rlim_cur != 1 << 20) + return -1; + if (rlim.rlim_max != 1 << 20) + return -1; + + return 0; +} + /* Run syscall tests between IDs and . * Return 0 on success, non-zero on failure. @@ -929,6 +957,7 @@ int run_syscall(int min, int max) CASE_TEST(poll_fault); EXPECT_SYSER(1, poll(NULL, 1, 0), -1, EFAULT); break; CASE_TEST(prctl); EXPECT_SYSER(1, prctl(PR_SET_NAME, (unsigned long)NULL, 0, 0, 0), -1, EFAULT); break; CASE_TEST(read_badf); EXPECT_SYSER(1, read(-1, &tmp, 1), -1, EBADF); break; + CASE_TEST(rlimit); EXPECT_SYSZR(1, test_rlimit()); break; CASE_TEST(rmdir_blah); EXPECT_SYSER(1, rmdir("/blah"), -1, ENOENT); break; CASE_TEST(sched_yield); EXPECT_SYSZR(1, sched_yield()); break; CASE_TEST(select_null); EXPECT_SYSZR(1, ({ struct timeval tv = { 0 }; select(0, NULL, NULL, NULL, &tv); })); break; From patchwork Wed Nov 22 23:21:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 168610 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:6f03:b0:164:83eb:24d7 with SMTP id r3csp1566990rwn; Wed, 22 Nov 2023 15:21:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IFRGbynZglK6imh0POwqrZ3wpRqGm4cvs9AyNUh0ools7ZSMPTVybnBwHNvUpcjwZVkKZR4 X-Received: by 2002:a17:902:ec82:b0:1cf:80db:72e1 with SMTP id x2-20020a170902ec8200b001cf80db72e1mr1806569plg.10.1700695299923; Wed, 22 Nov 2023 15:21:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700695299; cv=none; d=google.com; s=arc-20160816; b=UupQCxAvk6tizmjeHUQJVd0znSGJLhks9vKsmUzasb+gjbTuMiGXc09k/a/XMgwy/v woVfXxhFIFcaQH/oeDsfghZC6z+jDSAMij16PkOtt8Z3uTnd8j6RkBUyI1DkqG3cxrhx mZAcY80WWdNDPnMRMxQ6hhD4kj/H0ckzMs9fcLYW1z4fYfBvPC5qTjleWp5bKqEU4QwI w5g7x95jRpt/L8J6OIKmR3ujGHrovseyknCT26y3apCSwaMKWEOIzmQPmaFrPSK+KOdn V9qEd7ZMs9D/V2PmTHpMPjR8STmhYrxuleRRW/Q0jKWSbv0mBaMUGNjgmqTX8hb1RIVD ErFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=GPMOu3RwXvdNF1lex8uVrfBtqsdOW8GQT2GT8OxuKyU=; fh=Qbk0RS4bf6GjbhGkpgFoVgYg5V+1DfWcZ6CAErfO2MQ=; b=Key9Op0I79k2kZ9dWLnwqNyUXdUJBFU7cFZ7UgpE6ttqEYxdKaTR9OAOIE6tAYhbCN cMQ7Ff2w2dNKZnCDObPq5oyivmgoEvGjidvKvz+aZiSKtoUETjftvGQ3NYlc/M5XtLPD Ams//bJ6rPMfiMciJzsra2q4uH4D3fAq+D/wam5dCnVkXwwa4ifZyWBu5te97ku6VBVr O7sq9O9n66IKGpyzEP3ZtqBGrQsdDksNyXtz//PPYf34mdDrw4hsGKXqFsNM5aWiI8rD U1P/q1OLTOWTy3/48nHevNEHoNaezT8OuG/5X7iNvMEqXNrfgfoXjt0gQidZGaQX3rk3 KURw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=A+DzyIWo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id az7-20020a170902a58700b001cf75b042fesi404109plb.52.2023.11.22.15.21.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 15:21:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=A+DzyIWo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 2D22483524E6; Wed, 22 Nov 2023 15:21:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232953AbjKVXVe (ORCPT + 99 others); Wed, 22 Nov 2023 18:21:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229453AbjKVXVc (ORCPT ); Wed, 22 Nov 2023 18:21:32 -0500 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45654110; Wed, 22 Nov 2023 15:21:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1700695286; bh=UvTHVLrVS7yXSVngtpUNw0aaFtisHMdv5IagkHAb8Vw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=A+DzyIWop9H1iQqC4wC7ZOx+e18wBfsDCs2oqTHFLJYmu3W02n86u+DegEehx1vo5 zPnK5LHg5A1Gg9qKYUcvDua/04K/8lWDki8Nk6Hw6ybKKJJvjWzvlD3ht04llm2dg3 vqI0+I1UGmluY0dWiW/xLGaKI5pZkkW/27NZjQjk= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 23 Nov 2023 00:21:27 +0100 Subject: [PATCH 3/3] selftests/nolibc: disable coredump via setrlimit MIME-Version: 1.0 Message-Id: <20231123-nolibc-rlimit-v1-3-a428b131de2a@weissschuh.net> References: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> In-Reply-To: <20231123-nolibc-rlimit-v1-0-a428b131de2a@weissschuh.net> To: Willy Tarreau , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1700695285; l=1257; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=UvTHVLrVS7yXSVngtpUNw0aaFtisHMdv5IagkHAb8Vw=; b=6KaZT5arNtlQH/G4RUsDPzhaYavmO+ntu3wPDXuPTC1+AZtPQ7oKArk9dQd3zjNeWdHEh79kF 0mI+PGBl1gJASvDvJ1nsyTFpMpIFBc+504WY/LcH19X3N09dwik+7xk X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 22 Nov 2023 15:21:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783308274891028203 X-GMAIL-MSGID: 1783308274891028203 qemu-user does has its own implementation of coredumping. That implementation does not respect the call to prctl(PR_SET_DUMPABLE, 0) in run_protection(). This leads to a coredump for every test run under qemu-user. Use also setrlimit() to inhibit coredump creation which is respected by qemu-user. Link: https://lore.kernel.org/qemu-devel/20231115-qemu-user-dumpable-v1-2-edbe7f0fbb02@t-8ch.de/ Signed-off-by: Thomas Weißschuh --- tools/testing/selftests/nolibc/nolibc-test.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index d07cebace107..ccb8d017a3e7 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -1167,6 +1167,7 @@ static int run_protection(int min __attribute__((unused)), { pid_t pid; int llen = 0, status; + struct rlimit rlimit = { 0, 0 }; llen += printf("0 -fstackprotector "); @@ -1198,6 +1199,7 @@ static int run_protection(int min __attribute__((unused)), close(STDERR_FILENO); prctl(PR_SET_DUMPABLE, 0, 0, 0, 0); + setrlimit(RLIMIT_CORE, &rlimit); smash_stack(); return 1;