From nobody Sun Apr 19 18:49:09 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09228C43334 for ; Tue, 28 Jun 2022 07:17:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241556AbiF1HRM (ORCPT ); Tue, 28 Jun 2022 03:17:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49140 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240960AbiF1HQs (ORCPT ); Tue, 28 Jun 2022 03:16:48 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2C912C67C; Tue, 28 Jun 2022 00:16:47 -0700 (PDT) Date: Tue, 28 Jun 2022 07:16:45 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1656400606; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=be2rZMSxSuOrkwNw2B547tmWDoxek/pBMVyxl1SaJCY=; b=Y4HumeEKjriC9cEA7OkP025d8OsbOB/zQIshmejqiyZXYV9DyNJY/sP90I1U5rJbz/hPIU tybEvisU/XCnzeUBCa0NXrRiF4CduG92vffCmlOpT/k+5WTezwdOEWhC/i1SF056KdACrj s+JrTU9OJbdO4paBwRmGipJp3j/NnhOee7J3r4k7O28p5YS9QKrfa1wCHRGCjRDIhJL6dX XbVIDVCvk4PCWiwKuGB6WK5VI6TFfNG4WD/WwfcVwuRvzzWdIJ642mCQC86+fELsM4CbFq yoZl6nd/w56YiLk2GFSLb13gVWoXLHDNKC5VJdn9JJ5trOvb3+ApcC1V8OO5eA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1656400606; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=be2rZMSxSuOrkwNw2B547tmWDoxek/pBMVyxl1SaJCY=; b=JxHOtk3t1PF6obiDevRdWajPkcPJ1vLVLVAWK2O9mbOgNRZinX2uVo9VwzrOIstc7FyiQA xwm05Cek+b+D6YBw== From: "tip-bot2 for Michael Jeanson" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: sched/core] selftests/rseq: check if libc rseq support is registered Cc: Michael Jeanson , "Peter Zijlstra (Intel)" , Mathieu Desnoyers , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20220614154830.1367382-4-mjeanson@efficios.com> References: <20220614154830.1367382-4-mjeanson@efficios.com> MIME-Version: 1.0 Message-ID: <165640060512.4207.5481017420790615805.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the sched/core branch of tip: Commit-ID: d1a997ba4c1bf65497d956aea90de42a6398f73a Gitweb: https://git.kernel.org/tip/d1a997ba4c1bf65497d956aea90de42a6= 398f73a Author: Michael Jeanson AuthorDate: Tue, 14 Jun 2022 11:48:30 -04:00 Committer: Peter Zijlstra CommitterDate: Tue, 28 Jun 2022 09:08:28 +02:00 selftests/rseq: check if libc rseq support is registered When checking for libc rseq support in the library constructor, don't only depend on the symbols presence, check that the registration was completed. This targets a scenario where the libc has rseq support but it is not wired for the current architecture in 'bits/rseq.h', we want to fallback to our internal registration mechanism. Signed-off-by: Michael Jeanson Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Mathieu Desnoyers Link: https://lore.kernel.org/r/20220614154830.1367382-4-mjeanson@efficios.= com --- tools/testing/selftests/rseq/rseq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/rseq/rseq.c b/tools/testing/selftests/= rseq/rseq.c index 986b945..4177f95 100644 --- a/tools/testing/selftests/rseq/rseq.c +++ b/tools/testing/selftests/rseq/rseq.c @@ -111,7 +111,8 @@ void rseq_init(void) libc_rseq_offset_p =3D dlsym(RTLD_NEXT, "__rseq_offset"); libc_rseq_size_p =3D dlsym(RTLD_NEXT, "__rseq_size"); libc_rseq_flags_p =3D dlsym(RTLD_NEXT, "__rseq_flags"); - if (libc_rseq_size_p && libc_rseq_offset_p && libc_rseq_flags_p) { + if (libc_rseq_size_p && libc_rseq_offset_p && libc_rseq_flags_p && + *libc_rseq_size_p !=3D 0) { /* rseq registration owned by glibc */ rseq_offset =3D *libc_rseq_offset_p; rseq_size =3D *libc_rseq_size_p;