From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753935AbcGDUYj (ORCPT ); Mon, 4 Jul 2016 16:24:39 -0400 Received: from terminus.zytor.com ([198.137.202.10]:47232 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753899AbcGDUYh (ORCPT ); Mon, 4 Jul 2016 16:24:37 -0400 User-Agent: K-9 Mail for Android In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: [PATCH] Syscall arguments are unsigned long (full registers) From: "H. Peter Anvin" Date: Mon, 04 Jul 2016 13:23:58 -0700 To: "Tautschnig, Michael" CC: "x86@kernel.org" , "linux-api@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Thomas Gleixner , Ingo Molnar , Jaswinder Singh , Andi Kleen Message-ID: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On July 4, 2016 1:13:21 PM PDT, "Tautschnig, Michael" wrote: > >> On 4 Jul 2016, at 20:27, H. Peter Anvin wrote: >> >> On July 4, 2016 6:52:58 AM PDT, "Tautschnig, Michael" > wrote: >>> All syscall arguments are passed in as types of the same byte size >as >>> unsigned long (width of full registers). Using a smaller type >without a >>> cast may result in losing bits of information. In all other >instances >>> apart from the ones fixed by the patch the code explicitly >introduces >>> type casts (using, e.g., SYSCALL_DEFINE1). >>> >>> While goto-cc reported these problems at build time, it is >noteworthy >>> that the calling conventions specified in the System V AMD64 ABI do >>> ensure that parameters 1-6 are passed via registers, thus there is >no >>> implied risk of misaligned stack access. >>> >>> >[...] >> >> Wrong. Syscall arguments aren't necessarily full registers, and on >x86 truncation is already done by the callee, so we don't need any >special handing. Some other architectures have other constraints. > >Ok - I'm assuming I have thus misunderstood >eb974c62565072e10c1422eb3205f5b611dd99a1 ? Supposedly all those >SYSCALL_DEFINEx are required for other architectures only? > >Best, >Michael That, and tracing. -- Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.