Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5631016pxb; Mon, 28 Mar 2022 15:13:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyhXjTvGAX5j/70hWNfoOaS07PweoYlqg19BFcAalFLaCa9cxulutDzwvhExmDrrDPzoiCd X-Received: by 2002:a05:6808:30a4:b0:2da:38a2:5840 with SMTP id bl36-20020a05680830a400b002da38a25840mr687070oib.86.1648505601691; Mon, 28 Mar 2022 15:13:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648505601; cv=none; d=google.com; s=arc-20160816; b=ZhiW9H2UR9H5x+OMUQ8bBp2gD2il/b7s1yjMGsn7Xf3ojAmvVbL0lgRCXVjfekZSpE KF2G3PIIjNXQzAJsxvsPXkHzE9tx8YYeteO0Vhdk9n7pqaj7XnENpBLwcgQHqXcQoUJM MME7u7VhZddNLUZlDLsXilRK0XAsTCxEUlstJfEcoidaxhpAtJYRj2pmYkekx+P9YESS E8eC7kCmjF2Id9ixlOebzdSHGtjG3yldqLBfazk/U2t5pazC3hKCkL0pzLFV1/5Xw3Ux 9b33CSwQLw/6CPAh5xr+6sqya46Alvvyvnj3/XXKl8/SeI1ZlL1TN5XFqODs/bjutM3j f1Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=sQyhxEzUWIyxRjjg8L7Lh+/O9puSstM9ZBT2nODvDM8=; b=Z46YhW2Hl3YySCKWQUynrxSGmWFLG3/Jf7uLFgkzmT/+89e2LsJd2d2zoVdcsrvzYf OEkakA6DXpeTtoUG4DSJrLxlGNqwoi0aQUP/xZULFGuEHcuR/98JAgEE0zNGAdQUP5zc dqf61Z+s05jCU5IpZIm4NzR7iGyDgvJHEUOMGXCiCQKrdB6sZ2Gvz1e1RpEHnnIhjZ7X YT0RIkglAw8ltkJCplTBq24h8SxcfyJMjflzgvoPTp1/WarKoaPr/mIlMp3GMAz6/y5h xbfb+EES4VMnjfjgSq19aik9tS6w/u3MDVIO1t4tqbqExphCHwDfToxyVrFrIPn/7jBl H8ZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Pj5bCkeJ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id w24-20020a9d77d8000000b005cb2fc13852si12204744otl.206.2022.03.28.15.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 15:13:21 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Pj5bCkeJ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AC16D17008A; Mon, 28 Mar 2022 14:32:53 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344340AbiC1UDi (ORCPT + 99 others); Mon, 28 Mar 2022 16:03:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344360AbiC1UD1 (ORCPT ); Mon, 28 Mar 2022 16:03:27 -0400 Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 710A8606E6; Mon, 28 Mar 2022 13:01:15 -0700 (PDT) Received: by mail-pf1-x432.google.com with SMTP id f3so12524922pfe.2; Mon, 28 Mar 2022 13:01:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=sQyhxEzUWIyxRjjg8L7Lh+/O9puSstM9ZBT2nODvDM8=; b=Pj5bCkeJuECKqhaYv7MLPiKsoFTr2mY8M6T2r4tIX8kMs9VI4OTPPqnQS8ItAC/X+v JS2cAyc6ot4bkmrBYGdTEOE3hvAPdCBmljIv+WjN58exJOU7S/vItRDX8SzuW26Gcc8r H/WazkEvf0+Yda4WqITlq1dwUpiYlc5vZX9wIA2Iaz6xHPZed5GfkdGr/w7DX4HoJx56 zyQdGvsY8mKXB7OHa98jV4liUnfU4gjVRioIPAOWj0ho9ePqwrKzRfHUoIunYEhQ1zr1 ro6rL0lJZSuzv83v1IByOpHa/KGVFbCAeExF68cWgzs+6y56W3sd/YVGycHuFXpNwQeT Pz2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=sQyhxEzUWIyxRjjg8L7Lh+/O9puSstM9ZBT2nODvDM8=; b=4yGutv4ouzruCH6xp0m7zP3IrO7jaxzwJPQ77OAL6wUCiaZzQxY5KhbF4HMenJgFTn j0MPqlo2nFITq16LT8aEbdTurDhmv5PWc7r9wFFeiE7THfry6be3nSsCU5yQxSiQsO3S ID2gR9zkW3ryCx5VXv+mEDg0q/B0tWMzaJ6814RMlzegmN5DOPk8O1W0ndrbPcQ/j52R FJdrm9Hd3pBjKaCjdxu8prRUGMBeaYTy+0Qg/oO3LgUdjqEvpro7ne3cf7Mjiq7AsUQ7 RKqoy8QgLXDt24cNZikKGoqY7Ttfhle0wi0xt4taxRkPre6jhchvqkRUvVDGGLBZBqRz 8niA== X-Gm-Message-State: AOAM531hmjQo5cZWukQGv3sb7DkkBB8D3gxvDO0LFi8ANCRnz2Iw6J0q tnVaergTzJg1kJdOX0kuB7g= X-Received: by 2002:a63:2b4f:0:b0:398:49ba:a268 with SMTP id r76-20020a632b4f000000b0039849baa268mr5431697pgr.546.1648497674845; Mon, 28 Mar 2022 13:01:14 -0700 (PDT) Received: from balhae.hsd1.ca.comcast.net ([2601:647:4800:3540:a644:d4e5:cd1:b3b9]) by smtp.gmail.com with ESMTPSA id mq6-20020a17090b380600b001c6357f146csm334428pjb.12.2022.03.28.13.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 13:01:14 -0700 (PDT) Sender: Namhyung Kim From: Namhyung Kim To: Peter Zijlstra Cc: Ingo Molnar , Arnaldo Carvalho de Melo , Jiri Olsa , Mark Rutland , Alexander Shishkin , LKML , Stephane Eranian , Andi Kleen , Ian Rogers , Will Deacon , Marco Elver , stable@vger.kernel.org Subject: [PATCH RESEND] perf/core: Inherit event_caps Date: Mon, 28 Mar 2022 13:01:12 -0700 Message-Id: <20220328200112.457740-1-namhyung@kernel.org> X-Mailer: git-send-email 2.35.1.1021.g381101b075-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,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 It was reported that some perf event setup can make fork failed on ARM64. It was the case of a group of mixed hw and sw events and it failed in perf_event_init_task() due to armpmu_event_init(). The ARM PMU code checks if all the events in a group belong to the same PMU except for software events. But it didn't set the event_caps of inherited events and no longer identify them as software events. Therefore the test failed in a child process. A simple reproducer is: $ perf stat -e '{cycles,cs,instructions}' perf bench sched messaging # Running 'sched/messaging' benchmark: perf: fork(): Invalid argument The perf stat was fine but the perf bench failed in fork(). Let's inherit the event caps from the parent. Cc: Will Deacon Cc: Mark Rutland Cc: Marco Elver Cc: Signed-off-by: Namhyung Kim --- kernel/events/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/events/core.c b/kernel/events/core.c index afbf388a5176..5baf7f981f23 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -11622,6 +11622,9 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, event->state = PERF_EVENT_STATE_INACTIVE; + if (parent_event) + event->event_caps = parent_event->event_caps; + if (event->attr.sigtrap) atomic_set(&event->event_limit, 1); -- 2.35.1.1021.g381101b075-goog