From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f66.google.com (mail-ej1-f66.google.com [209.85.218.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABAB6341AA0 for ; Tue, 13 Jan 2026 11:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.66 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768302756; cv=none; b=M+trJ2GKmoBzUuFlLjF94Rj2ZRs91cMp3cswt5k/mbsiPOSz/ydzbaoGBFg4FgFIEkYGkptGJ1g/d0nVMAuoszir4Uf5reDOq6TQFVYiqVJt1TMowooPKCXGLQrkoinVBdY/lk41Meqf1dqDwcF4eFwCDKBLT5k2RxiONlGwZus= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768302756; c=relaxed/simple; bh=T6TbEgeGX/rkrzDUoGeL9oBf7IqoSVbZMBVCETBd9P8=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=ESDMr4iK6KkERaIRu6Z0J7yZb3fKT272LlP0HeBiQ9x+D/2eHLGkJXmfYSepZSrl9RRlf575lNxBCWV5EvkAUbPxN02KvH6XUXxxfD9vx+PEBdEudQ9ZMCt0Gyx96sIKByROi/N7ikJI6BMztos81OepTthmhIi1eDgz/y4Cv1Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=jPtMBzsz; arc=none smtp.client-ip=209.85.218.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="jPtMBzsz" Received: by mail-ej1-f66.google.com with SMTP id a640c23a62f3a-b8708930695so387126566b.3 for ; Tue, 13 Jan 2026 03:12:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768302753; x=1768907553; darn=vger.kernel.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=rO+by4VRpGoh+64Jlp60LzKBsLBfLOxrwjzwp2adwPk=; b=jPtMBzszpkYjEDOGHGbY4dcC7HnvZgBVGFYE5amoLKB4XRwG/qXpqByPL0ksgCIq+3 pk1uL0H2x6kTigPi21mOIPiAveNkXSeKtbRZeFkywr5gzWYul3nox1PiAvFIyWe2hWDx Vfbpd2PMySHspqWg1CRqRMmm9sY3j/px3w7CDsVDsAzPa3BY2gwAzUCpCMwYGn1kXo9i GZMKSsWpW4ubkh7s0Tv9qBlfRzeRLAhC5JF3hwRUegHHkCMejX9FyP+v/jffdifFXBgB t8zOSruokxNiODcMsqRdN7lPTt21s25marzUQDeV44j5qnoXFfQlizmvFh8ibAZ3Qkm+ oCjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768302753; x=1768907553; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rO+by4VRpGoh+64Jlp60LzKBsLBfLOxrwjzwp2adwPk=; b=Ns9pbAHxl7gj8D44mN4IngC6RYrScZpBBCbXhIcfL6qxS6OmN8Zr0Wlw42A3+T5M+V pdd4mFHVq6i7tq+isXvlkIvt3OVKbqADcL/9faZBYxlrqApO0gCe3t7YclnExIDr5SSS Ll/7TCoK1lNRncGRS/MI7gQK91Z8HOVd1orgDJbFSSVkMLCjSk22EU3YhdzPKKrbo3TF Rf3SuwF9+CX4zn6aIyQ26w/dWDN2+wi5jRxT1zLURX5Wllu4i41cSh4obKQwUnc11AiJ LNVFlY/Pul3i/Jm6m2YqCRe5Ymcv8csxHeiduZuaCvGl/QkV0Ixq73AkBaYUl4mAe5kO pRvA== X-Forwarded-Encrypted: i=1; AJvYcCVRhtPL5k3uwfsbL2Pbpw70tLLYbzb+95MtWYXl8AATktH3m0MC34J3+PtQwqrna5ecbCPUoQS8tqHPRCk=@vger.kernel.org X-Gm-Message-State: AOJu0YwMO+R7lKJQfHB9NfnxPrUqSX6lYDG3N9Z+Mq01KUPsgLqzkMkJ tgx4w5gsDtM1sIrn0Z9sgos2c6qB2PdNcaNTJuQb1qaDFDReh73XlTHes079SFCLmzCqjIPJcGC vmVFvL10= X-Gm-Gg: AY/fxX6kBMk54H9ZNpIAUya7UOSTWRLDvCZh6HVkbRX6AuAVCNUZggQGyyDIVI1NL5B YArWeY1zISM7wRYz3wkZkR4UTWPyMihbHfV1bcZ2416s+mypyyUrbG7TooF/BBN0/0TgCYGwldo 53fCvzZDtlh1uDGlx2WXg5MlP+K0EpF1HabXfhysF9WbFo+C1fswQFoNTNfG5kldYrkz41K+hmX rHmJHS4sOSPYXpxWQnCZH9ReXefR+2XeJPw4oDj7KTPSSLt+/RN+LC853xHYzK6yP5/A39POEKD yS8kVceJoT1XamqTINUbtW7RPA4Wp+WcA7X7z0je7nu0b4+SYXv2fVgiwXeB1ROwcHKuaRctcTl gV7+EO6MeXtPOK4lAm//BmDMwIkbZG8UAzKDb0ob3PHbWrS3wfy6qXdFtVS9TDttwjh3q03S6gm piscZ5eq1Kr5OYjwZ9 X-Google-Smtp-Source: AGHT+IHheoYbuw2wt4/wnA0dnnGI4fo1ixTrXZWv/VYNJFuJtdOOVWhH3xr0vBxqdOpKsEyM3E+uIg== X-Received: by 2002:a17:906:fe05:b0:b75:7b39:847a with SMTP id a640c23a62f3a-b8445216dccmr2146865366b.60.1768302752980; Tue, 13 Jan 2026 03:12:32 -0800 (PST) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b842a5180bdsm2131322766b.57.2026.01.13.03.12.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 03:12:32 -0800 (PST) Date: Tue, 13 Jan 2026 14:12:28 +0300 From: Dan Carpenter To: oe-kbuild@lists.linux.dev, Roman Gushchin Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Andrew Morton , Linux Memory Management List , Dev Jain , Jan Kara Subject: mm/filemap.c:3307 do_sync_mmap_readahead() warn: assigning (-12) to unsigned variable 'ra->order' Message-ID: <202601131311.g3lyUAks-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b71e635feefc852405b14620a7fc58c4c80c0f73 commit: 9f1edf1aedac1b287355f63f768ba4275de72dca mm: readahead: make thp readahead conditional to mmap_miss logic config: x86_64-randconfig-161-20260113 (https://download.01.org/0day-ci/archive/20260113/202601131311.g3lyUAks-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) smatch version: v0.5.0-8985-g2614ff1a 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 | Reported-by: Dan Carpenter | Closes: https://lore.kernel.org/r/202601131311.g3lyUAks-lkp@intel.com/ smatch warnings: mm/filemap.c:3307 do_sync_mmap_readahead() warn: assigning (-12) to unsigned variable 'ra->order' vim +3307 mm/filemap.c 6b4c9f4469819a0 Josef Bacik 2019-03-13 3248 static struct file *do_sync_mmap_readahead(struct vm_fault *vmf) ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3249 { 2a1180f1bd389e9 Josef Bacik 2019-03-13 3250 struct file *file = vmf->vma->vm_file; 2a1180f1bd389e9 Josef Bacik 2019-03-13 3251 struct file_ra_state *ra = &file->f_ra; ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3252 struct address_space *mapping = file->f_mapping; fcd9ae4f7f3b5fb Matthew Wilcox (Oracle 2021-04-07 3253) DEFINE_READAHEAD(ractl, file, ra, mapping, vmf->pgoff); 6b4c9f4469819a0 Josef Bacik 2019-03-13 3254 struct file *fpin = NULL; bfbe71109fa40e8 Lorenzo Stoakes 2025-06-18 3255 vm_flags_t vm_flags = vmf->vma->vm_flags; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3256 bool force_thp_readahead = false; f5e8b140cd1324c Ryan Roberts 2025-06-09 3257 unsigned short mmap_miss; ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3258 4687fdbb805a92c Matthew Wilcox (Oracle 2021-07-24 3259) /* Use the readahead code, even if readahead is disabled */ 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3260 if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3261 (vm_flags & VM_HUGEPAGE) && HPAGE_PMD_ORDER <= MAX_PAGECACHE_ORDER) 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3262 force_thp_readahead = true; 4687fdbb805a92c Matthew Wilcox (Oracle 2021-07-24 3263) 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3264 if (!force_thp_readahead) { 38b0ece6d76374b Ryan Roberts 2025-06-09 3265 /* 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3266 * If we don't want any read-ahead, don't bother. 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3267 * VM_EXEC case below is already intended for random access. 38b0ece6d76374b Ryan Roberts 2025-06-09 3268 */ 38b0ece6d76374b Ryan Roberts 2025-06-09 3269 if ((vm_flags & (VM_RAND_READ | VM_EXEC)) == VM_RAND_READ) 6b4c9f4469819a0 Josef Bacik 2019-03-13 3270 return fpin; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3271 275b12bf5486f6f Wu Fengguang 2011-05-24 3272 if (!ra->ra_pages) 6b4c9f4469819a0 Josef Bacik 2019-03-13 3273 return fpin; ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3274 dcfa24ba68991ab Matthew Wilcox (Oracle 2022-05-25 3275) if (vm_flags & VM_SEQ_READ) { 6b4c9f4469819a0 Josef Bacik 2019-03-13 3276 fpin = maybe_unlock_mmap_for_io(vmf, fpin); fcd9ae4f7f3b5fb Matthew Wilcox (Oracle 2021-04-07 3277) page_cache_sync_ra(&ractl, ra->ra_pages); 6b4c9f4469819a0 Josef Bacik 2019-03-13 3278 return fpin; ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3279 } 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3280 } ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3281 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3282 if (!(vm_flags & VM_SEQ_READ)) { 207d04baa3591a3 Andi Kleen 2011-05-24 3283 /* Avoid banging the cache line if not needed */ e630bfac79456d3 Kirill A. Shutemov 2020-08-14 3284 mmap_miss = READ_ONCE(ra->mmap_miss); e630bfac79456d3 Kirill A. Shutemov 2020-08-14 3285 if (mmap_miss < MMAP_LOTSAMISS * 10) e630bfac79456d3 Kirill A. Shutemov 2020-08-14 3286 WRITE_ONCE(ra->mmap_miss, ++mmap_miss); ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3287 ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3288 /* ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3289 * Do we miss much more than hit in this file? If so, ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3290 * stop bothering with read-ahead. It will only hurt. ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3291 */ e630bfac79456d3 Kirill A. Shutemov 2020-08-14 3292 if (mmap_miss > MMAP_LOTSAMISS) 6b4c9f4469819a0 Josef Bacik 2019-03-13 3293 return fpin; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3294 } 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3295 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3296 if (force_thp_readahead) { 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3297 fpin = maybe_unlock_mmap_for_io(vmf, fpin); 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3298 ractl._index &= ~((unsigned long)HPAGE_PMD_NR - 1); 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3299 ra->size = HPAGE_PMD_NR; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3300 /* 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3301 * Fetch two PMD folios, so we get the chance to actually 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3302 * readahead, unless we've been told not to. 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3303 */ 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3304 if (!(vm_flags & VM_RAND_READ)) 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3305 ra->size *= 2; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3306 ra->async_size = HPAGE_PMD_NR; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 @3307 ra->order = HPAGE_PMD_ORDER; HPAGE_PMD_SHIFT is zero in this config? ra->order is a u16. 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3308 page_cache_ra_order(&ractl, ra); 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3309 return fpin; 9f1edf1aedac1b2 Roman Gushchin 2025-10-06 3310 } ef00e08e26dd5d8 Linus Torvalds 2009-06-16 3311 38b0ece6d76374b Ryan Roberts 2025-06-09 3312 if (vm_flags & VM_EXEC) { 38b0ece6d76374b Ryan Roberts 2025-06-09 3313 /* 38b0ece6d76374b Ryan Roberts 2025-06-09 3314 * Allow arch to request a preferred minimum folio order for 38b0ece6d76374b Ryan Roberts 2025-06-09 3315 * executable memory. This can often be beneficial to -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki