Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2225380imm; Mon, 28 May 2018 04:17:55 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqW5U0665V/b5hM+5qw+qyQGTqqRocnAiCkjUDei+5QqC1CVrKndIGzPen2VkryMRHq1uy4 X-Received: by 2002:a17:902:b08f:: with SMTP id p15-v6mr12987959plr.36.1527506274956; Mon, 28 May 2018 04:17:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527506274; cv=none; d=google.com; s=arc-20160816; b=GeV3Bp6T1mQBHw5pDgBUQLhGxkZvtWri9UNtHHcNPzO+Qocy3aocgyEiONW3dcWFcR GtuBgRg8fuUxnrFYbH98YEsT1tXimvMaT8KwKlY9qYWZXWGejcmUU6SlgmcGtvEQUHPX /ZlMI2Bvf5rjrPs+2ghH8H3vX5+r4EvolIgzXpDILHm53IZZeCF9r6NkZqMEgh+CDemR Xn43yy+6HjLFrVBkj3Ed2w7SfEd1X16e2oTPLmdP4d6dCFlEZ/jZnLd9tsZ4TybW8v/9 OTfMc13PvTOKNyKNJ6WUWFIXAERgCMXvELF9TBAvFj32Y24e2/MJdN4VUGNdGtJp7rbV ZN8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=SQ4XDb8AoYnwKwlMQsZoYQwitPfCOM4r78hL9OD/Fak=; b=Vmr3/llu6vVV+iKKjsAiu2TztBCngDtgmEcFCl6M1j3t3nu74dlAAcqJmttiQ1wPOK rxFE8LeZsCASHs7Llz1ilDVDBlg5FIL8UFwmKRq0Guoy3hTw/vqvFw6NPwLs7DjYMp4a DBCkPb6GSjowilc9D+uOx5XhHWVaxmMPRpYasJakDXsGr0/yH65+4H5btsiVBRnxCczE J6tdCYbyZOqmNLdJQ6w34Pn0Bq+EOKdvvSKPZTCvcl06aOBaWZ7ex+JlmTdLMYGacYOd 8kqotnQR+xfXawfI6GlNZnx05g7Bv9ZN1TLwPvOf4t/JjO7k5VaNvGg7fT0dygu052mW zSGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OOr86TzP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 a12-v6si30051707plp.225.2018.05.28.04.17.40; Mon, 28 May 2018 04:17:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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=OOr86TzP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1424611AbeE1LPq (ORCPT + 99 others); Mon, 28 May 2018 07:15:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:34684 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1424585AbeE1LPg (ORCPT ); Mon, 28 May 2018 07:15:36 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 C750B206B7; Mon, 28 May 2018 11:15:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527506135; bh=wel3+qz3bpOqAjp+TQKa21/S5Gpe2QkT3cA0fgo+2Z8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OOr86TzPKKyTPnyFmwHWkYsteiAubq9051ktCH68stTvCm69UZWLO8o1rV3B31CRK bmJnDJeZF3LrALd7RUoKgGlap3JxfvwVOLrmXrNNLfORAH4M8g+3lV24Cn8l78wOP1 weUFbmpat52+/y8wUd6B6ezbl8VeGXlYemeKtCqU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jiri Olsa , "Naveen N. Rao" , Alexander Shishkin , David Ahern , Namhyung Kim , Peter Zijlstra , Arnaldo Carvalho de Melo , Sasha Levin Subject: [PATCH 4.16 252/272] perf tests: Use arch__compare_symbol_names to compare symbols Date: Mon, 28 May 2018 12:04:45 +0200 Message-Id: <20180528100301.427666662@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jiri Olsa [ Upstream commit ab6e9a99345131cd8e54268d1d0dc04a33f7ed11 ] The symbol search called by machine__find_kernel_symbol_by_name is using internally arch__compare_symbol_names function to compare 2 symbol names, because different archs have different ways of comparing symbols. Mostly for skipping '.' prefixes and similar. In test 1 when we try to find matching symbols in kallsyms and vmlinux, by address and by symbol name. When either is found we compare the pair symbol names by simple strcmp, which is not good enough for reasons explained in previous paragraph. On powerpc this can cause lockup, because even thought we found the pair, the compared names are different and don't match simple strcmp. Following code path is executed, that leads to lockup: - we find the pair in kallsyms by sym->start next_pair: - we compare the names and it fails - we find the pair by sym->name - the pair addresses match so we call goto next_pair because we assume the names match in this case Signed-off-by: Jiri Olsa Tested-by: Naveen N. Rao Acked-by: Naveen N. Rao Cc: Alexander Shishkin Cc: David Ahern Cc: Namhyung Kim Cc: Peter Zijlstra Fixes: 031b84c407c3 ("perf probe ppc: Enable matching against dot symbols automatically") Link: http://lkml.kernel.org/r/20180215122635.24029-10-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- tools/perf/tests/vmlinux-kallsyms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/tools/perf/tests/vmlinux-kallsyms.c +++ b/tools/perf/tests/vmlinux-kallsyms.c @@ -125,7 +125,7 @@ int test__vmlinux_matches_kallsyms(struc if (pair && UM(pair->start) == mem_start) { next_pair: - if (strcmp(sym->name, pair->name) == 0) { + if (arch__compare_symbol_names(sym->name, pair->name) == 0) { /* * kallsyms don't have the symbol end, so we * set that by using the next symbol start - 1,