Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp598568ybm; Fri, 29 May 2020 07:45:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyiMdJFJwaws6f9Txixwu0Q4dyHQyWoFuMPch/qbNEpa0qSoj+nqei+ubEw+WpWDPYMuwjp X-Received: by 2002:a17:906:9149:: with SMTP id y9mr2753942ejw.153.1590763510600; Fri, 29 May 2020 07:45:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590763510; cv=none; d=google.com; s=arc-20160816; b=yh4ZryEcuFcTMaJ/TVyIkSMLmHZp7pA1m/g6qxGQmHF3pXHqBt2tFc1i7MTSvWKTcK f3w4FStxKjFCrShkNrrjGsP1HyIvWpU+6DwNS1hl6RzMK8B2DVSWG0OJl9jpzXiuDhbT pV1OV6/MwEWllztxZcRAAmGfZCEuGkjvScdmv7JxVKVNh3985fqJhK9ueMQyxsaqzWTq 18RP0dNmHEm23uoPp7Z5lfl51Iy89l5XB3+jwBEjvIsYTsB7tKyx13tHho6TKr2jdM1u uDVccggQEo7qwM1umycC9kuwrI1dD4tp2/V+G+yP6rDC90igBvT42N46GcE7R2VDZbO0 61WQ== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=UVh1wWR/DjeVa+n2Yl0/3Yn24xlDJaPDKYgL0WddAm4=; b=g1ZvjD6E2aQHLWlrgIw65ksKT4CizYTY6t2u1rrhnX4GGhriAQShjagpIenCtQsRK8 xdHnYZufqiHZS3gTv2XZtUyHqZLx5NfGVZkbILNuRfezLoKHcNNE/ZZZ1qMqBXl4n8EM /Lo+kPP8PHns74LkOv6JHM8sDv5fqbzPHSyiDhXk7PlaEH8C7ouXfWLHPvGLeQIUSJv7 HI5CE2VhYE1TCZTj+ydmiVoyWMn7b7BzcgJtCetZuztzzebhrs558r74o8vqClb1B8qD 3+B5p/WCO4xF4lv/RbyY9mmzczt8Ey4w8c5OQCD/jKd1wnRjW7798AZtrldCjirmfg2p HCnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=G8N0uur1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d2si5132473ejw.702.2020.05.29.07.44.46; Fri, 29 May 2020 07:45:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=G8N0uur1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727000AbgE2OmU (ORCPT + 99 others); Fri, 29 May 2020 10:42:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726900AbgE2OmT (ORCPT ); Fri, 29 May 2020 10:42:19 -0400 Received: from mail-ot1-x341.google.com (mail-ot1-x341.google.com [IPv6:2607:f8b0:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40259C03E969 for ; Fri, 29 May 2020 07:42:19 -0700 (PDT) Received: by mail-ot1-x341.google.com with SMTP id g25so2052332otp.13 for ; Fri, 29 May 2020 07:42:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=UVh1wWR/DjeVa+n2Yl0/3Yn24xlDJaPDKYgL0WddAm4=; b=G8N0uur1m61O3mamR+hb4TsSXS3hF/3ShqBe7V7tEliLJlUc4kahzOlZmmhFxfKHGG 4fYHT9FxHwGhE1xpermoQXlrk3/URjzoazklnz/CeRAljnAJ4KgepvvHXhbNHpX1LlQO SJkQYGQX+1Ea7ekF31osINpOoS0ck3uowitr0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=UVh1wWR/DjeVa+n2Yl0/3Yn24xlDJaPDKYgL0WddAm4=; b=dbedxj7rRfmA/rfqyxfOfz0mbCyXbiciUmd+jbK9XSN0+VCvJuv8oXjnmuDNlxyfrm y1GbBrjf896DhinRDUJPepXPkhdJNlLZqwobYTc4XXkIxi07ZG+Bf3CLdbvBPec687O2 cViU2w+bILvrRrbTmDFzt2Z7pmILhtTCY80dDe56W7rUliHHuVqYn9aSfEDkYCGPhANX U2/EXTVvZtR5SNNODXhyEcmJYjUXQWs/p2F2swX4WZG1adaKMkZRi1k9wIdMbMSMbgNj 7dpt2zpXqiBR6h3Jv1lA/Xg/CeS1cybpdofy3m961hXi5vysLYOEyUhZCoasn+QTwm1L ChQA== X-Gm-Message-State: AOAM533Ipf31kG6b5KT3hL9bReBOUhFugxDnCWnD/xhnkOrfKKIxv+Z6 Tybg/CvvCkNhkENFm8h5Zr2xwQ== X-Received: by 2002:a05:6830:1c1:: with SMTP id r1mr6642949ota.170.1590763338637; Fri, 29 May 2020 07:42:18 -0700 (PDT) Received: from [192.168.1.112] (c-24-9-64-241.hsd1.co.comcast.net. [24.9.64.241]) by smtp.gmail.com with ESMTPSA id a7sm2491827otf.38.2020.05.29.07.42.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 May 2020 07:42:18 -0700 (PDT) Subject: Re: [PATCH v13 16/16] selftests/x86/fsgsbase: Test ptracer-induced GS base write with FSGSBASE To: Sasha Levin , tglx@linutronix.de, luto@kernel.org, ak@linux.intel.com Cc: corbet@lwn.net, mingo@redhat.com, bp@alien8.de, x86@kernel.org, shuah@kernel.org, gregkh@linuxfoundation.org, tony.luck@intel.com, chang.seok.bae@intel.com, dave.hansen@linux.intel.com, peterz@infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, jarkko.sakkinen@linux.intel.com, "H . Peter Anvin" , Dave Hansen , Shuah Khan References: <20200528201402.1708239-1-sashal@kernel.org> <20200528201402.1708239-17-sashal@kernel.org> From: Shuah Khan Message-ID: Date: Fri, 29 May 2020 08:42:16 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200528201402.1708239-17-sashal@kernel.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/28/20 2:14 PM, Sasha Levin wrote: > From: "Chang S. Bae" > > This validates that GS selector and base are independently preserved in > ptrace commands. > > Suggested-by: Andy Lutomirski > Signed-off-by: Chang S. Bae > Reviewed-by: Tony Luck > Cc: Thomas Gleixner > Cc: Borislav Petkov > Cc: Andy Lutomirski > Cc: H. Peter Anvin > Cc: Dave Hansen > Cc: Tony Luck > Cc: Andi Kleen > Signed-off-by: Sasha Levin > --- > tools/testing/selftests/x86/fsgsbase.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/x86/fsgsbase.c b/tools/testing/selftests/x86/fsgsbase.c > index 950a48b2e366..9a4349813a30 100644 > --- a/tools/testing/selftests/x86/fsgsbase.c > +++ b/tools/testing/selftests/x86/fsgsbase.c > @@ -465,7 +465,7 @@ static void test_ptrace_write_gsbase(void) > wait(&status); > > if (WSTOPSIG(status) == SIGTRAP) { > - unsigned long gs; > + unsigned long gs, base; > unsigned long gs_offset = USER_REGS_OFFSET(gs); > unsigned long base_offset = USER_REGS_OFFSET(gs_base); > > @@ -481,6 +481,7 @@ static void test_ptrace_write_gsbase(void) > err(1, "PTRACE_POKEUSER"); > > gs = ptrace(PTRACE_PEEKUSER, child, gs_offset, NULL); > + base = ptrace(PTRACE_PEEKUSER, child, base_offset, NULL); > > /* > * In a non-FSGSBASE system, the nonzero selector will load > @@ -501,8 +502,14 @@ static void test_ptrace_write_gsbase(void) > */ > if (gs == 0) > printf("\tNote: this is expected behavior on older kernels.\n"); I know this hasn't changed. Please clarify what is "this" in this message. > + } else if (have_fsgsbase && (base != 0xFF)) { > + nerrs++; > + printf("[FAIL]\tGSBASE changed to %lx\n", base); > } else { > - printf("[OK]\tGS remained 0x%hx\n", *shared_scratch); > + printf("[OK]\tGS remained 0x%hx", *shared_scratch); > + if (have_fsgsbase) > + printf(" and GSBASE changed to 0xFF"); > + printf("\n"); > } > } > > thanks, -- Shuah