Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965046AbeAITh6 (ORCPT + 1 other); Tue, 9 Jan 2018 14:37:58 -0500 Received: from twin.jikos.cz ([91.219.245.39]:36730 "EHLO twin.jikos.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754145AbeAITh4 (ORCPT ); Tue, 9 Jan 2018 14:37:56 -0500 Date: Tue, 9 Jan 2018 20:34:37 +0100 (CET) From: Jiri Kosina To: Dan Williams cc: linux-kernel@vger.kernel.org, Mark Rutland , peterz@infradead.org, Alan Cox , Srinivas Pandruvada , Will Deacon , Solomon Peachy , "H. Peter Anvin" , Christian Lamparter , Elena Reshetova , linux-arch@vger.kernel.org, Andi Kleen , "James E.J. Bottomley" , linux-scsi@vger.kernel.org, Jonathan Corbet , x86@kernel.org, Ingo Molnar , Alexey Kuznetsov , Zhang Rui , linux-media@vger.kernel.org, Arnd Bergmann , Jan Kara , Eduardo Valentin , Al Viro , qla2xxx-upstream@qlogic.com, Thomas Gleixner , Mauro Carvalho Chehab , Arjan van de Ven , Kalle Valo , alan@linux.intel.com, "Martin K. Petersen" , Hideaki YOSHIFUJI , gregkh@linuxfoundation.org, linux-wireless@vger.kernel.org, "Eric W. Biederman" , netdev@vger.kernel.org, Linus Torvalds , "David S. Miller" , Laurent Pinchart Subject: Re: [PATCH 00/18] prevent bounds-check bypass via speculative execution In-Reply-To: <151520099201.32271.4677179499894422956.stgit@dwillia2-desk3.amr.corp.intel.com> Message-ID: References: <151520099201.32271.4677179499894422956.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: Alpine 2.00 (LRH 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Fri, 5 Jan 2018, Dan Williams wrote: [ ... snip ... ] > Andi Kleen (1): > x86, barrier: stop speculation for failed access_ok > > Dan Williams (13): > x86: implement nospec_barrier() > [media] uvcvideo: prevent bounds-check bypass via speculative execution > carl9170: prevent bounds-check bypass via speculative execution > p54: prevent bounds-check bypass via speculative execution > qla2xxx: prevent bounds-check bypass via speculative execution > cw1200: prevent bounds-check bypass via speculative execution > Thermal/int340x: prevent bounds-check bypass via speculative execution > ipv6: prevent bounds-check bypass via speculative execution > ipv4: prevent bounds-check bypass via speculative execution > vfs, fdtable: prevent bounds-check bypass via speculative execution > net: mpls: prevent bounds-check bypass via speculative execution > udf: prevent bounds-check bypass via speculative execution > userns: prevent bounds-check bypass via speculative execution > > Mark Rutland (4): > asm-generic/barrier: add generic nospec helpers > Documentation: document nospec helpers > arm64: implement nospec_ptr() > arm: implement nospec_ptr() So considering the recent publication of [1], how come we all of a sudden don't need the barriers in ___bpf_prog_run(), namely for LD_IMM_DW and LDX_MEM_##SIZEOP, and something comparable for eBPF JIT? Is this going to be handled in eBPF in some other way? Without that in place, and considering Jann Horn's paper, it would seem like PTI doesn't really lock it down fully, right? [1] https://bugs.chromium.org/p/project-zero/issues/attachmentText?aid=287305 -- Jiri Kosina SUSE Labs