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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 922F2C4332F for ; Mon, 13 Nov 2023 17:21:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 26DC28D0034; Mon, 13 Nov 2023 12:21:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2201F8D002E; Mon, 13 Nov 2023 12:21:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10D008D0034; Mon, 13 Nov 2023 12:21:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 027498D002E for ; Mon, 13 Nov 2023 12:20:59 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B945E1601ED for ; Mon, 13 Nov 2023 17:20:59 +0000 (UTC) X-FDA: 81453596238.26.262F37F Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf29.hostedemail.com (Postfix) with ESMTP id E0297120012 for ; Mon, 13 Nov 2023 17:20:57 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="dEE2/t5y"; spf=pass (imf29.hostedemail.com: domain of nathan@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=nathan@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699896058; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hE42pRDBR8lPkx1ZqRV5Ov7raHEUsKVIsaWx1WXtpJ0=; b=KgOR9MsxrocvBGlWPHeAHHhEVuqQMAoTweCPOVfyM4eLXut/MV31nILci0PHpyrJmaR6qG 8ilfFMxXgQ96uHLThlIMiqpdpg49mWudwz0ceZisXPWFwomAUcQBDIwwqJWcjMsrYHIyhz RUrYO79DoYMHkwMBp4PekH3nVOwark0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699896058; a=rsa-sha256; cv=none; b=xqbJEeDRXFDizeEkWaLeEfZqHDnSBkzTe6HTo84LyJyeAP9D8zdnCdrboqHNph4+qF9vLw TvIBNonE30mGlLYV+MgKPYTEAA+pl86H/4aiJsOk8k2b04fi3XAZkAGPU93jR3UE9ycwR9 85kevVfAc0KYQbViu+/R7pZWi5gEVyo= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="dEE2/t5y"; spf=pass (imf29.hostedemail.com: domain of nathan@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=nathan@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id E9C5AB80E9E; Mon, 13 Nov 2023 17:20:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6600C433C7; Mon, 13 Nov 2023 17:20:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699896055; bh=xAPJraPLQAkSEMrXbNNi6jnVOIDBHLRqKC+IUziKfv0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dEE2/t5yeQlHrX4qRNp8a2xVGp/zSrsUOLZtJjfwyLlI4zC1VrUhYtZQjrOxjSHul 8nJlAJEh4Prmu8Rr3qjB3/SCk9lhLw+mNpceoAxGHdE0Y1JT0JJUkEChj2P9djSJWx fUG8TtajhlmY4lSoj8Ry4QfRHkTwB8DdYp/lghse/8BRVvK720VCM9uzQQ0jmJqY16 fW4r53/T0pkOSV0Kv+hhHT2sx9GsKmZh/1eu/vsVfvuj7xkjUVoKpFQ8hh51TJp0JR xO2/jgnklHdisx8V+WoHOequXkLyLQatexoWCTIcFVEx3wQi1pAGJk4SDSny/Ieg2k +LNa9i0iS8RRA== Date: Mon, 13 Nov 2023 10:20:52 -0700 From: Nathan Chancellor To: Andrew Morton Cc: kernel test robot , "Matthew Wilcox (Oracle)" , llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , Hannes Reinecke , Luis Chamberlain , Pankaj Raghav , linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v2 3/7] buffer: Fix grow_buffers() for block size > PAGE_SIZE Message-ID: <20231113172052.GA3733520@dev-arch.thelio-3990X> References: <20231109210608.2252323-4-willy@infradead.org> <202311121240.AN8GbAbe-lkp@intel.com> <20231113091006.f9d4de1aaf7ed2f8beef07fb@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231113091006.f9d4de1aaf7ed2f8beef07fb@linux-foundation.org> X-Stat-Signature: ufs6nfntaekh1s4enii7tk1wkf8z7mx8 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E0297120012 X-Rspam-User: X-HE-Tag: 1699896057-595212 X-HE-Meta: U2FsdGVkX1/h31RpteZ4zJNNEzuqRsRu6rQtn63qaEWayEDC3QG42usjmfX/5LICAN59DK5CV9jFT0EIzLhBqPoIFSackRc4tEbSUDc0qRSIDeQW+tFHNZ21W0Ulbnk0Ggq8rgnkiE85QbvKuFTQg5Ar7UOmIJaLePxUl1YobOpAQ27zpzN6bQWnWgMKFtfDiaW+BV00Hfze1E4gNy50aCMhJHGs2/kuKfmgxenfUjuhRz9EpO/odK26x5gXt1SGm/xnRohDmXkU6gEtO8WjATJ0vAC92q9o3XMGd/BZk96th6cHjxu+BPYw9J5v4fLYmPF/NYqEjCxixu0lFWZFVFTRiOjEuhMlPNIGl3hm4ToP8TseoNSGXLf1ceI5vLze6pO29Drk1c2BxHnturlnJwHKjwDsGjiFTpGt3HuOKX+q+AU6VywFvAi2bkBVatK8eyXOf/6vvaxOQQDblGuMT77mym+dSTT3QPS/2hQ1X0BA65xhe4HK9jOe1aCklQoA9ehnWwvWkm++/wKWYXB6yx+y89yPZ0HVCgSfOkXLR5PHzxW5auwmuKGoUpAlRmxs8NJHM5t17hV05x6ML0kc5sBOnR0wP9ylJki9W6OQ4oNROJuyRVi60tafZWDyqWT5fK8QcjJ3g9DB9CI8H2MvQQo7pHwBPv324jN4t2ik86wArywxr+79KtDEoK6gKfQCXwfm+ubkotpAfoLuYW6ctQZBmAUUKy6NBX6q56no9tg/QNfB4J3H0w8edy/y4XSUZFDt1k0YnYOQuSW+Df3L6dZkb7+zdixIi+NhfWDuhzkK3u9HQotksrsrZjYjhBZlghS/djOMQu12uE9hZBpZ2x3txhf93ZmI6zegsabqsozVGx/jZpczb5bfD8LmOYYjdE1T7PcPjWhgeLzuU5Nzj8pr3swuKSNnobEsHdvcLA6NjWbGoAxH5WR3SFz1l9aj2hmqgPkrdL4WX98OAQ+ dncct8qa /RRBvOOE0KxmsbmMC1+tfUH2opa2lRmprIgU13KyvNcdTkp5xLUj4JsklkHq7LqrVKa2EB3T0bcsYSVaRDQUNtt4/E9gtcddVfkr0ADh47arKpC7XnrYTZ4K6QiaRby0h+yu3ejrBY9eYMpkSQa8NYOFxOl+CNG9xKBRreLkfEyGN09mI+kqzUNzWnGVsLeNb+ZZsJ0cYK/JWxDysO5IUKz20jGtjlW3qUN6Dzm+h1JqJnu9bE/lkzOeou3W4GZ8VXQ4Z8dmme5uM+V/rUodiWVCohDJict2G3n+GQDSg2SiGudphkEQvZuu1LhmNLrEuheecC6S99Ia1NkCBXGGjBVZMlNfgHH8dMhGFuQGt3wET7nmIeEm/XLCIeqW9E6quMKoQ5l/HkfX2B1wvQw1KyJNW0+eGFinVDIE1IHPjFJGOdWxQ+rx6sTLaPhsCgvaMfphUgHimDn4ZgTrFD1udOTgK1QJ0tiuLTdyRtGxRZf1cZxuVl7N4CsdA5O3eWns+fxeVN7vFdvXIjfyIivW6V8o2JkpyY7teTSqcEgnhyNYc64+BS6qNjc2Hplrf5c51lavhEV4KoBaEF/U= 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: List-Subscribe: List-Unsubscribe: On Mon, Nov 13, 2023 at 09:10:06AM -0800, Andrew Morton wrote: > On Sun, 12 Nov 2023 12:52:00 +0800 kernel test robot wrote: > > > Hi Matthew, > > > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on akpm-mm/mm-everything] > > [also build test ERROR on linus/master next-20231110] > > [cannot apply to v6.6] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Matthew-Wilcox-Oracle/buffer-Return-bool-from-grow_dev_folio/20231110-051651 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > > patch link: https://lore.kernel.org/r/20231109210608.2252323-4-willy%40infradead.org > > patch subject: [PATCH v2 3/7] buffer: Fix grow_buffers() for block size > PAGE_SIZE > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231112/202311121240.AN8GbAbe-lkp@intel.com/config) > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231112/202311121240.AN8GbAbe-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot > > | Closes: https://lore.kernel.org/oe-kbuild-all/202311121240.AN8GbAbe-lkp@intel.com/ > > > > All errors (new ones prefixed by >>): > > > > >> ld.lld: error: undefined symbol: __muloti4 > > >>> referenced by buffer.c > > >>> fs/buffer.o:(bdev_getblk) in archive vmlinux.a > > >>> referenced by buffer.c > > >>> fs/buffer.o:(bdev_getblk) in archive vmlinux.a > > > > What a peculiar compiler. > > I assume this fixes? > > --- a/fs/buffer.c~buffer-fix-grow_buffers-for-block-size-page_size-fix > +++ a/fs/buffer.c > @@ -1099,7 +1099,7 @@ static bool grow_buffers(struct block_de > } > > /* Create a folio with the proper size buffers */ > - return grow_dev_folio(bdev, block, pos / PAGE_SIZE, size, gfp); > + return grow_dev_folio(bdev, block, pos >> PAGE_SHIFT, size, gfp); > } > > static struct buffer_head * > _ > > No, this is not a division libcall. This seems to be related to the types of the variables used in __builtin_mul_overflow() :/ for some odd reason, clang generates a libcall when passing in an 'unsigned long long' and 'unsigned int', which apparently has not been done before in the kernel? https://github.com/ClangBuiltLinux/linux/issues/1958 https://godbolt.org/z/csfGc6z6c A cast would work around this but that could have other implications I am not aware of (I've done little further investigation due to LPC): diff --git a/fs/buffer.c b/fs/buffer.c index 4eb44ccdc6be..d39934783743 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1091,7 +1091,7 @@ static bool grow_buffers(struct block_device *bdev, sector_t block, * Check for a block which lies outside our maximum possible * pagecache index. */ - if (check_mul_overflow(block, size, &pos) || pos > MAX_LFS_FILESIZE) { + if (check_mul_overflow(block, (u64)size, &pos) || pos > MAX_LFS_FILESIZE) { printk(KERN_ERR "%s: requested out-of-range block %llu for device %pg\n", __func__, (unsigned long long)block, bdev); Cheers, Nathan