Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3638437pxf; Mon, 29 Mar 2021 07:36:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1x90QnmdU2VFMD4GjFvHbSZgONmKHLVS4vyG48ibR64LMg7nL7stAbLPfcF4CEBm6btZQ X-Received: by 2002:a17:906:b202:: with SMTP id p2mr10436906ejz.244.1617028591726; Mon, 29 Mar 2021 07:36:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617028591; cv=none; d=google.com; s=arc-20160816; b=JCVqqQryP2lwKhMUhx0CEcIf+8C+95AoO50TpUbbaGmCVWHYz3cRj6a+g2fVAF5wYJ q4vaeC8pqgC4594gt85fuBwHU+6CBrLSpOTKapxKAwCAcac0coJZ6I3gSH5Q4GQihUcB q+Wf3KBZ/UWE490udW78MDPFfFr/XX8wXICVFqrvHNc3mSxIi+Iqb21nZcQ+y8tLAOMF FDO3GAo3ds2gArjYbaEERk/2NSfxrn1Viyzl3f6gGAsTLx6lxibUi3Pkj1P3eIO3Vfcx S5uMNPWIVcrfSvXMc9C8RIFuvVHzH+5qO1AQVSuQtzWYhN7AAsffE8QHAqMnr4YuLaip 2nmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=6pd5+1lyxF0IpfUFm+C/Q0BotbJ7mj/8xSGsdykFryU=; b=jDtLV4mnhT6gn8FxEy81zG5GGFa8C+pemZCR+xc9LH/ipQiJjXkvaAJxoNnuzgyWka UjVoWxhPTGG4RYliSQFXrp2nlTiHJ4lVSYeRQ9IWFvC/Xtwr79Dcn+OI8QvU4wQOsH74 LjoNLOoMod/MOeYmSEUPKl/d9clRYnRqEN5J5AMqXTOxTYWWJVdTgl4sUWsTt2ewOWHx XOUVWRAvT5yqUeJnAGGbsUAYatCfcv3DncZ+ehSYC0xUoAo4VghuGQ1gspdE3gSiMOCp bdgaI0fQPBFnlFwuPTuuAKPNzgVe+mPvFK6ml+HfAxSWhAXAD5UZW6P5tM+vR1Kh4we7 3D3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=WOGPfNiB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l9si12733264edc.339.2021.03.29.07.36.09; Mon, 29 Mar 2021 07:36:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=WOGPfNiB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230237AbhC2Ocq (ORCPT + 99 others); Mon, 29 Mar 2021 10:32:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46082 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230297AbhC2Ocb (ORCPT ); Mon, 29 Mar 2021 10:32:31 -0400 Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52DF7C061764 for ; Mon, 29 Mar 2021 07:32:31 -0700 (PDT) Received: by mail-ot1-x335.google.com with SMTP id g8-20020a9d6c480000b02901b65ca2432cso12458266otq.3 for ; Mon, 29 Mar 2021 07:32:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6pd5+1lyxF0IpfUFm+C/Q0BotbJ7mj/8xSGsdykFryU=; b=WOGPfNiBH1rBOn7rKEj2te7OWuckEUpvJ+NQWbuqa1LLPtC8ni5+XceiDdRhii9Ezo M3ZPxxLkR1FXKmahCW23aHCLAWw+1OTM6ecK7JG1myf3fkFFkHbKy3NxP5RvTvpov7Y9 EsByzRGNkr3bhxp3Sv7v6YCoNu0qTBw+quXgG6uVUGQ8KuWIX4x/qiDMmEaufKVIHUXm 6yyKWYP37AglSKbupam4uq5h1Nmct7LqgHslu+LbupQAHibZM9OqxzCSknm9Ae0xDYpl o0BLDukK5niYeGEuiSDb/YFoa+1gQZhKm0HpxsyBbqblfmPZjrQumWmzZOKLO9gjRBmK Nx5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6pd5+1lyxF0IpfUFm+C/Q0BotbJ7mj/8xSGsdykFryU=; b=hMR1SYQqsOEQjUqRiF497J8ir08s0/yn73P/OuNibM819yUiD2S9Pt5EYRjAM9qT2Z 1fsJ1Oy+eUt1zPlIY/Y2ZW9M/BI2LtqkpETXAne7idDC+r1yrfkKwknB1/hIlwLaeLAm ApBPn947dKJ6yQzJBrNCqQcuSRCXuRlLKZnLnYUH0hvC7OErrx79TDi48S8gPwdDnOJ2 6nOxuc1WxF8zkHU2e4nA1ghPANdgd2XdmDXR1T00kEXg8k1k0flsJbLpQl0KKrEreUxS MWDaljRiomF2ijPAE644S+iccUvhwxLIjY9uYYYnQsdLW6bfLCwkldo0mjuDyFvf3T81 FOow== X-Gm-Message-State: AOAM531EWrq9SvzxADqZomVHIv+0UfqJVk016j4W9WZ+4lFMddb6HaVp /L2MQPCogwionrZv2ZEnFdXfTO4h78SW62pmVrY++w== X-Received: by 2002:a05:6830:148c:: with SMTP id s12mr23773028otq.251.1617028350375; Mon, 29 Mar 2021 07:32:30 -0700 (PDT) MIME-Version: 1.0 References: <20210324112503.623833-1-elver@google.com> <20210324112503.623833-7-elver@google.com> <20210329142705.GA24849@redhat.com> In-Reply-To: <20210329142705.GA24849@redhat.com> From: Marco Elver Date: Mon, 29 Mar 2021 16:32:18 +0200 Message-ID: Subject: Re: [PATCH v3 06/11] perf: Add support for SIGTRAP on perf events To: Oleg Nesterov Cc: Peter Zijlstra , Alexander Shishkin , Arnaldo Carvalho de Melo , Ingo Molnar , Jiri Olsa , Mark Rutland , Namhyung Kim , Thomas Gleixner , Alexander Potapenko , Al Viro , Arnd Bergmann , Christian Brauner , Dmitry Vyukov , Jann Horn , Jens Axboe , Matt Morehouse , Peter Collingbourne , Ian Rogers , kasan-dev , linux-arch , linux-fsdevel , LKML , "the arch/x86 maintainers" , "open list:KERNEL SELFTEST FRAMEWORK" , Jiri Olsa Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 29 Mar 2021 at 16:27, Oleg Nesterov wrote: > On 03/29, Peter Zijlstra wrote: > > > > On Thu, Mar 25, 2021 at 09:14:39AM +0100, Marco Elver wrote: > > > @@ -6395,6 +6395,13 @@ static void perf_sigtrap(struct perf_event *event) > > > { > > > struct kernel_siginfo info; > > > > > > + /* > > > + * This irq_work can race with an exiting task; bail out if sighand has > > > + * already been released in release_task(). > > > + */ > > > + if (!current->sighand) > > > + return; > > This is racy. If "current" has already passed exit_notify(), current->parent > can do release_task() and destroy current->sighand right after the check. > > > Urgh.. I'm not entirely sure that check is correct, but I always forget > > the rules with signal. It could be we ought to be testing PF_EXISTING > > instead. > > Agreed, PF_EXISTING check makes more sense in any case, the exiting task > can't receive the signal anyway. Thanks for confirming. I'll switch to just checking PF_EXITING (PF_EXISTING does not exist :-)). Thanks, -- Marco