Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2649191ybt; Fri, 3 Jul 2020 15:02:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUXL7qUfZ++Y/hEXX4midRdossTh2x/WNEcfduGgAm0tg4DYa4Oktcx0y+tADuLh3K6oLo X-Received: by 2002:a17:907:405e:: with SMTP id ns22mr33016812ejb.6.1593813769727; Fri, 03 Jul 2020 15:02:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593813769; cv=none; d=google.com; s=arc-20160816; b=zAWdkmXPHnRI8LCp1vaHQlbWoFDbQ3YhikRqQMyWqM+RUEOPxJZO5eQBRUDFfYJv3I 1rmQymuKCo03AN2IqCePS66VTQ9FwMY+e/4qO5II8PboOhVfCTe7gYRIbX5iIWKecH73 tAJ7KIXo5YVfXjEzHTaohwLuqJv/7A+8MIui6R6GJua1JJC9Dnp5qLO+L4Cu2+HgJxJE cea6QeWR9BBu1ZJxVHEccjwHN2kwXrdhRUtWeZc0gfGBimiNVTg6qxo/B1NNYYy8Zzaq ukgYnUIfBUGg3LnGXvdymSs6rfXo8A0jfPn4rSUAPVNvqDe1bd0gT9tRH3w1TqOkqmec W9qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=clk1ko+M3ln2QzYXocMPaI0y9jTnUW268nq+qGtZSIc=; b=wnWDE60mt54Ua+CDeyupAY/8nJ79IwswCJZfJxAVjha+4po+fhw9itEnA5N2jKWCef w7JhbB4oHWLR+i8yDTo0hZhRjqFSCY3ttrWg/mXINlKf8qedNdEzEB1KnqrIQghuSOOJ Gqnj8HDvlm4oR5/hniJ8551pGQxrRZtPOto/q2dh3pAyIZGzN7H0XTNj03u69Zqex8iQ yocfJuqlBMkaot884ldrPElveIArTsaFaZqCgKLr432vGmNDlJKsH3J2D56eaQsAVJCh FLeDzfKxNnkkORxDaGReEOR6aPY8dCOs7jaRiCvIztJJ/PiJJIQwLWyoKWp/bEs5wOGm 5l4A== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e7si8898235edn.164.2020.07.03.15.02.26; Fri, 03 Jul 2020 15:02:49 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726505AbgGCV7b (ORCPT + 99 others); Fri, 3 Jul 2020 17:59:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726258AbgGCV7b (ORCPT ); Fri, 3 Jul 2020 17:59:31 -0400 Received: from ZenIV.linux.org.uk (zeniv.linux.org.uk [IPv6:2002:c35c:fd02::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60F33C061794 for ; Fri, 3 Jul 2020 14:59:31 -0700 (PDT) Received: from viro by ZenIV.linux.org.uk with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrTiM-004qmy-6g; Fri, 03 Jul 2020 21:59:22 +0000 Date: Fri, 3 Jul 2020 22:59:22 +0100 From: Al Viro To: Linus Torvalds Cc: Michael Ellerman , Christophe Leroy , Josh Poimboeuf , Peter Zijlstra , the arch/x86 maintainers , Linux Kernel Mailing List Subject: Re: objtool clac/stac handling change.. Message-ID: <20200703215922.GT2786714@ZenIV.linux.org.uk> References: <87lfk26nx4.fsf@mpe.ellerman.id.au> <20200702201755.GO2786714@ZenIV.linux.org.uk> <20200702205902.GP2786714@ZenIV.linux.org.uk> <20200703013328.GQ2786714@ZenIV.linux.org.uk> <20200703210237.GS2786714@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 03, 2020 at 02:10:08PM -0700, Linus Torvalds wrote: > On Fri, Jul 3, 2020 at 2:02 PM Al Viro wrote: > > > > Actually, for more serious problem consider arch/x86/lib/copy_user_64.S > > What? No. > > > In case of an unhandled fault on attempt to read an (unaligned) word, > > the damn thing falls back to this: > > SYM_CODE_START_LOCAL(.Lcopy_user_handle_tail) > > movl %edx,%ecx > > 1: rep movsb > > 2: mov %ecx,%eax > > ASM_CLAC > > ret > > > > _ASM_EXTABLE_UA(1b, 2b) > > SYM_CODE_END(.Lcopy_user_handle_tail) > > In the case of "we did an unaligned word at the end of a page, we took > a fault, and now we have to start all over", the _least_ of our > problems is that part of "starting over" would now imply doing a > "stac" again. What do you mean, start over? It's picking a few remaining bytes out of that word, *not* redoing the entire thing.