Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp456314ybk; Fri, 15 May 2020 05:17:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw62t27vyrXIn5ApageTZpwbuQTdXSGpJvqK3IQI856/zpDTdGkYAABakEitwloA9L6IOKo X-Received: by 2002:a17:906:4993:: with SMTP id p19mr2300707eju.67.1589545073506; Fri, 15 May 2020 05:17:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589545073; cv=none; d=google.com; s=arc-20160816; b=dwRZxgMUc3jh8aYyuc9JrOJv/0twhbC8FTzy3S+Ai5wMXNiV32tiU3gbKB8UZ3uoWb JaXEBADNDxeWXdXUpNfoW7AGfKXcKhhNJ/uy0X2jOHP5CRWDAnlzz51hsMXPt7ER7DmI HU1mATvSjwt8Hp3O9KkwX9uV/2zCFF/LdVfC85cvmmc4/ApvXkMSxAII9LP9oogL5hWq 1hy9Qyy7ILZlqJrqO+Wj2Yi45/ECI690gA4c4+IS3CxwoGHsVKsIQytmgcPbG5YuHfEk Y/qq1N+ud9juWSHAeoh2yjLepsB6yghrsabPG4S0IknGnDEcOEzgxFJsLb93R7Pr9cIu /TRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=wO3WfBzz3sXFu/UmGn0py5JO3lUtLdiDwLGHsADKYzQ=; b=omkq2YbbBOGhwbOJCQ1GW4LGFuRiIV8m5RFpGNBeF0qdzXJ0iXr5BhQ5KMGE8k/vtN 9MwTsAF4nHLO8iZ52gUPMGX/HJdC1kZSaeWXhp2bcqT/C+N2ZcT92eTG3xmZva62Ose2 xn9H+Rj21UNA3P8izuZjAI+qQmD8RGR7zve2MYvPjFmnonKxzEnogRJuGQSKX6WtSYWk ObLcEjGle3pfRMg0/5T14U6ET5abnOCU4rP9i2s3iOK7jwvbk4c/pMBm9hWR9wis7agC 9w79rn5enPh78ylgfnxPYG3mp47iRh3WG42eBB4H593dyn+RgiZf0XzF2eyBo32bMtxM /VPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OsxPPfg8; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a42si1118377edf.186.2020.05.15.05.17.27; Fri, 15 May 2020 05:17:53 -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=@kernel.org header.s=default header.b=OsxPPfg8; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726183AbgEOMNw (ORCPT + 99 others); Fri, 15 May 2020 08:13:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:38638 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726118AbgEOMNw (ORCPT ); Fri, 15 May 2020 08:13:52 -0400 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (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 610E220657; Fri, 15 May 2020 12:13:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589544831; bh=wO3WfBzz3sXFu/UmGn0py5JO3lUtLdiDwLGHsADKYzQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OsxPPfg8b47Ez+Exn/r04LsRNi/MOD4RC8HIxKVhYoBXCknPhrB81UTnuY82bTnST xjZFUoU/z4q1C6LQ2OtKCL9UCkY8wFJqidpfGSwzLxp3GbF9pGYjx0i+hlHR1148wq h56oGW78rqtJVj2ZPA/uRZnJIASubirSvGrbrUtg= Date: Fri, 15 May 2020 13:13:47 +0100 From: Will Deacon To: Keno Fischer Cc: Linux Kernel Mailing List , Oleg Nesterov , Will Deacon , Sudeep Holla , Catalin Marinas , linux-arm-kernel@lists.infradead.org Subject: Re: PTRACE_SYSEMU behavior difference on arm64 Message-ID: <20200515121346.GA22919@willie-the-truck> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Keno, On Fri, May 15, 2020 at 07:15:35AM -0400, Keno Fischer wrote: > The behavior of PTRACE_SYSEMU on arm64 > appears to differ substantially from that of x86 and powerpc > (the other two architectures on which this feature is implemented). > In particular, after PTRACE_SYSEMU the syscall will always > be skipped on x86 and powerpc, but executed on arm64 unless > the syscall-entry stop was again continued using PTRACE_SYSEMU. > The skipping behavior is also documented in the manpage, > so I suspect this may just be a bug (the skipping behavior > makes sense to me and is what I would expect). > The reason this happens is that `syscall_trace_enter` > re-checks TIF_SYSCALL_EMU after the ptrace stop, but at that > point it may have already been superseded by a new ptrace > request. x86 and power save the original value of the flag, > rather than acting on the new value. I can submit a patch to > fix this, but wanted to check first whether this was intentional. > If it is, I can fix the man page instead. Please send a patch, since this looks like a silly bug to me. But it also means that nobody is using this on arm64, so we could also consider removing it entirely. Did you spot this because you are trying to use it for something or just by inspection/unit-testing? Will