From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 316CDC43461 for ; Fri, 11 Sep 2020 16:08:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E80F5206CA for ; Fri, 11 Sep 2020 16:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599840521; bh=iLPXQfche2cl2UNFwVe5Cn0pwE5wjPTc1yMcibij3Cc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=BL1ElaaBI8z4He+7pSnTHJJGZEUyzRlOEdNzmc9e4Bu1OQeJLcxlelD288D00lPiy 84kz0lJsD9DT2Rqio+mq202nHhE8e8vcFHYkBnsersK89sLY9efmv5lvaQpmxt0k7w NRNjR2yKbmQjfak4THDFZsyxQA6LQL6Ua7yzbQU4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726583AbgIKQIY (ORCPT ); Fri, 11 Sep 2020 12:08:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:49908 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726308AbgIKQII (ORCPT ); Fri, 11 Sep 2020 12:08:08 -0400 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 67F69206CA; Fri, 11 Sep 2020 16:08:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599840488; bh=iLPXQfche2cl2UNFwVe5Cn0pwE5wjPTc1yMcibij3Cc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LzluMK/42p47BOEhqCg9J+En60njQGbHwN2+0wRwyoosXXO2/pLvAVJsq5zMFx1qz uVCU9qpfDRiLxjKRXW38CC0EKI1OyvSsyZJDC+z8P1OI+d9DW/uqyNEGwC2oXnpu1u AzDXcFsZscFOuTMQXVm2IWUukA/pz77wIuMh5Q60= Date: Fri, 11 Sep 2020 17:08:04 +0100 From: Will Deacon To: Mark Salter Cc: Mark Rutland , Khuong Dinh , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drivers/perf: xgene_pmu: Fix uninitialized resource struct Message-ID: <20200911160802.GB20802@willie-the-truck> References: <20200902182729.27415-1-msalter@redhat.com> <20200907135026.GC12551@willie-the-truck> <489a7918b244e83736feff79c59a4b74d4e5cad0.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <489a7918b244e83736feff79c59a4b74d4e5cad0.camel@redhat.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 08, 2020 at 02:37:22PM -0400, Mark Salter wrote: > On Mon, 2020-09-07 at 14:50 +0100, Will Deacon wrote: > > On Wed, Sep 02, 2020 at 02:27:29PM -0400, Mark Salter wrote: > > > diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c > > > index edac28cd25dd..fdbbd0804b92 100644 > > > --- a/drivers/perf/xgene_pmu.c > > > +++ b/drivers/perf/xgene_pmu.c > > > @@ -1483,6 +1483,7 @@ xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu, > > > return NULL; > > > > > > INIT_LIST_HEAD(&resource_list); > > > + memset(&res, 0, sizeof(res)); > > > rc = acpi_dev_get_resources(adev, &resource_list, > > > acpi_pmu_dev_add_resource, &res); > > > acpi_dev_free_resource_list(&resource_list); > > > > Hmm, to be honest, I'm not sure we should be calling devm_ioremap_resource() > > at all here. The resource is clearly bogus, even with this change: the name > > and the resource hierarchy pointers will all be NULL. I think it would be > > better to follow the TX2 PMU driver (drivers/perf/thunderx2_pmu.c) which > > appears to assign the resource directly in tx2_uncore_pmu_init_dev(). > > > > Is there a reason we can't do that? > > > > Will > > > > There's no difference between xgene and tx2 wrt resouce name/hierarchy. > They both call devm_ioresource_remap() which ends up setting the name > and hierarchy. The difference is that xgene calls acpi_dev_resource_memory() > directly from the acpi_dev_get_resources() callback. TX2 doesn't use such a > callback and in that case, acpi_dev_resource_memory() gets called with a > zeroed struct. > > That said, changing xgene to avoid the callback like TX2 does would fix the > problem as well. If you'd rather go that route, I can send a patch for it. Yes please Will From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 856DAC433E2 for ; Fri, 11 Sep 2020 16:09:23 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2EF03206CA for ; Fri, 11 Sep 2020 16:09:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="rFSNeBwg"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="LzluMK/4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2EF03206CA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=TpE53NS2ZheOkZf6wgzA2PyUp7UaJP8DpMrWrUVSOsw=; b=rFSNeBwgbxnEoTe3y5foJY4/+ TV6OAeT1F1OLAXdnHfkf6AwCqR1vvXds6abTdUjmoHOS+Hs6n/pNWOYER3NHUz+8v+o0pzp2Hs8di d6iBGcJirojrKEYnZO5BXxsjXRVAEBf59a99R4U9MhXN9gBzTWAQH6nc5dF+PuHvdVUJeED53OhIt tbNr/UWuTG8nA+5sFuTabs4sr10Z4uXWJc/916jYvGjfb8oH2xjZG/vBADqMjKD1CPrDVDo3ximvq YIrDL99kWmG2x/J501iKS5EEmTR3j+118II8v0EcvFjirkpcCc2s0+KF0PtAKMrATcYzpAigow6dv UL7qQ/qqQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kGlat-0003EF-Pb; Fri, 11 Sep 2020 16:08:11 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kGlar-0003Db-6Z for linux-arm-kernel@lists.infradead.org; Fri, 11 Sep 2020 16:08:09 +0000 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 67F69206CA; Fri, 11 Sep 2020 16:08:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599840488; bh=iLPXQfche2cl2UNFwVe5Cn0pwE5wjPTc1yMcibij3Cc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LzluMK/42p47BOEhqCg9J+En60njQGbHwN2+0wRwyoosXXO2/pLvAVJsq5zMFx1qz uVCU9qpfDRiLxjKRXW38CC0EKI1OyvSsyZJDC+z8P1OI+d9DW/uqyNEGwC2oXnpu1u AzDXcFsZscFOuTMQXVm2IWUukA/pz77wIuMh5Q60= Date: Fri, 11 Sep 2020 17:08:04 +0100 From: Will Deacon To: Mark Salter Subject: Re: [PATCH] drivers/perf: xgene_pmu: Fix uninitialized resource struct Message-ID: <20200911160802.GB20802@willie-the-truck> References: <20200902182729.27415-1-msalter@redhat.com> <20200907135026.GC12551@willie-the-truck> <489a7918b244e83736feff79c59a4b74d4e5cad0.camel@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <489a7918b244e83736feff79c59a4b74d4e5cad0.camel@redhat.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200911_120809_311455_CDF045E7 X-CRM114-Status: GOOD ( 26.12 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Khuong Dinh , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Sep 08, 2020 at 02:37:22PM -0400, Mark Salter wrote: > On Mon, 2020-09-07 at 14:50 +0100, Will Deacon wrote: > > On Wed, Sep 02, 2020 at 02:27:29PM -0400, Mark Salter wrote: > > > diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c > > > index edac28cd25dd..fdbbd0804b92 100644 > > > --- a/drivers/perf/xgene_pmu.c > > > +++ b/drivers/perf/xgene_pmu.c > > > @@ -1483,6 +1483,7 @@ xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu, > > > return NULL; > > > > > > INIT_LIST_HEAD(&resource_list); > > > + memset(&res, 0, sizeof(res)); > > > rc = acpi_dev_get_resources(adev, &resource_list, > > > acpi_pmu_dev_add_resource, &res); > > > acpi_dev_free_resource_list(&resource_list); > > > > Hmm, to be honest, I'm not sure we should be calling devm_ioremap_resource() > > at all here. The resource is clearly bogus, even with this change: the name > > and the resource hierarchy pointers will all be NULL. I think it would be > > better to follow the TX2 PMU driver (drivers/perf/thunderx2_pmu.c) which > > appears to assign the resource directly in tx2_uncore_pmu_init_dev(). > > > > Is there a reason we can't do that? > > > > Will > > > > There's no difference between xgene and tx2 wrt resouce name/hierarchy. > They both call devm_ioresource_remap() which ends up setting the name > and hierarchy. The difference is that xgene calls acpi_dev_resource_memory() > directly from the acpi_dev_get_resources() callback. TX2 doesn't use such a > callback and in that case, acpi_dev_resource_memory() gets called with a > zeroed struct. > > That said, changing xgene to avoid the callback like TX2 does would fix the > problem as well. If you'd rather go that route, I can send a patch for it. Yes please Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel