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 E1643C83F1B for ; Wed, 16 Jul 2025 17:07:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 400F78D0002; Wed, 16 Jul 2025 13:07:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3D8418D0001; Wed, 16 Jul 2025 13:07:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2EDF68D0002; Wed, 16 Jul 2025 13:07:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1C9288D0001 for ; Wed, 16 Jul 2025 13:07:10 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8CF3510FB03 for ; Wed, 16 Jul 2025 17:07:09 +0000 (UTC) X-FDA: 83670758178.06.FE737F0 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by imf23.hostedemail.com (Postfix) with ESMTP id C3BAC140007 for ; Wed, 16 Jul 2025 17:07:06 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=HXYv5wdU; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf23.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752685627; a=rsa-sha256; cv=none; b=RCiGjVrjL4zMmdsq4C7PQOxRwIAk4QlwSE665JyXla+FPwS/5v6RsGIldgDbFeSFqfLHMg iR7adpcpaMAEQF5v76cW8rPnqOk2lkWnzJDzKoJIe6fdEFBzq7MPztRss2W6A1dpjqTyR0 1W0jZxHRPVpRJFxbEN7feZqs1uT2cww= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=HXYv5wdU; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf23.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752685627; 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=UZ2GQHHIwe9N9N5WV7Te6G4VQ+WmfnC8aDfRC19kNLg=; b=V7rxGoCR268MXy53jrdTQxupg7E16dtiKTL6txEGsNvcfM/Hp2Ff6EY7ssqvi9HSaT6z4n sLQklgS/Y3+PeTPkjoHN0WDIxXYBRHUUFARQji/0unwsP57Iu0LqBRlYmVBFlVZR+Qhf3F d9gC1c5BK0kQ0mW9caNxgopclI3kwHQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1752685627; x=1784221627; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=ozLL/QFmo2pHoj2feRI+FxBikPSiw+DVoWzCKsX0F7w=; b=HXYv5wdU00clcrYynwxoccvcPgy1b5Tis+211i7bz6kSmB3CIrmIF3Cq 7SIbvmuzP1K6SdSbfy4S0cJe9TmNy1zY8EZHG/z+vfCqDkoRzt/wqhadg okdcnJPaENyvcVuNHVasnJEPsTkAh+qgCsxPHhSNWDANnETpsEky7pSIr vGEtiMY1f5+GuFBwUBeS522HXGReKjmVpPcX2zqeSS0Q1sCrKsDh9PA4f clmXqwAivU8EsNfL7tkv+nUnhQ9nnMfNX3c6gNR2gYmaWkH41dr0GlTlN oXIWF5xP02MjiXXeL5eG6396vZ7HLaUzSOtRWB/jwgcR6C+CBkhAPLMlM Q==; X-CSE-ConnectionGUID: 133cr0N+RmCupEW21emP/g== X-CSE-MsgGUID: 7ofmibz1QgaYc9vS6Jq2tw== X-IronPort-AV: E=McAfee;i="6800,10657,11493"; a="55062028" X-IronPort-AV: E=Sophos;i="6.16,316,1744095600"; d="scan'208";a="55062028" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2025 10:07:05 -0700 X-CSE-ConnectionGUID: zAyo8EnIQBKBo6vorC2p4g== X-CSE-MsgGUID: lnn9ExV0QgK+ytn/+P6euA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,316,1744095600"; d="scan'208";a="163188380" Received: from lkp-server01.sh.intel.com (HELO 9ee84586c615) ([10.239.97.150]) by orviesa005.jf.intel.com with ESMTP; 16 Jul 2025 10:07:01 -0700 Received: from kbuild by 9ee84586c615 with local (Exim 4.96) (envelope-from ) id 1uc5as-000CfR-0h; Wed, 16 Jul 2025 17:06:58 +0000 Date: Thu, 17 Jul 2025 01:06:26 +0800 From: kernel test robot To: Wei Gao , Andrew Morton , David Hildenbrand Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , Lorenzo Stoakes , "Jason A. Donenfeld" , Catalin Marinas , Penglei Jiang , Mark Brown , Joey Gouly , Brahmajit Das , Andrei Vagin , Baolin Wang , Andrii Nakryiko , Ryan Roberts , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Wei Gao Subject: Re: [PATCH] fs/proc: Use inode_get_dev() for device numbers in procmap_query Message-ID: <202507170038.QWz19iZa-lkp@intel.com> References: <20250716142732.3385310-1-wegao@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250716142732.3385310-1-wegao@suse.com> X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: C3BAC140007 X-Stat-Signature: hkhk5dfih36ojycdkicu6ojxnswcsez3 X-Rspam-User: X-HE-Tag: 1752685626-127370 X-HE-Meta: U2FsdGVkX18/JOSW4/dHDTMiWdRWelg6ypPKRpcPVxsWtIscug5dzG8AvKeN8ciPaMaZqr2/rEWt5G3Y6kH7Zp4qV9Oj2AO1XGxH86Vs7lKZwzaU1QlszxCRL1WTewzXdinwgBOYCJz5KL9U0vUrB256+dWqRjEQcvkh7RuNH7tqBRdkNaNDFST1gL2TJDcHxDgZaACEQRKv+NH7gVAf/HgHbcdig0yroNk/OvWyLcaZ/krBvnhyPhjbZrLNvKwX3MMEsPWvgOad2mU9mZy/5mupOwcHmAywYFtfNjASZtrahafzSZSoASvMM8KQIHLFGcz/yoTb5IV96s7EH6X/G1wGA/f/eLF5Zw5PleiFGezXlTSLthtagE3IpJI4KOzwIscFK+YAaNtWamCnR/YISG3yFtMEC9Vs/8JZg9rIyia0YtzIMpkcb09H/Y4mj2hOKLi9YaK7U2fSz3eWYcXCQBj8VyGIvQqhaPxvi2wM349gI2VepH1pTggqInsiLzCMIDrvBFXKbCSVZ+lyQVbrwj/3gNgdcw/jQ7skGZP/fRyTSybxhTrOFfyRHBnajFAW2bUVS+5zct47IH5QihAure1s36KdS3fy31RKjqHA0MiuPjJ2Nbvt4AjZh1bRzdECZSK8/AMn7uAJ/h3wdIa2/Cp+48JQoxE3ii2XeMTOFmK7vFUxMz1s6F4xSPFS8xzdz08QaxzDfiCYZ9I/23UfWtKaLQ4O4OVJxCBtPh3sppaidZciC56Ft07vpio8iEnoQsS1hNLuPhWQojoCJFunVUcU6cUaR0s2Mtm4PjvKKLnbwSjS4L0Gs9MYAhF0PfPjgvC52ZsFi4Grs0n3GlEZdIrtazbOPg7mJR7aiJwxokqIzYO6izF9drXvSjdKVlDNxJvYNmQImL6AssGWfmue/B99TJdkwQeniBhACWgiUABRUR+XbZDL7jexK7W0fEQUI8kaDuNLJ3Fcm8+9Dpy Ag/qK1Rv AiHXvI7XnsfJqQJVZVV8tabWHAns3+oDRUanjJY0NjKK0xMUT85DbgUCHCyJPlN3XXmxmi+/40u3GosWz1la0BYyNVDUpe8jNRWZGLA1OOj5NxoBfhtmP4k1ZiJZ+2rf7wiNcIVMs7zyfhOxBFy9yxudbjTMN4ZGWfEwh8n7isy3dfVFeIHKoarixNPbXB22XpANyGp4s4xLQVMX9f4+Dz+BJ8UA+ZwzesmD+OA42EWDL+qp1HBbU3uH+g1MXC4flogJ6xA6Zay+MAZrx47xhcfeV6Ug+mLHqJCWnuopVP/VSBikZXYSU4lDVS8lY4mLd7rtT5U7MDMg2bsdO5WiobRLpvh4Pi5OCbmY1om6JrF8rUvipmr1Jb9nvDudTt562TULlbEy4OrJxgs7RnwqoqLzvsU6GSKc2dBmGVOtQoojYKEDRbrMZznwst9IVmmMETgr6a7jbx2x204UGm0cqEMDApsatnk9nhXnqtwPeGYz0nJ5YRiI8odCmt5Pn2uUATXsoFO/KD1JmNb23BrXT9grBMg== 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: Hi Wei, kernel test robot noticed the following build errors: [auto build test ERROR on brauner-vfs/vfs.all] [also build test ERROR on akpm-mm/mm-everything crng-random/master linus/master v6.16-rc6 next-20250716] [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/Wei-Gao/fs-proc-Use-inode_get_dev-for-device-numbers-in-procmap_query/20250716-103031 base: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git vfs.all patch link: https://lore.kernel.org/r/20250716142732.3385310-1-wegao%40suse.com patch subject: [PATCH] fs/proc: Use inode_get_dev() for device numbers in procmap_query config: i386-buildonly-randconfig-002-20250716 (https://download.01.org/0day-ci/archive/20250717/202507170038.QWz19iZa-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250717/202507170038.QWz19iZa-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/202507170038.QWz19iZa-lkp@intel.com/ All errors (new ones prefixed by >>): >> fs/proc/task_mmu.c:521:26: error: call to undeclared function 'inode_get_dev'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 521 | karg.dev_major = MAJOR(inode_get_dev(inode)); | ^ fs/proc/task_mmu.c:521:26: note: did you mean 'inode_get_bytes'? include/linux/fs.h:3567:8: note: 'inode_get_bytes' declared here 3567 | loff_t inode_get_bytes(struct inode *inode); | ^ 1 error generated. vim +/inode_get_dev +521 fs/proc/task_mmu.c 453 454 static int do_procmap_query(struct proc_maps_private *priv, void __user *uarg) 455 { 456 struct procmap_query karg; 457 struct vm_area_struct *vma; 458 struct mm_struct *mm; 459 const char *name = NULL; 460 char build_id_buf[BUILD_ID_SIZE_MAX], *name_buf = NULL; 461 __u64 usize; 462 int err; 463 464 if (copy_from_user(&usize, (void __user *)uarg, sizeof(usize))) 465 return -EFAULT; 466 /* argument struct can never be that large, reject abuse */ 467 if (usize > PAGE_SIZE) 468 return -E2BIG; 469 /* argument struct should have at least query_flags and query_addr fields */ 470 if (usize < offsetofend(struct procmap_query, query_addr)) 471 return -EINVAL; 472 err = copy_struct_from_user(&karg, sizeof(karg), uarg, usize); 473 if (err) 474 return err; 475 476 /* reject unknown flags */ 477 if (karg.query_flags & ~PROCMAP_QUERY_VALID_FLAGS_MASK) 478 return -EINVAL; 479 /* either both buffer address and size are set, or both should be zero */ 480 if (!!karg.vma_name_size != !!karg.vma_name_addr) 481 return -EINVAL; 482 if (!!karg.build_id_size != !!karg.build_id_addr) 483 return -EINVAL; 484 485 mm = priv->mm; 486 if (!mm || !mmget_not_zero(mm)) 487 return -ESRCH; 488 489 err = query_vma_setup(mm); 490 if (err) { 491 mmput(mm); 492 return err; 493 } 494 495 vma = query_matching_vma(mm, karg.query_addr, karg.query_flags); 496 if (IS_ERR(vma)) { 497 err = PTR_ERR(vma); 498 vma = NULL; 499 goto out; 500 } 501 502 karg.vma_start = vma->vm_start; 503 karg.vma_end = vma->vm_end; 504 505 karg.vma_flags = 0; 506 if (vma->vm_flags & VM_READ) 507 karg.vma_flags |= PROCMAP_QUERY_VMA_READABLE; 508 if (vma->vm_flags & VM_WRITE) 509 karg.vma_flags |= PROCMAP_QUERY_VMA_WRITABLE; 510 if (vma->vm_flags & VM_EXEC) 511 karg.vma_flags |= PROCMAP_QUERY_VMA_EXECUTABLE; 512 if (vma->vm_flags & VM_MAYSHARE) 513 karg.vma_flags |= PROCMAP_QUERY_VMA_SHARED; 514 515 karg.vma_page_size = vma_kernel_pagesize(vma); 516 517 if (vma->vm_file) { 518 const struct inode *inode = file_user_inode(vma->vm_file); 519 520 karg.vma_offset = ((__u64)vma->vm_pgoff) << PAGE_SHIFT; > 521 karg.dev_major = MAJOR(inode_get_dev(inode)); 522 karg.dev_minor = MINOR(inode_get_dev(inode)); 523 karg.inode = inode->i_ino; 524 } else { 525 karg.vma_offset = 0; 526 karg.dev_major = 0; 527 karg.dev_minor = 0; 528 karg.inode = 0; 529 } 530 531 if (karg.build_id_size) { 532 __u32 build_id_sz; 533 534 err = build_id_parse(vma, build_id_buf, &build_id_sz); 535 if (err) { 536 karg.build_id_size = 0; 537 } else { 538 if (karg.build_id_size < build_id_sz) { 539 err = -ENAMETOOLONG; 540 goto out; 541 } 542 karg.build_id_size = build_id_sz; 543 } 544 } 545 546 if (karg.vma_name_size) { 547 size_t name_buf_sz = min_t(size_t, PATH_MAX, karg.vma_name_size); 548 const struct path *path; 549 const char *name_fmt; 550 size_t name_sz = 0; 551 552 get_vma_name(vma, &path, &name, &name_fmt); 553 554 if (path || name_fmt || name) { 555 name_buf = kmalloc(name_buf_sz, GFP_KERNEL); 556 if (!name_buf) { 557 err = -ENOMEM; 558 goto out; 559 } 560 } 561 if (path) { 562 name = d_path(path, name_buf, name_buf_sz); 563 if (IS_ERR(name)) { 564 err = PTR_ERR(name); 565 goto out; 566 } 567 name_sz = name_buf + name_buf_sz - name; 568 } else if (name || name_fmt) { 569 name_sz = 1 + snprintf(name_buf, name_buf_sz, name_fmt ?: "%s", name); 570 name = name_buf; 571 } 572 if (name_sz > name_buf_sz) { 573 err = -ENAMETOOLONG; 574 goto out; 575 } 576 karg.vma_name_size = name_sz; 577 } 578 579 /* unlock vma or mmap_lock, and put mm_struct before copying data to user */ 580 query_vma_teardown(mm, vma); 581 mmput(mm); 582 583 if (karg.vma_name_size && copy_to_user(u64_to_user_ptr(karg.vma_name_addr), 584 name, karg.vma_name_size)) { 585 kfree(name_buf); 586 return -EFAULT; 587 } 588 kfree(name_buf); 589 590 if (karg.build_id_size && copy_to_user(u64_to_user_ptr(karg.build_id_addr), 591 build_id_buf, karg.build_id_size)) 592 return -EFAULT; 593 594 if (copy_to_user(uarg, &karg, min_t(size_t, sizeof(karg), usize))) 595 return -EFAULT; 596 597 return 0; 598 599 out: 600 query_vma_teardown(mm, vma); 601 mmput(mm); 602 kfree(name_buf); 603 return err; 604 } 605 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki