From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp12.broadcom.com [192.19.144.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC9DB3ACA74; Fri, 24 Jul 2026 21:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.207 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929290; cv=none; b=iScdhlqIoiiD2Nusq6UVncySvKZ9aSgFGgjpXwQiTSvvqo6HYiMuYykf28QXufOXkNRoUP2hipDk5LmwT6FiOyoj5LC0IqpXiwRQ94v1YosRstXDda7aSmI4cSwuqx6xcHSSK7ONJrBXNEkSW/K2Mp5m7qsDKp8qB6fzrZ9641E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929290; c=relaxed/simple; bh=rP/30eNjoWdGI0nVXvPpYsc/XoqP1bck1OwJZBCRtDk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CM/vwx2GFbxn8Eauna7RP+qDQH/jEUtq9BTUn+FaZ4KQp1J6xUgJyEF9HjqEBt9109knSDPOcX0ScJAySRrXEkA5RmGyyOWwyIwwIpkOsgEWlxCOCJuVIJ7W2DjeioDjIbTqPhFOmpHh/Q7pAhtO96gJZnRFfk1BwmUYIQVNOyM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=tCZhj/ao; arc=none smtp.client-ip=192.19.144.207 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="tCZhj/ao" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id B50A5C0003E3; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com B50A5C0003E3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929281; bh=rP/30eNjoWdGI0nVXvPpYsc/XoqP1bck1OwJZBCRtDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tCZhj/aoM02YOJgrXSJuLE5MsTsniRiQLjDAj2lRvUIAJfR33ONYYRCRCgL+5uS3H 9bR772mRXHQsgJTXu2JgZMi9GkUihcHfzFhfRwBJP7xaHslKMDYGK7+F83gfJNCLXk vjMadfh8ZYqiFoCAN0PfLwtJDCCOCe6KE7+Oej1w= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 43C9BACE; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Tiwei Bie , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 1/9] um: Add os_set_pdeathsig helper function Date: Fri, 24 Jul 2026 14:41:11 -0700 Message-Id: <20260724214119.1066665-2-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tiwei Bie commit 4e5adbe447db382cc76e05613581f96aef4f91d2 upstream This helper can be used to set the parent-death signal of the calling process to SIGKILL to ensure that the process will be killed if the UML kernel dies unexpectedly without proper cleanup. This helper will be used in the follow-up patches. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20241024142828.2612828-2-tiwei.btw@antgroup.= com Signed-off-by: Johannes Berg Signed-off-by: Florian Fainelli --- arch/um/include/shared/os.h | 2 ++ arch/um/os-Linux/process.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h index 77a8593f219a..2a0843cc2208 100644 --- a/arch/um/include/shared/os.h +++ b/arch/um/include/shared/os.h @@ -219,6 +219,8 @@ extern int os_unmap_memory(void *addr, int len); extern int os_drop_memory(void *addr, int length); extern int can_drop_memory(void); =20 +void os_set_pdeathsig(void); + /* execvp.c */ extern int execvp_noalloc(char *buf, const char *file, char *const argv[]); /* helper.c */ diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index 2686120ab232..4015d3dc3958 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -234,3 +235,8 @@ void init_new_thread_signals(void) set_handler(SIGIO); signal(SIGWINCH, SIG_IGN); } + +void os_set_pdeathsig(void) +{ + prctl(PR_SET_PDEATHSIG, SIGKILL); +} --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp12.broadcom.com [192.19.144.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC946327C09; Fri, 24 Jul 2026 21:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.207 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; cv=none; b=Kr9IZH3KL0XbE5IKWxgm9Xz1FsWZX7OQDdSTqwHl4B4gtY6MpjmV+3Ww88vObJEEH5YOmflzFOtgq+LoA3O03a9Gvz+fjtFtc1cxLHgcQheZuJ6m4lBVR1jYgpIVBqx9WKSrO3DHQxTpr5lvNX6HD6VrKCATU8GUVfUUzEMgD3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; c=relaxed/simple; bh=X6hKdn2YSvvafi2mgHuWo3wbqEvQXzvfO9b69Ah5G9c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=q73pmu3mZu5PISiLKFAlQhTD5rsyzadsDWeHzc6HoofHz5SeHiRmMjPNs2qr/AZsctF4GrttWch7J76ATRgbFhhqJobtldjDFgagk5JY3ur8a236e73tSjxM02F0KFIbIcbgxvHIPFWrJlJkk9SsvNYMGKFLqAF3ABta6naxc2w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=DxCwqt8v; arc=none smtp.client-ip=192.19.144.207 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="DxCwqt8v" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id DE90DC0003EC; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com DE90DC0003EC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929281; bh=X6hKdn2YSvvafi2mgHuWo3wbqEvQXzvfO9b69Ah5G9c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DxCwqt8vSB7LG+I6lGoGHH4diBONgRG14vAGZqmLx/sDE2y/bzZpJZuJQXPl92jia btTEYJTDmKtEnmEfVE6FW6jI/EaMJA3o9YKu+yUrE2ydL4qO/9eYWzqPKImBoiuq2t +mtQSbMwsHkgxKnp4A+nP9nM/T/cwbRlc5Hbe+Ew= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 7A579AD0; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Benjamin Berg , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , Tiwei Bie , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 2/9] um: Set parent death signal for winch thread/process Date: Fri, 24 Jul 2026 14:41:12 -0700 Message-Id: <20260724214119.1066665-3-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Benjamin Berg commit fdb2ecd35d327a1fc6bba69b97f85b494e1f4b6b upstream The winch "thread" is really a separate process. Using prctl to set PR_SET_PDEATHSIG ensures that this separate thread will be killed if the UML kernel itself dies unexpectedly and does not perform proper cleanup. Signed-off-by: Benjamin Berg Link: https://patch.msgid.link/20240919124511.282088-5-benjamin@sipsolution= s.net Signed-off-by: Johannes Berg Signed-off-by: Florian Fainelli --- arch/um/drivers/chan_user.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index a66e556012c4..1434114b2f34 100644 --- a/arch/um/drivers/chan_user.c +++ b/arch/um/drivers/chan_user.c @@ -10,6 +10,7 @@ #include #include #include +#include #include "chan_user.h" #include #include @@ -161,6 +162,8 @@ static __noreturn int winch_thread(void *arg) int count; char c =3D 1; =20 + prctl(PR_SET_PDEATHSIG, SIGKILL); + pty_fd =3D data->pty_fd; pipe_fd =3D data->pipe_fd; count =3D write(pipe_fd, &c, sizeof(c)); --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp11.broadcom.com [192.19.166.231]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5260235E930; Fri, 24 Jul 2026 21:49:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.166.231 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929786; cv=none; b=N2HjxaW4MnlXLv7D5v3EEDpVO02R+h9oNVVqtkaYNCHQLcEPFpaeTJdX0Q99VX+032809oGRZufICSBarD7oYFbJpyL8cQeBQZoMwF1dg43Q/QxI5UZ3jRVI2t1gMfjc9onm50XFh1VsdIUoYMBjJUtT6HG+ca0yKYQE7GinsSQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929786; c=relaxed/simple; bh=QHfTE5bRcdLZyxMFDgb7aIpXRPUd7y2ghLn7Xo3L0Zw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pUvb8CC1WYTo4E8Ad5dKrhOS+zWFYmB9d1+lJbqoQrPMOmZFdDLbQRvL02Uy2JiBt1Fp+zVO8fx1I6VAjklUgJpy/VDrwVX8nAHdL1rKvNd9uCkBXfNnKYa+9/FqcZKiJGaMorS9DsAJtuBVPWVTdaEJxiaAwOhoYoJPeMu1TCw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=sZetw17M; arc=none smtp.client-ip=192.19.166.231 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="sZetw17M" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id E1CE6C0000E0; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com E1CE6C0000E0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929281; bh=QHfTE5bRcdLZyxMFDgb7aIpXRPUd7y2ghLn7Xo3L0Zw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sZetw17MNfDTmcMCyWhrDsMrGlDm+5hpAZVnHCWCdi1hjm8ADC5sWofvUbnfzcbqN 9EANnpQoIB1kVXwciOa0qq+1SYrCtaczU5rAeWonKGeP4uud9DCpGt5AQH9/2qDWPD VijDBnUb7x77DO1OMJMiuO7WgvBRQEuu80BM48c8= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id B1E98ACD; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Tiwei Bie , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 3/9] um: Use os_set_pdeathsig helper in winch thread/process Date: Fri, 24 Jul 2026 14:41:13 -0700 Message-Id: <20260724214119.1066665-4-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tiwei Bie commit 42b8b00c8ab1ac18fccde3f29ee589626a561ea7 upstream Since we have a helper now, let's switch to using it. It will make the code slightly more consistent. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20241024142828.2612828-5-tiwei.btw@antgroup.= com Signed-off-by: Johannes Berg Signed-off-by: Florian Fainelli --- arch/um/drivers/chan_user.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index 1434114b2f34..35f9beeb19b3 100644 --- a/arch/um/drivers/chan_user.c +++ b/arch/um/drivers/chan_user.c @@ -10,7 +10,6 @@ #include #include #include -#include #include "chan_user.h" #include #include @@ -162,7 +161,7 @@ static __noreturn int winch_thread(void *arg) int count; char c =3D 1; =20 - prctl(PR_SET_PDEATHSIG, SIGKILL); + os_set_pdeathsig(); =20 pty_fd =3D data->pty_fd; pipe_fd =3D data->pipe_fd; --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp09.broadcom.com [192.19.166.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5A44385D6C; Fri, 24 Jul 2026 21:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.166.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929679; cv=none; b=mQcw2gEJLIvlTCyIsc2YTxhu48FlOlHq57V3OZlhIBOc2wD8LSKn/14ZZdKw6Pf+rUATV2bLeiUqWcdPADx7WegyeXyEhZnvtH6JbUkmv/RmoVDPH5vemI83SdGjHevigINNyPPo28cqADvr2zlnryRQdEG/ppFdyJLc9zYQoGI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929679; c=relaxed/simple; bh=QbIyHuCTZXlWeF4J0dDRY0wdd72yASGiNYrryz+pe/M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mwYdWIPaznWJhmuZGlzJWgBx2J+/DW05zfq4TVqXhLInK698wCMDMHGpDuoEtOQu1d2eduXpwfvVvqNvwbAwvA1Vdxqq3Y3CaFFeJ+kD9SQZXnukYrgK6AZ4COYJOkRMFp1Cr6rV/f0XFq7/HhJ8TrjeQA6Q4HaSB3up0vZC3cM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=QFbsERre; arc=none smtp.client-ip=192.19.166.228 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="QFbsERre" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 217EFC0000FB; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 217EFC0000FB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929282; bh=QbIyHuCTZXlWeF4J0dDRY0wdd72yASGiNYrryz+pe/M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QFbsERreLH4vaLK/6Wf3eBAZ59eS1Bk3UPqa3P5uvAKAjNEVkLiR+vON2Ne7fqezt yGcsobjQNsttIoMqAh5d85oXKLtK7EwEzAOw94I2kASE0LXN/FmQ/58jtDzVvhEQuD aCRflgvsZuKuxKAQ8/YjYNThvx9U0PJrGxcDRblQ= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id E7A4AACE; Fri, 24 Jul 2026 14:41:21 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Tiwei Bie , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 4/9] um: Set parent-death signal for ubd io thread/process Date: Fri, 24 Jul 2026 14:41:14 -0700 Message-Id: <20260724214119.1066665-5-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tiwei Bie commit 9b5e6c0f5a9199c69af81ac5bedc512ee7dc20b3 upstream The ubd io thread is not really a traditional thread. Set the parent-death signal for it to ensure that it will be killed if the UML kernel dies unexpectedly without proper cleanup. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20241024142828.2612828-3-tiwei.btw@antgroup.= com Signed-off-by: Johannes Berg Signed-off-by: Florian Fainelli --- arch/um/drivers/ubd_kern.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index 2bfb17373244..66c1a8835e36 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c @@ -1501,6 +1501,7 @@ int io_thread(void *arg) { int n, count, written, res; =20 + os_set_pdeathsig(); os_fix_helper_signals(); =20 while(1){ --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp12.broadcom.com [192.19.144.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCA763B6371; Fri, 24 Jul 2026 21:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.207 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929290; cv=none; b=UPYvemOXn7+BlBTRLZiRY7EpPukVWLA29zRvmZuzkZlhaYPt4Bo8memIxM1tFLYANfXiG91qhapH3KMPkr89Wo4a1v5DBM5r/dv8VqxFsgGg+uHiLvNGABduhuFQmkyXR1CYbmN+wNXpzggsS8CHXdvtzzjbtfhjv4ZSrLv5L+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929290; c=relaxed/simple; bh=MwClynYi4UNnl6Qv2z6qYYcDGD0umclzy3mfRtl6KE4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=amHkpoPdueuf5hSQFLtF8jiwCWklV1mX1q4hgeEcit19Lp1iniqgYn6QYi1BS27VwT5ltnMuMQuj1LlHT01bVln3ZjOaAnR/90Qb0OMrWQeQ/h+bdmyqKgL6iSp4J5v7Gm6t/+hqW6EFY5iJkScWbuyF2464a1L77woW7qtodUw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=HbkSZXF6; arc=none smtp.client-ip=192.19.144.207 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="HbkSZXF6" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 8F7AAC0003F1; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 8F7AAC0003F1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929282; bh=MwClynYi4UNnl6Qv2z6qYYcDGD0umclzy3mfRtl6KE4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HbkSZXF6FeBLqDbu0mITagG9fU09UAuSao2iEKeVgkTycc0QhkXC2sweyCb6I/Khp 4Wd0zWkWNTtKYEQra0UTqgsbQw0SY234WytDNj/pEC+EShYu4DkntRbX5BBq4Jvdix lVi6CmVFZE4nw6kxfLM7C7RPodBNw+9HqKY4YOcA= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 295C8ACD; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Tiwei Bie , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 5/9] um: Set parent-death signal for write_sigio thread/process Date: Fri, 24 Jul 2026 14:41:15 -0700 Message-Id: <20260724214119.1066665-6-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tiwei Bie commit c6c4adee65969218b0b7b13f568fd2c6f2333373 upstream The write_sigio thread is not really a traditional thread. Set the parent-death signal for it to ensure that it will be killed if the UML kernel dies unexpectedly without proper cleanup. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20241024142828.2612828-4-tiwei.btw@antgroup.= com Signed-off-by: Johannes Berg Signed-off-by: Florian Fainelli --- arch/um/os-Linux/sigio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c index 9e71794839e8..9aac8def4d63 100644 --- a/arch/um/os-Linux/sigio.c +++ b/arch/um/os-Linux/sigio.c @@ -55,6 +55,7 @@ static int write_sigio_thread(void *unused) int i, n, respond_fd; char c; =20 + os_set_pdeathsig(); os_fix_helper_signals(); fds =3D ¤t_poll; while (1) { --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (lpdvsmtp09.broadcom.com [192.19.166.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4E91384CF5; Fri, 24 Jul 2026 21:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.166.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929678; cv=none; b=j7sTT53oLWaAXxfGiRgYUKfWh4wgFAFSrrkz1auzoZQ3Myu7yu9mjQU1tEdMpz9Fxvi53pRSsMX+nCJcBr76t/BtGZkEBuczCQepp8t8IP9Rih4WetZ0jD+joRQubaw82Ro1Bi7SvQfCEe4XmkZCA+sz8gC5ycu/B+ke/DFbGOM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929678; c=relaxed/simple; bh=wMjqlEZYnVh14Bap38tP88tLAFmuKutSDKQ4369eTWE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tfgAAFISlerDYH4OV4Troo6Yd+Zi7rO8U6ZZrVaudykSHasxUg0kaLEEXyBU+/tWLo3Wt1eCL4CHjWj0AYSouqEuD0vs8AwOn3r5PuW3pmNxg3m6skjE5zy8sCdYPOit6pbWTnXq84eJUYMSd7cNfrS1dYYOQ7uY6zI+h5uj878= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=eZlKS5H9; arc=none smtp.client-ip=192.19.166.228 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="eZlKS5H9" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 9033FC0000FE; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 9033FC0000FE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929282; bh=wMjqlEZYnVh14Bap38tP88tLAFmuKutSDKQ4369eTWE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eZlKS5H9n0k9CSn7Quj4PBlP2j95+hScWQv203eAYsU9oldUR6byVp29DgK5cFezk /b39+PjoHkoICuemlbQ8VdskYxiGL/elw4rucRNvgIQoDWoPU0W8QsKManTe46DEkA E2MynffKOmid2RHm34nfBWuEgzWzaU/JVkYDXDRM= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 5FDE5ACE; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Benjamin Berg , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , Tiwei Bie , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 6/9] um: Set parent death signal for userspace process Date: Fri, 24 Jul 2026 14:41:16 -0700 Message-Id: <20260724214119.1066665-7-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Benjamin Berg commit 801e00d3a1b78b7f71675fae79946ff4aa3ee070 upstream Enable PR_SET_PDEATHSIG so that the UML userspace process will be killed when the kernel exits unexpectedly. Signed-off-by: Benjamin Berg Link: https://patch.msgid.link/20240919124511.282088-4-benjamin@sipsolution= s.net Signed-off-by: Johannes Berg [florian: upstream applies os_set_pdeathsig() in stub_exe.c, a file introduced in v6.13 that does not exist in 6.12; applied instead to userspace_tramp() in arch/um/os-Linux/skas/process.c, which is the equivalent entry-point for the userspace process in 6.12] Signed-off-by: Florian Fainelli --- arch/um/os-Linux/skas/process.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/proces= s.c index b6f656bcffb1..cca016b0b29b 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c @@ -214,6 +214,9 @@ static int userspace_tramp(void *stack) (unsigned long) stub_segv_handler - (unsigned long) __syscall_stub_start; =20 + /* Make sure this process dies if the kernel dies */ + os_set_pdeathsig(); + ptrace(PTRACE_TRACEME, 0, 0, 0); =20 signal(SIGTERM, SIG_DFL); --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (relay.smtp-ext.broadcom.com [192.19.144.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEB633C3BF1; Fri, 24 Jul 2026 21:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.205 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; cv=none; b=d5oX91ukr/hNijT6DsTwSnzd8pd2jpptVeh4hTMnTl0FBE2kMxacm53rvqZKT5KW3518S/cX73BA4Ks96aQdociwwoed/ZUJFjHnaHoSNRuC2B99saOxbeh4Rchk+Wg2x/G3vEtIAMnqfKpQeR68oKzf4d0u2s6NJvarLm1Ne/A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; c=relaxed/simple; bh=B/FVPqJ84r1NeF4yRoSJgPJFblvoill5bI2J/4InfJc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Sd1/Pufacn5Mwjm0O/ajv8WM207iGWBtj/AnvaWuwHJaT9IEe/aAgjNWAMhM8byM3HsjsmSULHKkN2o6bwrEI5CiSq7WXNqAJGSd6+ucgY7D8dq8oqRL6c/RTf1uOnu0oWd1cgl9vb2BLtKnh8DxNLxufwgmVjC3e5EuctsR+7M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=FA4JeYel; arc=none smtp.client-ip=192.19.144.205 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="FA4JeYel" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 1983AC0000F8; Fri, 24 Jul 2026 14:41:23 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 1983AC0000F8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929283; bh=B/FVPqJ84r1NeF4yRoSJgPJFblvoill5bI2J/4InfJc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FA4JeYelE+tG7xu1u12xUIQEaqHuPcleuj+ctJVm80+XGX0ttBNcSMVRiiOXCl7IY P4KFOUoJevMxf4QX6klfqWuyxDOI7NPT4YBZSAj92vJo4nASkQmN8yNojLEDdOvyI7 4hXx+aqDbMjYTJGAeGM5CQWUNEtRZklX3nh/pd3k= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 988A2AD0; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: David Gow , Andy Shevchenko , Shuah Khan , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , Rae Moar , Kees Cook , Jens Axboe , Al Viro , Tiwei Bie , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 7/9] kunit: tool: Terminate kernel under test on SIGINT Date: Fri, 24 Jul 2026 14:41:17 -0700 Message-Id: <20260724214119.1066665-8-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: David Gow commit 8f260b02eeeffbf2263c2b82b6e3e32fd73cde2b upstream kunit.py will attempt to catch SIGINT / ^C in order to ensure the TTY isn't messed up, but never actually attempts to terminate the running kernel (be it UML or QEMU). This can lead to a bit of frustration if the kernel has crashed or hung. Terminate the kernel process in the signal handler, if it's running. This requires plumbing through the process handle in a few more places (and having some checks to see if the kernel is still running in places where it may have already been killed). Reported-by: Andy Shevchenko Closes: https://lore.kernel.org/all/aaFmiAmg9S18EANA@smile.fi.intel.com/ Signed-off-by: David Gow Reviewed-by: Andy Shevchenko Tested-by: Andy Shevchenko Signed-off-by: Shuah Khan [florian: resolved conflict in signal_handler(): upstream references _restore_terminal_if_tty() which is introduced by the following commit; retained subprocess.call(['stty', 'sane']) until that helper is available] Signed-off-by: Florian Fainelli --- tools/testing/kunit/kunit_kernel.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kuni= t_kernel.py index 12b0f2ee5665..3f2979f2f6ea 100644 --- a/tools/testing/kunit/kunit_kernel.py +++ b/tools/testing/kunit/kunit_kernel.py @@ -15,7 +15,7 @@ import shlex import shutil import signal import threading -from typing import Iterator, List, Optional, Tuple +from typing import Iterator, List, Optional, Tuple, Any from types import FrameType =20 import kunit_config @@ -252,6 +252,7 @@ class LinuxSourceTree: if kconfig_add: kconfig =3D kunit_config.parse_from_string('\n'.join(kconfig_add)) self._kconfig.merge_in_entries(kconfig) + self._process : Optional[subprocess.Popen[Any]] =3D None =20 def arch(self) -> str: return self._arch @@ -345,36 +346,45 @@ class LinuxSourceTree: args.append('kunit.filter_action=3D' + filter_action) args.append('kunit.enable=3D1') =20 - process =3D self._ops.start(args, build_dir) - assert process.stdout is not None # tell mypy it's set + self._process =3D self._ops.start(args, build_dir) + assert self._process is not None # tell mypy it's set + assert self._process.stdout is not None # tell mypy it's set =20 # Enforce the timeout in a background thread. def _wait_proc() -> None: try: - process.wait(timeout=3Dtimeout) + if self._process: + self._process.wait(timeout=3Dtimeout) except Exception as e: print(e) - process.terminate() - process.wait() + if self._process: + self._process.terminate() + self._process.wait() waiter =3D threading.Thread(target=3D_wait_proc) waiter.start() =20 output =3D open(get_outfile_path(build_dir), 'w') try: # Tee the output to the file and to our caller in real time. - for line in process.stdout: + for line in self._process.stdout: output.write(line) yield line # This runs even if our caller doesn't consume every line. finally: # Flush any leftover output to the file - output.write(process.stdout.read()) + if self._process: + if self._process.stdout: + output.write(self._process.stdout.read()) + self._process.stdout.close() + self._process =3D None output.close() - process.stdout.close() =20 waiter.join() subprocess.call(['stty', 'sane']) =20 def signal_handler(self, unused_sig: int, unused_frame: Optional[FrameTyp= e]) -> None: logging.error('Build interruption occurred. Cleaning console.') + if self._process: + self._process.terminate() + self._process.wait() subprocess.call(['stty', 'sane']) --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (relay.smtp-ext.broadcom.com [192.19.144.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B48413C1097; Fri, 24 Jul 2026 21:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.205 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; cv=none; b=cJbmUXjUvONj8G+Xr9ZTOPmB0Zsh2G0AKA1c480pvHpaFqTTc42l4N4KSn2p/hNjdGvQP4/RoaRsc0VeAvr39SyLPs3Ojk6ZH0jzoOi48qOAz6xjv0WoSpj4qdeuWrOT8MtmBD3h4b+aX+E1TAFE5fwEDDkQVpBTw5ITB2RyOEE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; c=relaxed/simple; bh=6bIR/igc8vtJnwe2y1aD78jUwOu4p7lxaqy0G9VYVCo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ndx0YT8qfBRUrzPmnTS8jsDYBojGxLQPUr6BX44pL+cNtKB02xOpzgfClkHqF+tsUtNRF2ZHteMF+WNoTnUJl9+BTrFot0AWeEM2HN7LUdwJhhGCtwNAv4fWKSYwcYOmX138Svcx8bea6yOayOErcMca6URMa5sGSTpGmggueM8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=CJYyCdcU; arc=none smtp.client-ip=192.19.144.205 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="CJYyCdcU" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 551F3C0000F9; Fri, 24 Jul 2026 14:41:23 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 551F3C0000F9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929283; bh=6bIR/igc8vtJnwe2y1aD78jUwOu4p7lxaqy0G9VYVCo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CJYyCdcUFWFjlHqsjLXkitcJEJLrYg5So/9dA5K9khMILJItPWq+fSa7EpoblrrC1 Q6RVdH6yrSkXeo8KTkmSgb+yNXfkVpJmcZEG6h5oLZLPzAucn/HaObTiCeWgaf7fHl OYit4J/S9heBFS62V4P24EEYQCSr0lV77OXgeaCo= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id D0CF5ACD; Fri, 24 Jul 2026 14:41:22 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Shuvam Pandey , David Gow , Shuah Khan , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , Rae Moar , Kees Cook , Jens Axboe , Al Viro , Tiwei Bie , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 8/9] kunit: tool: skip stty when stdin is not a tty Date: Fri, 24 Jul 2026 14:41:18 -0700 Message-Id: <20260724214119.1066665-9-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shuvam Pandey commit e42c349f4cdfa43cb39a68c8f764f8cafc23a9a9 upstream run_kernel() cleanup and signal_handler() invoke stty unconditionally. When stdin is not a tty (for example in CI or unit tests), this writes noise to stderr. Call stty only when stdin is a tty. Add regression tests for these paths: - run_kernel() with non-tty stdin - signal_handler() with non-tty stdin - signal_handler() with tty stdin Signed-off-by: Shuvam Pandey Reviewed-by: David Gow Signed-off-by: Shuah Khan [florian: add missing 'import sys' required by sys.stdin.isatty(); the module was already present in the mainline tree before this commit but was absent from the 6.12 base of kunit_kernel.py] Signed-off-by: Florian Fainelli --- tools/testing/kunit/kunit_kernel.py | 11 +++++-- tools/testing/kunit/kunit_tool_test.py | 42 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kuni= t_kernel.py index 3f2979f2f6ea..c09b66ba734b 100644 --- a/tools/testing/kunit/kunit_kernel.py +++ b/tools/testing/kunit/kunit_kernel.py @@ -14,6 +14,7 @@ import os import shlex import shutil import signal +import sys import threading from typing import Iterator, List, Optional, Tuple, Any from types import FrameType @@ -333,6 +334,12 @@ class LinuxSourceTree: return False return self.validate_config(build_dir) =20 + def _restore_terminal_if_tty(self) -> None: + # stty requires a controlling terminal; skip headless runs. + if sys.stdin is None or not sys.stdin.isatty(): + return + subprocess.call(['stty', 'sane']) + def run_kernel(self, args: Optional[List[str]]=3DNone, build_dir: str=3D'= ', filter_glob: str=3D'', filter: str=3D'', filter_action: Optional[str]=3D= None, timeout: Optional[int]=3DNone) -> Iterator[str]: # Copy to avoid mutating the caller-supplied list. exec_tests() reuses # the same args across repeated run_kernel() calls (e.g. --run_isolated), @@ -380,11 +387,11 @@ class LinuxSourceTree: output.close() =20 waiter.join() - subprocess.call(['stty', 'sane']) + self._restore_terminal_if_tty() =20 def signal_handler(self, unused_sig: int, unused_frame: Optional[FrameTyp= e]) -> None: logging.error('Build interruption occurred. Cleaning console.') if self._process: self._process.terminate() self._process.wait() - subprocess.call(['stty', 'sane']) + self._restore_terminal_if_tty() diff --git a/tools/testing/kunit/kunit_tool_test.py b/tools/testing/kunit/k= unit_tool_test.py index 70e5d0abe87f..6e6200d52540 100755 --- a/tools/testing/kunit/kunit_tool_test.py +++ b/tools/testing/kunit/kunit_tool_test.py @@ -503,6 +503,48 @@ class LinuxSourceTreeTest(unittest.TestCase): self.assertIn('kunit.filter_glob=3Dsuite.test1', start_calls[0]) self.assertIn('kunit.filter_glob=3Dsuite.test2', start_calls[1]) =20 + def test_run_kernel_skips_terminal_reset_without_tty(self): + def fake_start(unused_args, unused_build_dir): + return subprocess.Popen(['printf', 'KTAP version 1\n'], + text=3DTrue, stdout=3Dsubprocess.PIPE) + + non_tty_stdin =3D mock.Mock() + non_tty_stdin.isatty.return_value =3D False + + with tempfile.TemporaryDirectory('') as build_dir: + tree =3D kunit_kernel.LinuxSourceTree(build_dir, kunitconfig_paths=3D[o= s.devnull]) + with mock.patch.object(tree._ops, 'start', side_effect=3Dfake_start), \ + mock.patch.object(kunit_kernel.sys, 'stdin', non_tty_stdin), \ + mock.patch.object(kunit_kernel.subprocess, 'call') as mock_call: + for _ in tree.run_kernel(build_dir=3Dbuild_dir): + pass + + mock_call.assert_not_called() + + def test_signal_handler_skips_terminal_reset_without_tty(self): + non_tty_stdin =3D mock.Mock() + non_tty_stdin.isatty.return_value =3D False + tree =3D kunit_kernel.LinuxSourceTree('', kunitconfig_paths=3D[os.devnul= l]) + + with mock.patch.object(kunit_kernel.sys, 'stdin', non_tty_stdin), \ + mock.patch.object(kunit_kernel.subprocess, 'call') as mock_call, \ + mock.patch.object(kunit_kernel.logging, 'error') as mock_error: + tree.signal_handler(signal.SIGINT, None) + mock_error.assert_called_once() + mock_call.assert_not_called() + + def test_signal_handler_resets_terminal_with_tty(self): + tty_stdin =3D mock.Mock() + tty_stdin.isatty.return_value =3D True + tree =3D kunit_kernel.LinuxSourceTree('', kunitconfig_paths=3D[os.devnul= l]) + + with mock.patch.object(kunit_kernel.sys, 'stdin', tty_stdin), \ + mock.patch.object(kunit_kernel.subprocess, 'call') as mock_call, \ + mock.patch.object(kunit_kernel.logging, 'error') as mock_error: + tree.signal_handler(signal.SIGINT, None) + mock_error.assert_called_once() + mock_call.assert_called_once_with(['stty', 'sane']) + def test_build_reconfig_no_config(self): with tempfile.TemporaryDirectory('') as build_dir: with open(kunit_kernel.get_kunitconfig_path(build_dir), 'w') as f: --=20 2.34.1 From nobody Sat Jul 25 05:59:52 2026 Received: from relay.smtp-ext.broadcom.com (relay.smtp-ext.broadcom.com [192.19.144.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B48D73C1400; Fri, 24 Jul 2026 21:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.144.205 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; cv=none; b=WwLcwKkWFDPM3pOw6j2Gfj9C1jzpM2OKIIKnaIWssaANzu0o/46bFWzVd2p4idzkaZIpOvm+s1FMKCMaVH0q5Je9PmvJd3nloFjpA7AGip7Io3rFASckgZNaEmtJSVDfi5oQcW7iuAmxldRBmoRiuryaw+Q5oYst/tkwyeZqjNM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784929291; c=relaxed/simple; bh=a0Cfg7X+g3S2j3WgmrnppIxwpz2k3rDILWehus98x28=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ujlQKVu6xvQ8BBGDtHBb8KWUmgfu5cTjk+IvyfQZYH+cQGhbhTtsdOfdbfRMgXE/rk3IGNAUt/B8ks2C2QpIJHEpeRy51KHCe3rEIJaCbK+3yZ7tZ7re+qgHdtxEpr95hYIy0Sq+wDvbu8ANJ/HvsAo3PBzNir/djvJDimPD6Uk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=RF0dO4fx; arc=none smtp.client-ip=192.19.144.205 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="RF0dO4fx" Received: from mail-lvn-it-01.broadcom.com (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 8403DC0000FC; Fri, 24 Jul 2026 14:41:23 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 8403DC0000FC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1784929283; bh=a0Cfg7X+g3S2j3WgmrnppIxwpz2k3rDILWehus98x28=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RF0dO4fxr+fXUcerTBF4BDXI8aar+8stV5nFdcqIKg5cJqwA3wvps+YdMx+XQv74x Z1JTdJw2EXCfq7Sp20J8hQlWwLzttFUpiPsFcp+BfGhXnD007X+1FiCI4SazOx6an/ tcaFJRy70sO2JuWSkcM0aU1kPKWdSg7c2EiILzTs= Received: from stbirv-lnx-1.igp.broadcom.net (stbirv-lnx-1.igp.broadcom.net [10.67.48.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail-lvn-it-01.broadcom.com (Postfix) with ESMTPSA id 14C66ACE; Fri, 24 Jul 2026 14:41:23 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Tiwei Bie , Johannes Berg , Florian Fainelli , Richard Weinberger , Anton Ivanov , Johannes Berg , Brendan Higgins , David Gow , Rae Moar , Kees Cook , Jens Axboe , Al Viro , linux-um@lists.infradead.org (open list:USER-MODE LINUX (UML)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), kunit-dev@googlegroups.com (open list:KERNEL UNIT TESTING FRAMEWORK (KUnit)), bcm-kernel-feedback-list@broadcom.com Subject: [PATCH stable 6.12 9/9] um: Preserve errno within signal handler Date: Fri, 24 Jul 2026 14:41:19 -0700 Message-Id: <20260724214119.1066665-10-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260724214119.1066665-1-florian.fainelli@broadcom.com> References: <20260724214119.1066665-1-florian.fainelli@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tiwei Bie commit f68b2d5a907b53eed99cf2efcaaae116df73c298 upstream We rely on errno to determine whether a syscall has failed, so we need to ensure that accessing errno is async-signal-safe. Currently, we preserve the errno in sig_handler_common(), but it doesn't cover every possible case. Let's do it in hard_handler() instead, which is the signal handler we actually register. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20260106001228.1531146-2-tiwei.btw@antgroup.= com Signed-off-by: Johannes Berg [florian: hard_handler() in 6.12 retains the to_irq_stack/from_irq_stack loop from before the upstream SMP refactoring; errno save/restore is wrapped around that loop rather than replacing sig_handler_common's existing save/r= estore] Signed-off-by: Florian Fainelli --- arch/um/os-Linux/signal.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index b11ed66c8bb0..94abc9e3ec7e 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c @@ -190,6 +190,7 @@ static void hard_handler(int sig, siginfo_t *si, void *= p) { ucontext_t *uc =3D p; mcontext_t *mc =3D &uc->uc_mcontext; + int save_errno =3D errno; unsigned long pending =3D 1UL << sig; =20 do { @@ -227,6 +228,8 @@ static void hard_handler(int sig, siginfo_t *si, void *= p) if (!nested) pending =3D from_irq_stack(nested); } while (pending); + + errno =3D save_errno; } =20 void set_handler(int sig) --=20 2.34.1