Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp230900iob; Mon, 2 May 2022 17:56:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwkAea83VSCf+ORaCbuHmdSTuL9SxYG73Zc1bTQFqV821Bso0vSv6pQl/SV1/V7YgpIuA+C X-Received: by 2002:a17:902:f649:b0:156:1609:79e9 with SMTP id m9-20020a170902f64900b00156160979e9mr14542672plg.69.1651539396713; Mon, 02 May 2022 17:56:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651539396; cv=none; d=google.com; s=arc-20160816; b=XG1/3VWuK/gE8eazdQdIxm8yfIkFHMzFdYNX8+TlNIMfoALVI0GY0ER2tWkQVitE0m wJw7UKptTFJFJ6Ipu+RFcwrhPFbaKTtr2TEHNe3V4FBMNzCcNRAGBdmWOaidPfC4aoDm rbJt84CsJ2RACWpCgAUuMd8LM5BI9CHpRbuJz1adrKRXYYmF7XGpGPVOw/bfdaatz54S qkBEqMozEENpTTOqZ6G5zfylXcv6wy2GQlhMyywTWVIICeuh5hr48O/2Mv/FWksSArxc xIJpK+hHqPsD3nShm5Svs6frjILN0zw2iW75rIB6Wkd/AZvykWWHW8DDHI99uGcKPjHl gByw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:dkim-signature :dkim-signature:date; bh=njv8w62I6YaR6R9I+B/zv4adKDIlEkCZ/E2IlD+ACLw=; b=Rf+8QAOwizYLdA0c3ghcq/gI2ZD5klnI0Wtxaz6HH2Hi8ltaxO4KkUQDLb+zi44Th0 lC4dA+Gh6zA20nW/jM+sQD4bIVtQdI8v0Uzja/F2qO2t7xnXY1p7KI7Ywgf/5JZUieMb fl6dFoUn3eSASbHIYWBorqOJh9+PaT12mtolK/taluaExFUSsCJRdnuVDepPYoGwWjSA 0pPrshy/0FTK/cTYogKGDJpVWX2rMQXF3s+ogPNoNzvYyuo00DOlakt0NjX4x2iWPW80 yiJ+kePY+Fiyr3c4wUJ8lcKfP7bsfLafvLVvB7f1astg/vwVDlcET4Rj08I9JPysEtJP hoEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=ADEiWHzK; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id t11-20020a62d14b000000b00505fa50d8f0si13332518pfl.334.2022.05.02.17.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 17:56:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=ADEiWHzK; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9B2BA49932; Mon, 2 May 2022 17:42:44 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384451AbiEBKWC (ORCPT + 99 others); Mon, 2 May 2022 06:22:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235855AbiEBKWB (ORCPT ); Mon, 2 May 2022 06:22:01 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4EA0CD8A; Mon, 2 May 2022 03:18:33 -0700 (PDT) Date: Mon, 2 May 2022 12:18:29 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1651486711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=njv8w62I6YaR6R9I+B/zv4adKDIlEkCZ/E2IlD+ACLw=; b=ADEiWHzKLRNuj8KFUocM8tJalgULCU+gvxgNN4Af40aHR9L7ntUAQnUCSuPlLMLbvQm0+F 99XPvLo0xL9Mb2JP4YnBertfN1BnOCHeVAhePaHzBRVEve8/UvXrBn7bkcEbbNU0WysehQ zVEPjDJx/jseio8sFQVuaYaNzskFmnh3l8EsxDg5oOJd+RaoB6RpljpryOi+rT7esewioM SFH5Frq/16V/GEZNPquUyhHuBaNv/5I3MAWqhTFfNhmuLZhT+YV4aW2JkDLRSG4jqtTv9q OcrI/0YghI5Fak4aosZ9UtxuFahlpE6xQS5/vmWWAGxeAn5OKC4ga+QT2I5SbA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1651486711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=njv8w62I6YaR6R9I+B/zv4adKDIlEkCZ/E2IlD+ACLw=; b=TgSv28QweSqhFe5Q07tp4skOaB1hnFxdXVoAWEKyi8cGPJbx+V1Z2UlKMJwyhhaw+6Ox2r tKYZMOvdEd5oTyCg== From: Sebastian Andrzej Siewior To: "Eric W. Biederman" Cc: linux-kernel@vger.kernel.org, rjw@rjwysocki.net, Oleg Nesterov , mingo@kernel.org, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, mgorman@suse.de, Will Deacon , tj@kernel.org, linux-pm@vger.kernel.org, Peter Zijlstra , Richard Weinberger , Anton Ivanov , Johannes Berg , linux-um@lists.infradead.org, Chris Zankel , Max Filippov , linux-xtensa@linux-xtensa.org, Kees Cook , Jann Horn , linux-ia64@vger.kernel.org Subject: Re: [PATCH v2 12/12] sched,signal,ptrace: Rework TASK_TRACED, TASK_STOPPED state Message-ID: References: <87k0b7v9yk.fsf_-_@email.froward.int.ebiederm.org> <20220429214837.386518-12-ebiederm@xmission.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20220429214837.386518-12-ebiederm@xmission.com> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 On 2022-04-29 16:48:37 [-0500], Eric W. Biederman wrote: Needs From: Peter Zijlstra (Intel) at the top. > Currently ptrace_stop() / do_signal_stop() rely on the special states > TASK_TRACED and TASK_STOPPED resp. to keep unique state. That is, this > state exists only in task->__state and nowhere else. > > There's two spots of bother with this: > > - PREEMPT_RT has task->saved_state which complicates matters, > meaning task_is_{traced,stopped}() needs to check an additional > variable. > > - An alternative freezer implementation that itself relies on a > special TASK state would loose TASK_TRACED/TASK_STOPPED and will > result in misbehaviour. > > As such, add additional state to task->jobctl to track this state > outside of task->__state. > > NOTE: this doesn't actually fix anything yet, just adds extra state. > > --EWB > * didn't add a unnecessary newline in signal.h > * Update t->jobctl in signal_wake_up and ptrace_signal_wake_up > instead of in signal_wake_up_state. This prevents the clearing > of TASK_STOPPED and TASK_TRACED from getting lost. > * Added warnings if JOBCTL_STOPPED or JOBCTL_TRACED are not cleared > > Signed-off-by: Peter Zijlstra (Intel) > Link: https://lkml.kernel.org/r/20220421150654.757693825@infradead.org > Signed-off-by: Eric W. Biederman Sebastian