From patchwork Fri Jul 12 12:19:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 168944 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp825460ilk; Fri, 12 Jul 2019 05:33:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqxkPlLFJTtFjH9eBO8AkVHZpiAlAFsH0dFeuItbiZB73zwL1ZBspHy8kM/v//RFKvn5SAQq X-Received: by 2002:a63:e356:: with SMTP id o22mr10690268pgj.150.1562934806021; Fri, 12 Jul 2019 05:33:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562934806; cv=none; d=google.com; s=arc-20160816; b=t5AqWYGxv4hUy7EJDjnBfowhVEYseQmk+jv97X84k9NvBjVJsTq+jtS4v7/ZBDEWTD NBPo9dj8GQkbDZbNB0v+x0UlwQFgryd9lLQ1n7DHcxTcpXpSWalaktewQ3yCasQVSVAK Ld/dYhXk3L4Xx/taXviXQ+WSXgn0tStF0IX1LNtP3yq+bbxarEAFyxDuGZvY3h83W8NH SbpvgiwQ9ZW+CtCcgFC4BhxgwpUVS2zHanaL8fcPbOwf2adSJORYQvmmjOmUjFMs8u9F +cs1jpxzzkg95X3Q0SgDVl9IbagqWQOgEaiwRJaEGjabMbi9tMdmyVU1frgJG6JiSDl+ yhgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=11Dyiqec6wajqzSgTGwsUd9OrMe5kuwDmKQla8lUMdk=; b=1Bz4zj3H1iKfYa2sF92xSLTyMImYoYPVACQ7tQ2xpmcLMT8QlmJ5ayh/4ntqqUOaEC CxkdIt7xTfunaKMj3E9vPt0n7Vyp3Es62SrfSpSOkvOzusTIyZBpcRkvev347EfDICVJ 3ban9v+so5I/qRf+ZsV9i3/wRvsmvKIJMS2F66vujyvTq4gNSCSPcjilA5dB4rDuRJ2t HJj975wfEd3HVwhrpSd9RrV4aIlxVU2Rrig3SiOFugCXyKdWIAXVpjZeUMl5sARzGYX8 VnouAUReir23zbsdjgYVfgmgTuGrqIIBE2V6MTo641qvsVUs/GcOW76CObhtL8fQ6WM0 jKiA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Ioiq6VlD; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16si8368635pfi.142.2019.07.12.05.33.24; Fri, 12 Jul 2019 05:33:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Ioiq6VlD; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729465AbfGLMcU (ORCPT + 13 others); Fri, 12 Jul 2019 08:32:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:50100 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729212AbfGLMcT (ORCPT ); Fri, 12 Jul 2019 08:32:19 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 3D42D21721; Fri, 12 Jul 2019 12:32:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562934738; bh=dqGDFDIi2rDPmFMdQfVLnotYxhySOqw8XaoV8MfvQW0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ioiq6VlD+LyXA18llH1tE1Gj8kIF4zwwWbMTKxxdNLs+ZNW5ccZMsvoskwjAn8oVN yyeSwyQ3cIBOuOhBzFLmPMgbHTqYv+ZtZznQfe2mdyUFMePLGFx0oRKvRO4aGc34g3 M/qcabHlZB3DW1NyVj1TfiOkuSyBrImlX69cniyU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, John Garry , Alexander Shishkin , Ben Hutchings , Hendrik Brueckner , Jiri Olsa , Kan Liang , Mark Rutland , Mathieu Poirier , Namhyung Kim , Peter Zijlstra , Shaokun Zhang , Thomas Richter , Will Deacon , linux-arm-kernel@lists.infradead.org, linuxarm@huawei.com, Arnaldo Carvalho de Melo Subject: [PATCH 5.2 16/61] perf pmu: Fix uncore PMU alias list for ARM64 Date: Fri, 12 Jul 2019 14:19:29 +0200 Message-Id: <20190712121621.508627544@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190712121620.632595223@linuxfoundation.org> References: <20190712121620.632595223@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: John Garry commit 599ee18f0740d7661b8711249096db94c09bc508 upstream. In commit 292c34c10249 ("perf pmu: Fix core PMU alias list for X86 platform"), we fixed the issue of CPU events being aliased to uncore events. Fix this same issue for ARM64, since the said commit left the (broken) behaviour untouched for ARM64. Signed-off-by: John Garry Cc: Alexander Shishkin Cc: Ben Hutchings Cc: Hendrik Brueckner Cc: Jiri Olsa Cc: Kan Liang Cc: Mark Rutland Cc: Mathieu Poirier Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Shaokun Zhang Cc: Thomas Richter Cc: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Cc: linuxarm@huawei.com Cc: stable@vger.kernel.org Fixes: 292c34c10249 ("perf pmu: Fix core PMU alias list for X86 platform") Link: http://lkml.kernel.org/r/1560521283-73314-2-git-send-email-john.garry@huawei.com Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/pmu.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -709,9 +709,7 @@ static void pmu_add_cpu_aliases(struct l { int i; struct pmu_events_map *map; - struct pmu_event *pe; const char *name = pmu->name; - const char *pname; map = perf_pmu__find_map(pmu); if (!map) @@ -722,28 +720,26 @@ static void pmu_add_cpu_aliases(struct l */ i = 0; while (1) { + const char *cpu_name = is_arm_pmu_core(name) ? name : "cpu"; + struct pmu_event *pe = &map->table[i++]; + const char *pname = pe->pmu ? pe->pmu : cpu_name; - pe = &map->table[i++]; if (!pe->name) { if (pe->metric_group || pe->metric_name) continue; break; } - if (!is_arm_pmu_core(name)) { - pname = pe->pmu ? pe->pmu : "cpu"; + /* + * uncore alias may be from different PMU + * with common prefix + */ + if (pmu_is_uncore(name) && + !strncmp(pname, name, strlen(pname))) + goto new_alias; - /* - * uncore alias may be from different PMU - * with common prefix - */ - if (pmu_is_uncore(name) && - !strncmp(pname, name, strlen(pname))) - goto new_alias; - - if (strcmp(pname, name)) - continue; - } + if (strcmp(pname, name)) + continue; new_alias: /* need type casts to override 'const' */ From patchwork Fri Jul 12 12:19:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 168945 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp827844ilk; Fri, 12 Jul 2019 05:35:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqy4CNAXcztsWF3bJcIZ5XGKLJITVzcbjOk+t4t7GMYmNpEFfLweU84Ld2/iPlsdCNJalcE1 X-Received: by 2002:a17:902:e582:: with SMTP id cl2mr11355975plb.60.1562934930180; Fri, 12 Jul 2019 05:35:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562934930; cv=none; d=google.com; s=arc-20160816; b=Sxj6GIeBISCfriWGVJS6g+o+lhZgsHYBvSa60XhEG2sJGPh3/AC1M8XdxC1gUcrkWJ aWp94ndP4fwMc/q9qRYtC5CSuupsFtsbnVjZ7oFXlhBSgLqzFH+JsO3PXTTtlG3fecM4 lQYG4BOODfDfcwz5A6JfX+T1OcbX8OOyONMYSnqUAreeJL7/K3wOpnhhjwPWGNNCnuwP nvTUbtrRSy0S1kbUQGNZ7LJmW10+GTpae6azp0KMZdV2cl16bMo1c7eciYzYnpsXUx3g YB10Uh8DlDIxzt9JOEMQl5gpARWeqD4MYF1b43LD0QKKYfI9QVF+hAlNheHS4ZhZsg3f 63DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=EvGskLrLl3F9kyli8z/7m15SNEiqGHGVXp7u7JiAsFQ=; b=jBmw2NYJr6hUDh8fCglXgbjVTAiFdcXC6UGkngzkyjDu1NNaohQQ2YBQCT8/0CXLV/ ObH3nBZXdyQusYOVvDFkuNYRSa7C7NxMEwtAUMIbJjTXa5CEtQPHR/yb4O+VVMGh/ei3 Y8GDdajPf6aV1nqrgAvATqZf38OJuHw9YnJ34vRmehy8MA+QwIdnxeCL/3IGmk73CpUi WUv0OzES+nhUG73og0B8Rt75XL+ra2gnmHAIKsEfvdldCouolcWFL3qRrm+cpe9bp4xw OSrUVfnLhwh9su+mMjCiR5blo6HnJU2bn7eZw4dnMmD7kHi7l2/iSqSGS/F/gGdBVtJN sbwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=s4zBoowr; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16si8368635pfi.142.2019.07.12.05.35.28; Fri, 12 Jul 2019 05:35:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=s4zBoowr; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729224AbfGLMdr (ORCPT + 13 others); Fri, 12 Jul 2019 08:33:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:53192 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729656AbfGLMdr (ORCPT ); Fri, 12 Jul 2019 08:33:47 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 DEEDF20645; Fri, 12 Jul 2019 12:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562934826; bh=b30BjwC86bSBzRsL0WzOkPFpGQCDV3H1PobzYZ/QOtE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s4zBoowrEqKbxGhe/Jb7p8kcS+F7FUWsImFPJSspGEe67Sw42ZJRJ0BL5J+I1Iu3m 2MVvuZCkPpOWlbVAoOYMA2mFF5x4tO2PlRt0/J7+/yKK+a8Gy3maIT1weW8nArbpTD GQZnjyLvzo8hmhWdCCoTW6RArBkSG6OdKmOWJ16I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nathan Chancellor , Alan Modra , Jordan Rupprect , Kees Cook , Nick Desaulniers Subject: [PATCH 5.2 41/61] lkdtm: support llvm-objcopy Date: Fri, 12 Jul 2019 14:19:54 +0200 Message-Id: <20190712121622.846887375@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190712121620.632595223@linuxfoundation.org> References: <20190712121620.632595223@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Nick Desaulniers commit e9e08a07385e08f1a7f85c5d1e345c21c9564963 upstream. With CONFIG_LKDTM=y and make OBJCOPY=llvm-objcopy, llvm-objcopy errors: llvm-objcopy: error: --set-section-flags=.text conflicts with --rename-section=.text=.rodata Rather than support setting flags then renaming sections vs renaming then setting flags, it's simpler to just change both at the same time via --rename-section. Adding the load flag is required for GNU objcopy to mark .rodata Type as PROGBITS after the rename. This can be verified with: $ readelf -S drivers/misc/lkdtm/rodata_objcopy.o ... Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align ... [ 1] .rodata PROGBITS 0000000000000000 00000040 0000000000000004 0000000000000000 A 0 0 4 ... Which shows that .text is now renamed .rodata, the alloc flag A is set, the type is PROGBITS, and the section is not flagged as writeable W. Cc: stable@vger.kernel.org Link: https://sourceware.org/bugzilla/show_bug.cgi?id=24554 Link: https://github.com/ClangBuiltLinux/linux/issues/448 Reported-by: Nathan Chancellor Suggested-by: Alan Modra Suggested-by: Jordan Rupprect Suggested-by: Kees Cook Acked-by: Kees Cook Reviewed-by: Nathan Chancellor Signed-off-by: Nick Desaulniers Signed-off-by: Greg Kroah-Hartman --- drivers/misc/lkdtm/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/drivers/misc/lkdtm/Makefile +++ b/drivers/misc/lkdtm/Makefile @@ -15,8 +15,7 @@ KCOV_INSTRUMENT_rodata.o := n OBJCOPYFLAGS := OBJCOPYFLAGS_rodata_objcopy.o := \ - --set-section-flags .text=alloc,readonly \ - --rename-section .text=.rodata + --rename-section .text=.rodata,alloc,readonly,load targets += rodata.o rodata_objcopy.o $(obj)/rodata_objcopy.o: $(obj)/rodata.o FORCE $(call if_changed,objcopy) From patchwork Fri Jul 12 12:20:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 168947 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp829314ilk; Fri, 12 Jul 2019 05:36:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqxw0MwuKLSkbqIJkIn9N2XGCoLZKIKey84Hw0xCHzFN6sGJqlK549wAwnA7JYCo6PgqMJ7m X-Received: by 2002:a17:90a:db44:: with SMTP id u4mr11552906pjx.52.1562935001255; Fri, 12 Jul 2019 05:36:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562935001; cv=none; d=google.com; s=arc-20160816; b=wU/Mt9LeyXCN0XuIJRy0AoLWj+1q2Zd4B5QdX1i7UEsSyaFpxSpwY3E4YhLy8O0WM+ 6PL0LCQJT5ytTTxr1DJ5o9tj5J7yFsDySMlbvIinLoESrw8HL+kYUv/+N5qMtdbtuQzq GX9JKGUHQhp4PhWTtjv5625FAk1g/mIWBIgtzj8UejktM9nOzgpiKTAL/n2kXTvJ2Q54 Kzslb4izsBdl6aGpkKNp4Jt4/Xp6WjKWxQOw9gZIvjk+4vPYeBKeP/VZXWpQ1DetVJde Q5JhH5ln76avcbNiKDvlth+scYP2fhqCO490MAphAX+W6nLZ2xrmStFw62JHNj7STMP8 D6zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yrl3w5vVslwd3VSGzi2nGf7set2yuXlAn2tkeYzPS+0=; b=jhmzui6rubymznIyDjIUHVb/I45vpzO8VjD/eIowAiRWwip9BAyRmG5Gu9S+hXDMM6 uIEkNY4HNT7JdMx7hoZp/cuW6T4HbjeRvyBYGXsfedK1EZSGBnB61iWzrAdSx+ICM3tJ cE9kU3o9/x1J9GZwPYVOLx9jNWXRc/pNiXwcHnwUKXOfG97PuMdbcUBGiGGTNQmb8QFo 4hGCsptSu7cfK+QQJkKHS/1swYVPNt6zEdkk2enm3RkXOY3zqt9TWgCrln8kDDailrdw HGFvPDgLDohWZe2B6iodMaOa5NBSuZCQpSpTTAZWBS+Uwb3LJOxmM0HGVPlcn0EQj3oB vgog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="MLf/vkLK"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16si8368635pfi.142.2019.07.12.05.36.39; Fri, 12 Jul 2019 05:36:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="MLf/vkLK"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729522AbfGLMeu (ORCPT + 13 others); Fri, 12 Jul 2019 08:34:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:54948 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729785AbfGLMet (ORCPT ); Fri, 12 Jul 2019 08:34:49 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 2224F21019; Fri, 12 Jul 2019 12:34:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562934888; bh=BKlA4wVcFUt/TCMgw1qZXZnd3pCfWL8lN5nCZOm9q3Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MLf/vkLKzEV8kG1Nh5rGnnlEAdKaCvdP2zQPYuuVHQaxNaVD7GBrPGEulmzIJDLPU mNi9530IURW+ZdHak89ROmIAeWamuOXpIrqkgEM/12Hl3R6Bfi8IuPh51rV9KMzVUX VBvcQGmGR7B+gcRhK7qrhdXkj91ZXaVMuyuGEGfw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mathieu Poirier , Suzuki K Poulose Subject: [PATCH 5.2 47/61] coresight: tmc-etr: Do not call smp_processor_id() from preemptible Date: Fri, 12 Jul 2019 14:20:00 +0200 Message-Id: <20190712121623.164723729@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190712121620.632595223@linuxfoundation.org> References: <20190712121620.632595223@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Suzuki K Poulose commit 3ff44563dbb02456a33f2a42000f04db4ef19a8f upstream. During a perf session we try to allocate buffers on the "node" associated with the CPU the event is bound to. If it's not bound to a CPU, we use the current CPU node, using smp_processor_id(). However this is unsafe in a pre-emptible context and could generate the splats as below : BUG: using smp_processor_id() in preemptible [00000000] code: perf/1743 caller is alloc_etr_buf.isra.6+0x80/0xa0 CPU: 1 PID: 1743 Comm: perf Not tainted 5.1.0-rc6-147786-g116841e #344 Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Feb 1 2019 Call trace: dump_backtrace+0x0/0x150 show_stack+0x14/0x20 dump_stack+0x9c/0xc4 debug_smp_processor_id+0x10c/0x110 alloc_etr_buf.isra.6+0x80/0xa0 tmc_alloc_etr_buffer+0x12c/0x1f0 etm_setup_aux+0x1c4/0x230 rb_alloc_aux+0x1b8/0x2b8 perf_mmap+0x35c/0x478 mmap_region+0x34c/0x4f0 do_mmap+0x2d8/0x418 vm_mmap_pgoff+0xd0/0xf8 ksys_mmap_pgoff+0x88/0xf8 __arm64_sys_mmap+0x28/0x38 el0_svc_handler+0xd8/0x138 el0_svc+0x8/0xc Use NUMA_NO_NODE hint instead of using the current node for events not bound to CPUs. Fixes: 855ab61c16bf70b646 ("coresight: tmc-etr: Refactor function tmc_etr_setup_perf_buf()") Cc: Mathieu Poirier Signed-off-by: Suzuki K Poulose Signed-off-by: Mathieu Poirier Cc: stable Link: https://lore.kernel.org/r/20190620221237.3536-2-mathieu.poirier@linaro.org Signed-off-by: Greg Kroah-Hartman --- drivers/hwtracing/coresight/coresight-tmc-etr.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -1317,13 +1317,11 @@ static struct etr_perf_buffer * tmc_etr_setup_perf_buf(struct tmc_drvdata *drvdata, struct perf_event *event, int nr_pages, void **pages, bool snapshot) { - int node, cpu = event->cpu; + int node; struct etr_buf *etr_buf; struct etr_perf_buffer *etr_perf; - if (cpu == -1) - cpu = smp_processor_id(); - node = cpu_to_node(cpu); + node = (event->cpu == -1) ? NUMA_NO_NODE : cpu_to_node(event->cpu); etr_perf = kzalloc_node(sizeof(*etr_perf), GFP_KERNEL, node); if (!etr_perf) From patchwork Fri Jul 12 12:20:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 168948 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp829444ilk; Fri, 12 Jul 2019 05:36:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqw3aWQECfCWZz8cnePmbNxAicEyWakY+4FeZuDpK2KA1YAyqmpq+nTT2XduQTLv9rST061w X-Received: by 2002:a17:90a:db44:: with SMTP id u4mr11553444pjx.52.1562935007365; Fri, 12 Jul 2019 05:36:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562935007; cv=none; d=google.com; s=arc-20160816; b=o+IujxUTe9VdYJvArxUfhIaVEKak9ZtsNW0kZpj4giK8un8xg9VUuxP3bUJPgxOba3 2WJvFjfph2cJgkKtKFcaZTA5EYGlZty+DU1S0VQK8J/C4Zc8V6kyQ1a/l02hM9k5oDCs DCwu/8cfG+hOqgqrMvgWyUZOiRX7s0TLLXRorRYFBf8VGaTt2Fo12sprsleT8WVC5rGV 6ciQeENmrjPiS3fm+ZUra8p+54rhJFg1fc2TT0KNc6ggeCCt1KA+xDeAqQo+wunblAFj OXsDtBnwCHrUTAjA2Kx7Q3N25ZetKhVfBm+ofH1Lnt5MRWMATgjLv/bmIhvE5qyxZ0Iy vPhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dGddOZw90MW9a0fKLoXpAy7ErZdeZHyy6RGMb3Ul10E=; b=oQnZ6CVtrwZexSwX1QdtuSYu8NhXg06SwcW0Me4dK3dUpHngBfOwHqUBD986HrxZ0f 7uiSG76MJgIZejXGI2dC3xYnWqaDRkGbMoynaYtRFOSiSi1C80dqx+526rnF3t/DMEot CojunvM3zlIPFly0/u++RR19wkXRdK3sygMTbZ6fQx3231z1m6FxIpLekGj9WM+l7y/0 OwxFolRnqV67POd6DlLhgIHUffIsbGX9OjOdvr+u+OYxn/xPozfp0wIuKFWZvFaNx8Db OXuWVdzK84qUlBu/ihEefuoWyWHwbG+9wO6izQnEkL/UCeMMHnCnLsIcv9Mw9LOG/vA6 iaeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="ZhR0/xLE"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16si8368635pfi.142.2019.07.12.05.36.45; Fri, 12 Jul 2019 05:36:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="ZhR0/xLE"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729796AbfGLMex (ORCPT + 13 others); Fri, 12 Jul 2019 08:34:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:55048 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729798AbfGLMew (ORCPT ); Fri, 12 Jul 2019 08:34:52 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 9031320645; Fri, 12 Jul 2019 12:34:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562934892; bh=dwBSzYaJrmJSkrUYPKUiap1bMlzXZIw/v4IlMT1nhsg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZhR0/xLEYRKap9GcJKidgV9bGKF/hH55W1vDl+4+Qb1RkxY8tmOQ92zcRGmTd70+f YppwjJFJLFh785bIvF1vRZwW4o3kGPch7fRqCcque/PrIMPSzHwPFZQakcAy7kwMy+ 76ngtmIk716VhwQN4qmcC7X+c1+ZPl4HjntErCDo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mathieu Poirier , Suzuki K Poulose Subject: [PATCH 5.2 48/61] coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from preemptible Date: Fri, 12 Jul 2019 14:20:01 +0200 Message-Id: <20190712121623.232838861@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190712121620.632595223@linuxfoundation.org> References: <20190712121620.632595223@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Suzuki K Poulose commit 3a8710392db2c70f74aed6f06b16e8bec0f05a35 upstream. During a perf session we try to allocate buffers on the "node" associated with the CPU the event is bound to. If it is not bound to a CPU, we use the current CPU node, using smp_processor_id(). However this is unsafe in a pre-emptible context and could generate the splats as below : BUG: using smp_processor_id() in preemptible [00000000] code: perf/1743 caller is tmc_alloc_etr_buffer+0x1bc/0x1f0 CPU: 1 PID: 1743 Comm: perf Not tainted 5.1.0-rc6-147786-g116841e #344 Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Feb 1 2019 Call trace: dump_backtrace+0x0/0x150 show_stack+0x14/0x20 dump_stack+0x9c/0xc4 debug_smp_processor_id+0x10c/0x110 tmc_alloc_etr_buffer+0x1bc/0x1f0 etm_setup_aux+0x1c4/0x230 rb_alloc_aux+0x1b8/0x2b8 perf_mmap+0x35c/0x478 mmap_region+0x34c/0x4f0 do_mmap+0x2d8/0x418 vm_mmap_pgoff+0xd0/0xf8 ksys_mmap_pgoff+0x88/0xf8 __arm64_sys_mmap+0x28/0x38 el0_svc_handler+0xd8/0x138 el0_svc+0x8/0xc Use NUMA_NO_NODE hint instead of using the current node for events not bound to CPUs. Fixes: 22f429f19c4135d51e9 ("coresight: etm-perf: Add support for ETR backend") Cc: Mathieu Poirier Signed-off-by: Suzuki K Poulose Cc: stable # 4.20+ Signed-off-by: Mathieu Poirier Link: https://lore.kernel.org/r/20190620221237.3536-3-mathieu.poirier@linaro.org Signed-off-by: Greg Kroah-Hartman --- drivers/hwtracing/coresight/coresight-tmc-etr.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -1178,14 +1178,11 @@ static struct etr_buf * alloc_etr_buf(struct tmc_drvdata *drvdata, struct perf_event *event, int nr_pages, void **pages, bool snapshot) { - int node, cpu = event->cpu; + int node; struct etr_buf *etr_buf; unsigned long size; - if (cpu == -1) - cpu = smp_processor_id(); - node = cpu_to_node(cpu); - + node = (event->cpu == -1) ? NUMA_NO_NODE : cpu_to_node(event->cpu); /* * Try to match the perf ring buffer size if it is larger * than the size requested via sysfs.