From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41A3EC388F9 for ; Thu, 22 Oct 2020 14:39:48 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8E26024182 for ; Thu, 22 Oct 2020 14:39:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="PxugVsee" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E26024182 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D35CA6B006C; Thu, 22 Oct 2020 10:39:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE6CD6B0071; Thu, 22 Oct 2020 10:39:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD4AD6B0075; Thu, 22 Oct 2020 10:39:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0146.hostedemail.com [216.40.44.146]) by kanga.kvack.org (Postfix) with ESMTP id 7E9DC6B006C for ; Thu, 22 Oct 2020 10:39:46 -0400 (EDT) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 0A7D5362C for ; Thu, 22 Oct 2020 14:39:46 +0000 (UTC) X-FDA: 77399820372.17.hill01_110e0de27251 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin17.hostedemail.com (Postfix) with ESMTP id C755B180D0185; Thu, 22 Oct 2020 14:39:45 +0000 (UTC) X-HE-Tag: hill01_110e0de27251 X-Filterd-Recvd-Size: 5231 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf41.hostedemail.com (Postfix) with ESMTP; Thu, 22 Oct 2020 14:39:44 +0000 (UTC) Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 276A224171; Thu, 22 Oct 2020 14:39:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603377583; bh=ma7f6ciQXaB7O32bDDp+GeQJ6WrSJ5EDDu1VyaA7rGo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=PxugVsee9PWrXt/gXzudeuTvI47TjXebpNxq+V4HCmVCe1sKZHLosNqAbXuuvW+/i F3Omc7qJjCGcZpsoZ0gvdBLvvwF6P71x/p/bcwNCyzTjDInFt6yyFfEubOEEK8j98S eCVIVyZ2FmbbCU8ALan3OPjQJXwF2/c6hnwwd7rg= Date: Thu, 22 Oct 2020 16:40:21 +0200 From: Greg KH To: Arnd Bergmann Cc: David Hildenbrand , David Laight , Al Viro , Nick Desaulniers , Christoph Hellwig , "kernel-team@android.com" , Andrew Morton , Jens Axboe , David Howells , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mips@vger.kernel.org" , "linux-parisc@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-s390@vger.kernel.org" , "sparclinux@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-aio@kvack.org" , "io-uring@vger.kernel.org" , "linux-arch@vger.kernel.org" , "linux-mm@kvack.org" , "netdev@vger.kernel.org" , "keyrings@vger.kernel.org" , "linux-security-module@vger.kernel.org" Subject: Re: Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Message-ID: <20201022144021.GA1969554@kroah.com> References: <5fd6003b-55a6-2c3c-9a28-8fd3a575ca78@redhat.com> <20201022104805.GA1503673@kroah.com> <20201022121849.GA1664412@kroah.com> <98d9df88-b7ef-fdfb-7d90-2fa7a9d7bab5@redhat.com> <20201022125759.GA1685526@kroah.com> <20201022135036.GA1787470@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Oct 22, 2020 at 04:28:20PM +0200, Arnd Bergmann wrote: > On Thu, Oct 22, 2020 at 3:50 PM Greg KH wrote: > > On Thu, Oct 22, 2020 at 02:57:59PM +0200, Greg KH wrote: > > > On Thu, Oct 22, 2020 at 02:42:24PM +0200, David Hildenbrand wrote: > > > > > struct iovec *iovec_from_user(const struct iovec __user *uvec, > > > > - unsigned long nr_segs, unsigned long fast_segs, > > > > + unsigned nr_segs, unsigned fast_segs, > > > > struct iovec *fast_iov, bool compat) > > > > { > > > > struct iovec *iov = fast_iov; > > > > @@ -1738,7 +1738,7 @@ ssize_t __import_iovec(int type, const struct > > > > iovec __user *uvec, > > > > struct iov_iter *i, bool compat) > > > > { > > > > ssize_t total_len = 0; > > > > - unsigned long seg; > > > > + unsigned seg; > > > > struct iovec *iov; > > > > > > > > iov = iovec_from_user(uvec, nr_segs, fast_segs, *iovp, compat); > > > > > > > > > > Ah, I tested the other way around, making everything "unsigned long" > > > instead. Will go try this too, as other tests are still running... > > > > Ok, no, this didn't work either. > > > > Nick, I think I need some compiler help here. Any ideas? > > I don't think the patch above would reliably clear the upper bits if they > contain garbage. > > If the integer extension is the problem, the way I'd try it is to make the > function take an 'unsigned long' and then explictly mask the upper > bits with > > seg = lower_32_bits(seg); > > Can you attach the iov_iter.s files from the broken build, plus the > one with 'noinline' for comparison? Maybe something can be seen > in there. I don't know how to extract the .s files easily from the AOSP build system, I'll look into that. I'm also now testing by downgrading to an older version of clang (10 instead of 11), to see if that matters at all or not... thanks, greg k-h