From: kernel test robot <lkp@intel.com>
To: Gregory Price <gourry.memverge@gmail.com>, linux-mm@kvack.org
Cc: oe-kbuild-all@lists.linux.dev, linux-doc@vger.kernel.org,
linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, arnd@arndb.de, tglx@linutronix.de,
luto@kernel.org, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
mhocko@kernel.org, tj@kernel.org, ying.huang@intel.com,
gregory.price@memverge.com, corbet@lwn.net, rakie.kim@sk.com,
hyeongtak.ji@sk.com, honggyu.kim@sk.com, vtavarespetr@micron.com,
peterz@infradead.org, jgroves@micron.com,
ravis.opensrc@micron.com, sthanneeru@micron.com,
emirakhur@micron.com, Hasan.Maruf@amd.com
Subject: Re: [PATCH v2 11/11] mm/mempolicy: extend set_mempolicy2 and mbind2 to support weighted interleave
Date: Sun, 10 Dec 2023 06:28:38 +0800 [thread overview]
Message-ID: <202312100606.2aOpv2T5-lkp@intel.com> (raw)
In-Reply-To: <20231209065931.3458-12-gregory.price@memverge.com>
Hi Gregory,
kernel test robot noticed the following build warnings:
[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on deller-parisc/for-next powerpc/next powerpc/fixes s390/features jcmvbkbc-xtensa/xtensa-for-next arnd-asm-generic/master linus/master v6.7-rc4]
[cannot apply to tip/x86/asm geert-m68k/for-next geert-m68k/for-linus next-20231208]
[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/Gregory-Price/mm-mempolicy-implement-the-sysfs-based-weighted_interleave-interface/20231209-150314
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20231209065931.3458-12-gregory.price%40memverge.com
patch subject: [PATCH v2 11/11] mm/mempolicy: extend set_mempolicy2 and mbind2 to support weighted interleave
config: x86_64-randconfig-123-20231210 (https://download.01.org/0day-ci/archive/20231210/202312100606.2aOpv2T5-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/20231210/202312100606.2aOpv2T5-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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312100606.2aOpv2T5-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/mempolicy.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
include/linux/rcupdate.h:778:9: sparse: sparse: context imbalance in 'queue_folios_pte_range' - unexpected unlock
mm/mempolicy.c: note: in included file (through arch/x86/include/asm/uaccess.h, include/linux/uaccess.h, include/linux/sched/task.h, ...):
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
>> mm/mempolicy.c:1681:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *weights_ptr @@ got void [noderef] __user * @@
mm/mempolicy.c:1681:29: sparse: expected unsigned char *weights_ptr
mm/mempolicy.c:1681:29: sparse: got void [noderef] __user *
>> mm/mempolicy.c:1684:45: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void const [noderef] __user *src @@ got unsigned char *weights_ptr @@
mm/mempolicy.c:1684:45: sparse: expected void const [noderef] __user *src
mm/mempolicy.c:1684:45: sparse: got unsigned char *weights_ptr
mm/mempolicy.c:2042:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *weights_ptr @@ got void [noderef] __user * @@
mm/mempolicy.c:2042:29: sparse: expected unsigned char *weights_ptr
mm/mempolicy.c:2042:29: sparse: got void [noderef] __user *
>> mm/mempolicy.c:2043:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got unsigned char *weights_ptr @@
mm/mempolicy.c:2043:36: sparse: expected void [noderef] __user *to
mm/mempolicy.c:2043:36: sparse: got unsigned char *weights_ptr
vim +1681 mm/mempolicy.c
1629
1630 SYSCALL_DEFINE5(mbind2, const struct iovec __user *, vec, size_t, vlen,
1631 const struct mpol_args __user *, uargs, size_t, usize,
1632 unsigned long, flags)
1633 {
1634 struct mpol_args kargs;
1635 struct mempolicy_args margs;
1636 nodemask_t policy_nodes;
1637 unsigned long __user *nodes_ptr;
1638 struct iovec iovstack[UIO_FASTIOV];
1639 struct iovec *iov = iovstack;
1640 struct iov_iter iter;
1641 unsigned char weights[MAX_NUMNODES];
1642 unsigned char *weights_ptr;
1643 int err;
1644
1645 if (!vec || !vlen)
1646 return -EINVAL;
1647
1648 err = copy_struct_from_user(&kargs, sizeof(kargs), uargs, usize);
1649 if (err)
1650 return -EINVAL;
1651
1652 err = validate_mpol_flags(kargs.mode, &kargs.mode_flags);
1653 if (err)
1654 return err;
1655
1656 margs.mode = kargs.mode;
1657 margs.mode_flags = kargs.mode_flags;
1658 margs.addr = kargs.addr;
1659
1660 /* if home node given, validate it is online */
1661 if (flags & MPOL_MF_HOME_NODE) {
1662 if ((kargs.home_node >= MAX_NUMNODES) ||
1663 !node_online(kargs.home_node))
1664 return -EINVAL;
1665 margs.home_node = kargs.home_node;
1666 } else
1667 margs.home_node = NUMA_NO_NODE;
1668 flags &= ~MPOL_MF_HOME_NODE;
1669
1670 if (kargs.pol_nodes) {
1671 nodes_ptr = u64_to_user_ptr(kargs.pol_nodes);
1672 err = get_nodes(&policy_nodes, nodes_ptr,
1673 kargs.pol_maxnodes);
1674 if (err)
1675 return err;
1676 margs.policy_nodes = &policy_nodes;
1677 } else
1678 margs.policy_nodes = NULL;
1679
1680 if (kargs.mode == MPOL_WEIGHTED_INTERLEAVE) {
> 1681 weights_ptr = u64_to_user_ptr(kargs.il_weights);
1682 err = copy_struct_from_user(&weights,
1683 sizeof(weights),
> 1684 weights_ptr,
1685 kargs.pol_maxnodes);
1686 if (err)
1687 return err;
1688 margs.il_weights = weights;
1689 } else {
1690 margs.il_weights = NULL;
1691 flags |= MPOL_F_GWEIGHT;
1692 }
1693
1694 /* For each address range in vector, do_mbind */
1695 err = import_iovec(ITER_DEST, vec, vlen, ARRAY_SIZE(iovstack), &iov,
1696 &iter);
1697 if (err)
1698 return err;
1699 while (iov_iter_count(&iter)) {
1700 unsigned long start, len;
1701
1702 start = untagged_addr((unsigned long)iter_iov_addr(&iter));
1703 len = iter_iov_len(&iter);
1704 err = do_mbind(start, len, &margs, flags);
1705 if (err)
1706 break;
1707 iov_iter_advance(&iter, iter_iov_len(&iter));
1708 }
1709
1710 kfree(iov);
1711 return err;
1712 }
1713
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-12-09 22:28 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-09 6:59 [PATCH v2 00/11] mempolicy2, mbind2, and weighted interleave Gregory Price
2023-12-09 6:59 ` [PATCH v2 01/11] mm/mempolicy: implement the sysfs-based weighted_interleave interface Gregory Price
2023-12-09 6:59 ` [PATCH v2 02/11] mm/mempolicy: introduce MPOL_WEIGHTED_INTERLEAVE for weighted interleaving Gregory Price
2023-12-09 21:24 ` kernel test robot
2023-12-09 6:59 ` [PATCH v2 03/11] mm/mempolicy: refactor sanitize_mpol_flags for reuse Gregory Price
2023-12-09 6:59 ` [PATCH v2 04/11] mm/mempolicy: create struct mempolicy_args for creating new mempolicies Gregory Price
2023-12-09 6:59 ` [PATCH v2 05/11] mm/mempolicy: refactor kernel_get_mempolicy for code re-use Gregory Price
2023-12-09 6:59 ` [PATCH v2 06/11] mm/mempolicy: allow home_node to be set by mpol_new Gregory Price
2023-12-09 6:59 ` [PATCH v2 07/11] mm/mempolicy: add userland mempolicy arg structure Gregory Price
2023-12-09 6:59 ` [PATCH v2 08/11] mm/mempolicy: add set_mempolicy2 syscall Gregory Price
2023-12-09 16:46 ` kernel test robot
2023-12-09 18:24 ` kernel test robot
2023-12-09 6:59 ` [PATCH v2 09/11] mm/mempolicy: add get_mempolicy2 syscall Gregory Price
2023-12-09 6:59 ` [PATCH v2 10/11] mm/mempolicy: add the mbind2 syscall Gregory Price
2023-12-09 6:59 ` [PATCH v2 11/11] mm/mempolicy: extend set_mempolicy2 and mbind2 to support weighted interleave Gregory Price
2023-12-09 22:28 ` kernel test robot [this message]
2023-12-11 5:53 ` [PATCH v2 00/11] mempolicy2, mbind2, and " Huang, Ying
2023-12-11 16:42 ` Gregory Price
2023-12-12 7:08 ` Huang, Ying
2023-12-12 15:59 ` Gregory Price
2023-12-13 2:44 ` Huang, Ying
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202312100606.2aOpv2T5-lkp@intel.com \
--to=lkp@intel.com \
--cc=Hasan.Maruf@amd.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=emirakhur@micron.com \
--cc=gourry.memverge@gmail.com \
--cc=gregory.price@memverge.com \
--cc=honggyu.kim@sk.com \
--cc=hpa@zytor.com \
--cc=hyeongtak.ji@sk.com \
--cc=jgroves@micron.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=mhocko@kernel.org \
--cc=mingo@redhat.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=rakie.kim@sk.com \
--cc=ravis.opensrc@micron.com \
--cc=sthanneeru@micron.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=vtavarespetr@micron.com \
--cc=x86@kernel.org \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).