From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 119B417551 for ; Sun, 14 Apr 2024 17:39:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713116354; cv=none; b=lqg6xeP70DSLru65oLSqxvDyPOpcvAPo+ql5oJKvakJj4Rt3ZVSbrQ+mJY9YOxGKI0NeAGDWMMEY5l9LDKmoWEMJB5KKRE7Cex5aRJaDvXSHGvW8lV5OfBlCUDcRfK+iUupNV2VP6t4pluOgdXLy3d6Z1b02PxRvnWzyKrnqbIw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713116354; c=relaxed/simple; bh=3DPO5FwD04HV8KH2tENdlIVefmblCJsOEh6FEkUKEYs=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=Udy7fkCvVc2M/B9HMt4v2vKnT/JShNMhv7L5Qj8SLlGIjk6x1PA1HI20gRRnhCZ/hiptTxX7NzentSdnh0uUSGd2JzomgEoimyTNBGFYHT3+NiJahO4hkDcplP6sedjCDjz87SqTbr3PfXtzAPJlx5rs5kayVhlJ8ONPj3SYteQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ZhCFflQB; arc=none smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ZhCFflQB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713116352; x=1744652352; h=date:from:to:cc:subject:message-id:mime-version; bh=3DPO5FwD04HV8KH2tENdlIVefmblCJsOEh6FEkUKEYs=; b=ZhCFflQBIzA2PO6y8gqodm/rN4J1yU3YGjh1L1T0Gm9IrGtR5ISL7FkG m8KaPdX35PMsgrEBe4lARVV89q2oyQ0y85jps13Afj0IOJQB4mjKnWupL qlz8zQC37mlqHyZDZdA3/ihH+4uFBZdYNkKo+FSMrZIklugTGSccFr5AI L4FL8/KhOIqAUmL3wSflgg8pjb1iP20DsUxM9Agz/wst8rSmNMks0hx3k C5Ibe7UHi+uiQ2aJ7i9IzovEZDaCh54ISZvOGbNa/mpmCrAeF2S0ZBnHq A11uGYlpjOtbONTHi7b2//12OS1Ky8mGj5JgL8pvIUTbGqcU4XDAwuMsE w==; X-CSE-ConnectionGUID: omO+/E02TUCypwLb9s92SA== X-CSE-MsgGUID: PDfmTCaWRUO7Gn64Kzoqig== X-IronPort-AV: E=McAfee;i="6600,9927,11044"; a="12350482" X-IronPort-AV: E=Sophos;i="6.07,201,1708416000"; d="scan'208";a="12350482" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2024 10:39:11 -0700 X-CSE-ConnectionGUID: U0qbBhzfStuGq2unc2d3mg== X-CSE-MsgGUID: T4olknR5Rmyo53fxjDLm+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,201,1708416000"; d="scan'208";a="26503530" Received: from unknown (HELO 23c141fc0fd8) ([10.239.97.151]) by orviesa004.jf.intel.com with ESMTP; 14 Apr 2024 10:39:10 -0700 Received: from kbuild by 23c141fc0fd8 with local (Exim 4.96) (envelope-from ) id 1rw3op-0003js-2P; Sun, 14 Apr 2024 17:39:07 +0000 Date: Mon, 15 Apr 2024 01:38:43 +0800 From: kernel test robot To: oe-kbuild@lists.linux.dev Cc: lkp@intel.com, Dan Carpenter Subject: [arm64:for-next/tlbi 2/3] mm/msync.c:90 __do_sys_msync() warn: comparison of a potentially tagged address (__do_sys_msync, -2, __UNIQUE_ID___x732) Message-ID: <202404150105.GCLvyNKB-lkp@intel.com> Precedence: bulk X-Mailing-List: oe-kbuild@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline BCC: lkp@intel.com CC: oe-kbuild-all@lists.linux.dev CC: linux-arm-kernel@lists.infradead.org TO: Gavin Shan CC: Will Deacon CC: Ryan Roberts CC: Catalin Marinas CC: Anshuman Khandual CC: Shaoqin Huang tree: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/tlbi head: 73301e464a72a0d007d0d4e0f4d3dab5c58125bf commit: e07255d69702bc9131427fda8f9749355b10780f [2/3] arm64: tlb: Improve __TLBI_VADDR_RANGE() :::::: branch date: 3 days ago :::::: commit date: 3 days ago config: arm64-randconfig-r071-20240414 (https://download.01.org/0day-ci/archive/20240415/202404150105.GCLvyNKB-lkp@intel.com/config) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 8b3b4a92adee40483c27f26c478a384cd69c6f05) 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/202404150105.GCLvyNKB-lkp@intel.com/ New smatch warnings: mm/msync.c:90 __do_sys_msync() warn: comparison of a potentially tagged address (__do_sys_msync, -2, __UNIQUE_ID___x732) mm/msync.c:90 __do_sys_msync() warn: comparison of a potentially tagged address (__do_sys_msync, -2, __UNIQUE_ID___x732) fs/userfaultfd.c:1447 userfaultfd_register() warn: comparison of a potentially tagged address (userfaultfd_register, -2, __UNIQUE_ID___x753) fs/userfaultfd.c:1602 userfaultfd_unregister() warn: comparison of a potentially tagged address (userfaultfd_unregister, -2, __UNIQUE_ID___x756) Old smatch warnings: fs/userfaultfd.c:1390 userfaultfd_register() warn: comparison of a potentially tagged address (userfaultfd_register, -2, end) fs/userfaultfd.c:1425 userfaultfd_register() warn: comparison of a potentially tagged address (userfaultfd_register, -2, start) fs/userfaultfd.c:1445 userfaultfd_register() warn: comparison of a potentially tagged address (userfaultfd_register, -2, start) fs/userfaultfd.c:1582 userfaultfd_unregister() warn: comparison of a potentially tagged address (userfaultfd_unregister, -2, start) fs/userfaultfd.c:1600 userfaultfd_unregister() warn: comparison of a potentially tagged address (userfaultfd_unregister, -2, start) vim +90 mm/msync.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 17 ^1da177e4c3f41 Linus Torvalds 2005-04-16 18 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 19 * MS_SYNC syncs the entire file - including mappings. ^1da177e4c3f41 Linus Torvalds 2005-04-16 20 * 204ec841fbea3e Peter Zijlstra 2006-09-25 21 * MS_ASYNC does not start I/O (it used to, up to 2.5.67). 204ec841fbea3e Peter Zijlstra 2006-09-25 22 * Nor does it marks the relevant pages dirty (it used to up to 2.6.17). 204ec841fbea3e Peter Zijlstra 2006-09-25 23 * Now it doesn't do anything, since dirty pages are properly tracked. 204ec841fbea3e Peter Zijlstra 2006-09-25 24 * 204ec841fbea3e Peter Zijlstra 2006-09-25 25 * The application may now run fsync() to ^1da177e4c3f41 Linus Torvalds 2005-04-16 26 * write out the dirty pages and wait on the writeout and check the result. ^1da177e4c3f41 Linus Torvalds 2005-04-16 27 * Or the application may run fadvise(FADV_DONTNEED) against the fd to start ^1da177e4c3f41 Linus Torvalds 2005-04-16 28 * async writeout immediately. 16538c40776b8b Amos Waterland 2006-03-24 29 * So by _not_ starting I/O in MS_ASYNC we provide complete flexibility to ^1da177e4c3f41 Linus Torvalds 2005-04-16 30 * applications. ^1da177e4c3f41 Linus Torvalds 2005-04-16 31 */ 6a6160a7b5c27b Heiko Carstens 2009-01-14 32 SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags) ^1da177e4c3f41 Linus Torvalds 2005-04-16 33 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 34 unsigned long end; 204ec841fbea3e Peter Zijlstra 2006-09-25 35 struct mm_struct *mm = current->mm; ^1da177e4c3f41 Linus Torvalds 2005-04-16 36 struct vm_area_struct *vma; 676758bdb7bfca Andrew Morton 2006-03-24 37 int unmapped_error = 0; 676758bdb7bfca Andrew Morton 2006-03-24 38 int error = -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 39 057d3389108eda Andrey Konovalov 2019-09-25 40 start = untagged_addr(start); 057d3389108eda Andrey Konovalov 2019-09-25 41 ^1da177e4c3f41 Linus Torvalds 2005-04-16 42 if (flags & ~(MS_ASYNC | MS_INVALIDATE | MS_SYNC)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 43 goto out; b0d61c7e56815b Alexander Kuleshov 2015-11-05 44 if (offset_in_page(start)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 45 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 46 if ((flags & MS_ASYNC) && (flags & MS_SYNC)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 47 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 48 error = -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 49 len = (len + ~PAGE_MASK) & PAGE_MASK; ^1da177e4c3f41 Linus Torvalds 2005-04-16 50 end = start + len; ^1da177e4c3f41 Linus Torvalds 2005-04-16 51 if (end < start) ^1da177e4c3f41 Linus Torvalds 2005-04-16 52 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 53 error = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 54 if (end == start) ^1da177e4c3f41 Linus Torvalds 2005-04-16 55 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 56 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 57 * If the interval [start,end) covers some unmapped address ranges, f6899bc03cbadc Nikita Ermakov 2021-04-29 58 * just ignore them, but return -ENOMEM at the end. Besides, if the f6899bc03cbadc Nikita Ermakov 2021-04-29 59 * flag is MS_ASYNC (w/o MS_INVALIDATE) the result would be -ENOMEM f6899bc03cbadc Nikita Ermakov 2021-04-29 60 * anyway and there is nothing left to do, so return immediately. ^1da177e4c3f41 Linus Torvalds 2005-04-16 61 */ d8ed45c5dcd455 Michel Lespinasse 2020-06-08 62 mmap_read_lock(mm); 204ec841fbea3e Peter Zijlstra 2006-09-25 63 vma = find_vma(mm, start); 204ec841fbea3e Peter Zijlstra 2006-09-25 64 for (;;) { 9c50823eebf7c2 Andrew Morton 2006-03-24 65 struct file *file; 7fc34a62ca4434 Matthew Wilcox 2014-06-04 66 loff_t fstart, fend; 9c50823eebf7c2 Andrew Morton 2006-03-24 67 204ec841fbea3e Peter Zijlstra 2006-09-25 68 /* Still start < end. */ 204ec841fbea3e Peter Zijlstra 2006-09-25 69 error = -ENOMEM; 204ec841fbea3e Peter Zijlstra 2006-09-25 70 if (!vma) 204ec841fbea3e Peter Zijlstra 2006-09-25 71 goto out_unlock; ^1da177e4c3f41 Linus Torvalds 2005-04-16 72 /* Here start < vma->vm_end. */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 73 if (start < vma->vm_start) { f6899bc03cbadc Nikita Ermakov 2021-04-29 74 if (flags == MS_ASYNC) f6899bc03cbadc Nikita Ermakov 2021-04-29 75 goto out_unlock; ^1da177e4c3f41 Linus Torvalds 2005-04-16 76 start = vma->vm_start; 204ec841fbea3e Peter Zijlstra 2006-09-25 77 if (start >= end) 9c50823eebf7c2 Andrew Morton 2006-03-24 78 goto out_unlock; 204ec841fbea3e Peter Zijlstra 2006-09-25 79 unmapped_error = -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 80 } 204ec841fbea3e Peter Zijlstra 2006-09-25 81 /* Here vma->vm_start <= start < vma->vm_end. */ 204ec841fbea3e Peter Zijlstra 2006-09-25 82 if ((flags & MS_INVALIDATE) && 204ec841fbea3e Peter Zijlstra 2006-09-25 83 (vma->vm_flags & VM_LOCKED)) { 204ec841fbea3e Peter Zijlstra 2006-09-25 84 error = -EBUSY; 9c50823eebf7c2 Andrew Morton 2006-03-24 85 goto out_unlock; 9c50823eebf7c2 Andrew Morton 2006-03-24 86 } 9c50823eebf7c2 Andrew Morton 2006-03-24 87 file = vma->vm_file; 496a8e68654a5f Namjae Jeon 2014-07-02 88 fstart = (start - vma->vm_start) + 496a8e68654a5f Namjae Jeon 2014-07-02 89 ((loff_t)vma->vm_pgoff << PAGE_SHIFT); 7fc34a62ca4434 Matthew Wilcox 2014-06-04 @90 fend = fstart + (min(end, vma->vm_end) - start) - 1; :::::: The code at line 90 was first introduced by commit :::::: 7fc34a62ca4434a79c68e23e70ed26111b7a4cf8 mm/msync.c: sync only the requested range in msync() :::::: TO: Matthew Wilcox :::::: CC: Linus Torvalds -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki