From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com [IPv6:2607:f8b0:4864:20::b31]) by sourceware.org (Postfix) with ESMTPS id 055D138618BC; Thu, 21 Dec 2023 16:10:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 055D138618BC Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 055D138618BC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b31 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703175041; cv=none; b=J4dte1Oog6zIwRI9udoGZS4LmV6uiDhnKFaD5WAbOKhsK+OiKtf2CR3UFlOZdS5cQRTheBc6nrshYKFC9+cvIBSW3Sx04w+Ni3lG51+d7PK0+iGD/j7cjaUy1vmOB3QDynzs+eUatpCgE5Wb7NCjxbGRgUwspGtJ52pdIHrpjZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703175041; c=relaxed/simple; bh=COkWKJCUtpT1Q6o601Sb8s+mkkZI9GHMiMlD/0A9ZtM=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=br1N55nICzWYmDgCTcOR4n02HGaQaFhknoJJoXk1Hku8NTEJapBdh9SgVYPhChvWSvht4V2XdCnlt4q9wIWRV5cW4kKGCvzW40yq10WKNpHkPgCmlAtXm0FcX9CdwXc0qAJT+ehVeAA7Jivv368e5OsEQ+IndiEqk5e1Tsm7IvY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb31.google.com with SMTP id 3f1490d57ef6-dbd73cc1e52so911869276.0; Thu, 21 Dec 2023 08:10:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703175037; x=1703779837; darn=sourceware.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=sfs3jIhs8u9E91rBpjTinEnLQQYjn7GN/9m0eAtmXBk=; b=EVKTv0tK66MTC0ZOIB89RSAjAneDmCj5uZEMvzKB6xijKHRbzhFpMQg2zR5ZdJHhW7 jweJXYN+Y+7IaUgNHneDajDrtwcqaAmJiyRfc3R2A6/zZrhI/MwPxQvao7JY7cRir+/h hfovkujDZ7GCnabK+UI7VWOCsyiULm++t+DK1jxes0JWQ8jtWAlOTon42rDvWf7dMutc NDqmUOfdRb1k4Hks1xCNgkx+O+00pOLoqgOhiHCnWvYgxTVuqnSVpaMnjbNQBqwQP2Z9 L6lMpIXQTZiNhfW+1ny0rq7/4YKbmNvNcngJxOGCYVewCnqhuaBEi0usToueXxsylYaO QBBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703175037; x=1703779837; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sfs3jIhs8u9E91rBpjTinEnLQQYjn7GN/9m0eAtmXBk=; b=aTuJ4uI4kaxKn5ipzzjWhdZkZv90ZPWPfkBZ+RvlQxwXHwfPFQ1iXKuDrXZrgcn3Tu 6Eqg/CI1C4TeN2MneQbNlXzTpqt/xHCP2JhsQd/HIqIj+Bjv1M5cfteoBG8badOjEXur dVl3ysBvb+QkiOMvGuYMUJJKacGpWggQEOX4aRMvJ8c0400uXxKSVcXGOsx90IoCfnuC YzHiv+AYbrFJGkFLJMpO7PbI3dk4LeliA1OMJygGqjmvcslqRuipSsElw0SFwxMTqZfs zFjquoiLNLi46sXZziHgkiQVUNROF7M5I6lu6+owLavLUFHZexCRH+LvGAW3Ow3d8Eam rp0w== X-Gm-Message-State: AOJu0Yz2UT5fV3eKG8U8mIzgX9HbZZu/Ry+ZArv6oeC/QxBJCuoaD8Qv QmaX087QTlXltAk+mIOFB/ZRJERy0gNm2OpxP0CY2m+EKU4= X-Google-Smtp-Source: AGHT+IFsYuFY+E5XGEJaRG/r74TvxqO50wqgcBO3qZfBjo3rt35HhrFgowZB+jtsuZBbO5ukpdMOH5dvJyPfw4wYCZ0= X-Received: by 2002:a25:910c:0:b0:dbc:4ef4:c754 with SMTP id v12-20020a25910c000000b00dbc4ef4c754mr1258000ybl.65.1703175036956; Thu, 21 Dec 2023 08:10:36 -0800 (PST) MIME-Version: 1.0 References: <20231221034212.2608829-1-hjl.tools@gmail.com> In-Reply-To: <20231221034212.2608829-1-hjl.tools@gmail.com> From: "H.J. Lu" Date: Thu, 21 Dec 2023 08:10:01 -0800 Message-ID: Subject: Re: [PATCH] x86-64: Fix the tcb field load for x32 [BZ #31185] To: libc-alpha@sourceware.org, Libc-stable Mailing List , Noah Goldstein Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3021.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Dec 20, 2023 at 7:42=E2=80=AFPM H.J. Lu wrote= : > > _dl_tlsdesc_undefweak and _dl_tlsdesc_dynamic access the thread pointer > via the tcb field in TCB: > > _dl_tlsdesc_undefweak: > _CET_ENDBR > movq 8(%rax), %rax > subq %fs:0, %rax > ret > > _dl_tlsdesc_dynamic: > ... > subq %fs:0, %rax > movq -8(%rsp), %rdi > ret > > Since the tcb field in TCB is a pointer, %fs:0 is a 32-bit location, > not 64-bit. It should use "sub %fs:0, %RAX_LP" instead. Since > _dl_tlsdesc_undefweak returns ptrdiff_t and _dl_make_tlsdesc_dynamic > returns void *, RAX_LP is appropriate here for x32 and x86-64. This > fixes BZ #31185. > --- > sysdeps/x86_64/dl-tlsdesc.S | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sysdeps/x86_64/dl-tlsdesc.S b/sysdeps/x86_64/dl-tlsdesc.S > index c4823547d7..4579424bf7 100644 > --- a/sysdeps/x86_64/dl-tlsdesc.S > +++ b/sysdeps/x86_64/dl-tlsdesc.S > @@ -61,7 +61,7 @@ _dl_tlsdesc_return: > _dl_tlsdesc_undefweak: > _CET_ENDBR > movq 8(%rax), %rax > - subq %fs:0, %rax > + sub %fs:0, %RAX_LP > ret > cfi_endproc > .size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak > @@ -116,7 +116,7 @@ _dl_tlsdesc_dynamic: > addq TLSDESC_MODOFF(%rdi), %rax > .Lret: > movq -16(%rsp), %rsi > - subq %fs:0, %rax > + sub %fs:0, %RAX_LP > movq -8(%rsp), %rdi > ret > .Lslow: > -- > 2.43.0 > I will check it in tomorrow and back it to release branches later. Thanks. --=20 H.J.