From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752231AbeEQODG (ORCPT ); Thu, 17 May 2018 10:03:06 -0400 Received: from ozlabs.org ([203.11.71.1]:52367 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750825AbeEQODE (ORCPT ); Thu, 17 May 2018 10:03:04 -0400 Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ellerman.id.au From: Michael Ellerman To: Thiago Jung Bauermann , linuxppc-dev@lists.ozlabs.org Cc: linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Ram Pai , Thiago Jung Bauermann Subject: Re: [PATCH 1/2] selftests/powerpc: Add ptrace tests for Protection Key registers In-Reply-To: <20180223183344.21038-1-bauerman@linux.vnet.ibm.com> References: <20180223183344.21038-1-bauerman@linux.vnet.ibm.com> Date: Fri, 18 May 2018 00:03:01 +1000 Message-ID: <87tvr6mlbe.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thiago Jung Bauermann writes: > This test exercises read and write access to the AMR, IAMR and UAMOR. > > Signed-off-by: Thiago Jung Bauermann > --- > tools/testing/selftests/powerpc/include/reg.h | 1 + > tools/testing/selftests/powerpc/ptrace/Makefile | 5 +- > tools/testing/selftests/powerpc/ptrace/child.h | 130 ++++++++ > .../testing/selftests/powerpc/ptrace/ptrace-pkey.c | 326 +++++++++++++++++++++ This is failing on machines without pkeys: test: ptrace_pkey tags: git_version:52e7d87 [FAIL] Test FAILED on line 117 [FAIL] Test FAILED on line 191 failure: ptrace_pkey I think the first fail is in the child here: int ptrace_read_regs(pid_t child, unsigned long type, unsigned long regs[], int n) { struct iovec iov; long ret; FAIL_IF(start_trace(child)); iov.iov_base = regs; iov.iov_len = n * sizeof(unsigned long); ret = ptrace(PTRACE_GETREGSET, child, type, &iov); FAIL_IF(ret != 0); Which makes sense. The test needs to skip if pkeys are not available/enabled. Using the availability of the REGSET might actually be a nice way to detect that, because it's read-only. cheers