Received: by 2002:a25:5b86:0:0:0:0:0 with SMTP id p128csp1642170ybb; Fri, 29 Mar 2019 08:26:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqwmZRSHcl7M3IahY6EVjxCZpdiv8DsUx0tEDIbTIplQn1gAB1xaLoHWrOtsf1/sgBnacSne X-Received: by 2002:a63:570d:: with SMTP id l13mr38829494pgb.55.1553873160473; Fri, 29 Mar 2019 08:26:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553873160; cv=none; d=google.com; s=arc-20160816; b=kALmPudC+JL9KHyZswFQ5EA6aQ0Uczx++LjYdNfaFkpiMa/NQmRC9pVtLB8GeUpjGU egaBGfz9luZ0qIxQAkSjZlNJqZ9IsFQ7fWeKJNOfUp1g5RFw+eUUexiq78WPcPLlCBwO QS39wEzzMtjeFrlYU8hHLQNPn/DeDJSJGXh79ERqtqj61Bjiub8nXvoZriKBSSwlp/kV f0miQ+4wM9YjdDcfRQwy+1ZHNjA1uDvaBsH7JgfdSTjs4deswgLly4KnkStu9U3HvfvU aBwifywe4ME9MAxe4pm47r0bGE7Ulvd+1dmG6ABUMKIATBKwJOcHjXyrkoJvIXY4cZk7 EYWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version; bh=iZ5kPfIs+YcB179zIkk/8p889n/pd0MJqStznyPAmSs=; b=B8QSaBjFe2nW8vmxNzx83v0mx6b2iyZyDAYJ7quI78mK2Z036aoFxdPuUAUz6/gRqc oG4FIlmpcfouJkxUJc57oFCgIE+8pu8Zj6NrWOvDilLyHT2HxZ8tMTZ5V3rGhe3L2KCN i/Tk43CvB/eU6coTv+0bjZCdjIRkXWw6ti/YYYt7XMJgJEGWt3WE5Wl5HZqrY0xeS4It 113PY+giA6VfyIK2kEVUcmfAnLl8pw4AXQ0zVYFBM8brHDEXu3rBDHTzwHJYyz1rjQbI 4OuD78crKy71xbnAUZYh8yJR3V1dh+fpe43RAzVH2zrBkDEt7g1WYpcVbxpmvIDRCxAF TTXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bd12si2097442plb.337.2019.03.29.08.25.44; Fri, 29 Mar 2019 08:26:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729171AbfC2PZF (ORCPT + 99 others); Fri, 29 Mar 2019 11:25:05 -0400 Received: from imap1.codethink.co.uk ([176.9.8.82]:36276 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728902AbfC2PZF (ORCPT ); Fri, 29 Mar 2019 11:25:05 -0400 Received: from [192.168.122.135] (helo=_) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1h9tNA-0000Td-Q4; Fri, 29 Mar 2019 15:24:48 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 29 Mar 2019 15:24:48 +0000 From: Ben Dooks To: Borislav Petkov Cc: Jann Horn , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Andrew Morton , Qiaowei Ren Subject: Re: [PATCH 2/2] x86: fix __user annotations In-Reply-To: <20190329133956.GE21152@zn.tnic> References: <20190328212321.92463-1-jannh@google.com> <20190328212321.92463-2-jannh@google.com> <20190329133956.GE21152@zn.tnic> Message-ID: X-Sender: ben.dooks@codethink.co.uk User-Agent: Roundcube Webmail/1.1.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-03-29 13:39, Borislav Petkov wrote: > On Thu, Mar 28, 2019 at 10:23:21PM +0100, Jann Horn wrote: >> Fix __user annotations in various places across the x86 tree: >> >> - cast to wrong pointer type in __user_atomic_cmpxchg_inatomic() >> - generic_load_microcode() deals with a pointer that can be either a >> kernel pointer or a user pointer; change the code to pass it around >> as >> a __user pointer, and add explicit casts to convert between __user >> and >> __kernel >> - save_xstate_epilog() has missing __user in explicit casts >> - setup_sigcontext() and x32_setup_rt_frame() rely on the cast >> performed >> by put_user_ex() on its first argument, but sparse requires __force >> for >> casting __user pointers to unsigned long >> - xen_hvm_config() has missing __user >> >> This patch removes all sparse warnings about the asn:1 address space >> (__user) in arch/x86/ for my kernel config. >> >> Signed-off-by: Jann Horn >> --- >> This patch requires the previous one, "[PATCH 1/2] kernel.h: use >> parentheses around argument in u64_to_user_ptr()", otherwise >> xen_hvm_config() breaks. Can we take both together through the x86 >> tree, >> or does the first one have to go through akpm's tree? > > I don't see why not, unless akpm has objections. > > However, > >> arch/x86/include/asm/uaccess.h | 3 +-- >> arch/x86/include/asm/uaccess_64.h | 2 +- > > This chunk is being discussed here already: > > https://lkml.kernel.org/r/20190228185027.2480-1-ben.dooks@codethink.co.uk > > and I'd like to take Ben's v2 when Ben adds Linus' explanation. I'll sort that out in a bit, thanks for reviewing.