Re: [PATCH] hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings
by kernel test robot
Hi Miaohe,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20210125]
[also build test ERROR on v5.11-rc7]
[cannot apply to linux/master linus/master hnaz-linux-mm/master v5.11-rc7 v5.11-rc6 v5.11-rc5]
[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]
url: https://github.com/0day-ci/linux/commits/Miaohe-Lin/hugetlb_cgroup-fix-im...
base: 59fa6a163ffabc1bf25c5e0e33899e268a96d3cc
config: x86_64-randconfig-c002-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/68f4ed1b80aa7c51a921c3ad913ee7e6e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miaohe-Lin/hugetlb_cgroup-fix-imbalanced-css_get-and-css_put-pair-for-shared-mappings/20210210-171736
git checkout 68f4ed1b80aa7c51a921c3ad913ee7e6e00618d0
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mm/hugetlb.c: In function 'hugetlb_reserve_pages':
>> mm/hugetlb.c:5222:17: error: dereferencing pointer to incomplete type 'struct hugetlb_cgroup'
5222 | css_put(&h_cg->css);
| ^~
vim +5222 mm/hugetlb.c
5091
5092 /* Return true if reservation was successful, false otherwise. */
5093 bool hugetlb_reserve_pages(struct inode *inode,
5094 long from, long to,
5095 struct vm_area_struct *vma,
5096 vm_flags_t vm_flags)
5097 {
5098 long chg, add = -1;
5099 struct hstate *h = hstate_inode(inode);
5100 struct hugepage_subpool *spool = subpool_inode(inode);
5101 struct resv_map *resv_map;
5102 struct hugetlb_cgroup *h_cg = NULL;
5103 long gbl_reserve, regions_needed = 0;
5104
5105 /* This should never happen */
5106 if (from > to) {
5107 VM_WARN(1, "%s called with a negative range\n", __func__);
5108 return false;
5109 }
5110
5111 /*
5112 * Only apply hugepage reservation if asked. At fault time, an
5113 * attempt will be made for VM_NORESERVE to allocate a page
5114 * without using reserves
5115 */
5116 if (vm_flags & VM_NORESERVE)
5117 return true;
5118
5119 /*
5120 * Shared mappings base their reservation on the number of pages that
5121 * are already allocated on behalf of the file. Private mappings need
5122 * to reserve the full area even if read-only as mprotect() may be
5123 * called to make the mapping read-write. Assume !vma is a shm mapping
5124 */
5125 if (!vma || vma->vm_flags & VM_MAYSHARE) {
5126 /*
5127 * resv_map can not be NULL as hugetlb_reserve_pages is only
5128 * called for inodes for which resv_maps were created (see
5129 * hugetlbfs_get_inode).
5130 */
5131 resv_map = inode_resv_map(inode);
5132
5133 chg = region_chg(resv_map, from, to, ®ions_needed);
5134
5135 } else {
5136 /* Private mapping. */
5137 resv_map = resv_map_alloc();
5138 if (!resv_map)
5139 return false;
5140
5141 chg = to - from;
5142
5143 set_vma_resv_map(vma, resv_map);
5144 set_vma_resv_flags(vma, HPAGE_RESV_OWNER);
5145 }
5146
5147 if (chg < 0)
5148 goto out_err;
5149
5150 if (hugetlb_cgroup_charge_cgroup_rsvd(hstate_index(h),
5151 chg * pages_per_huge_page(h), &h_cg) < 0)
5152 goto out_err;
5153
5154 if (vma && !(vma->vm_flags & VM_MAYSHARE) && h_cg) {
5155 /* For private mappings, the hugetlb_cgroup uncharge info hangs
5156 * of the resv_map.
5157 */
5158 resv_map_set_hugetlb_cgroup_uncharge_info(resv_map, h_cg, h);
5159 }
5160
5161 /*
5162 * There must be enough pages in the subpool for the mapping. If
5163 * the subpool has a minimum size, there may be some global
5164 * reservations already in place (gbl_reserve).
5165 */
5166 gbl_reserve = hugepage_subpool_get_pages(spool, chg);
5167 if (gbl_reserve < 0)
5168 goto out_uncharge_cgroup;
5169
5170 /*
5171 * Check enough hugepages are available for the reservation.
5172 * Hand the pages back to the subpool if there are not
5173 */
5174 if (hugetlb_acct_memory(h, gbl_reserve) < 0)
5175 goto out_put_pages;
5176
5177 /*
5178 * Account for the reservations made. Shared mappings record regions
5179 * that have reservations as they are shared by multiple VMAs.
5180 * When the last VMA disappears, the region map says how much
5181 * the reservation was and the page cache tells how much of
5182 * the reservation was consumed. Private mappings are per-VMA and
5183 * only the consumed reservations are tracked. When the VMA
5184 * disappears, the original reservation is the VMA size and the
5185 * consumed reservations are stored in the map. Hence, nothing
5186 * else has to be done for private mappings here
5187 */
5188 if (!vma || vma->vm_flags & VM_MAYSHARE) {
5189 add = region_add(resv_map, from, to, regions_needed, h, h_cg);
5190
5191 if (unlikely(add < 0)) {
5192 hugetlb_acct_memory(h, -gbl_reserve);
5193 goto out_put_pages;
5194 } else if (unlikely(chg > add)) {
5195 /*
5196 * pages in this range were added to the reserve
5197 * map between region_chg and region_add. This
5198 * indicates a race with alloc_huge_page. Adjust
5199 * the subpool and reserve counts modified above
5200 * based on the difference.
5201 */
5202 long rsv_adjust;
5203
5204 /*
5205 * hugetlb_cgroup_uncharge_cgroup_rsvd() will put the
5206 * reference to h_cg->css. See comment below for detail.
5207 */
5208 hugetlb_cgroup_uncharge_cgroup_rsvd(
5209 hstate_index(h),
5210 (chg - add) * pages_per_huge_page(h), h_cg);
5211
5212 rsv_adjust = hugepage_subpool_put_pages(spool,
5213 chg - add);
5214 hugetlb_acct_memory(h, -rsv_adjust);
5215 } else if (h_cg) {
5216 /*
5217 * The file_regions will hold their own reference to
5218 * h_cg->css. So we should release the reference held
5219 * via hugetlb_cgroup_charge_cgroup_rsvd() when we are
5220 * done.
5221 */
> 5222 css_put(&h_cg->css);
5223 }
5224 }
5225 return true;
5226
5227 out_put_pages:
5228 /* put back original number of pages, chg */
5229 (void)hugepage_subpool_put_pages(spool, chg);
5230 out_uncharge_cgroup:
5231 hugetlb_cgroup_uncharge_cgroup_rsvd(hstate_index(h),
5232 chg * pages_per_huge_page(h), h_cg);
5233 out_err:
5234 if (!vma || vma->vm_flags & VM_MAYSHARE)
5235 /* Only call region_abort if the region_chg succeeded but the
5236 * region_add failed or didn't run.
5237 */
5238 if (chg >= 0 && add < 0)
5239 region_abort(resv_map, from, to, regions_needed);
5240 if (vma && is_vma_resv_set(vma, HPAGE_RESV_OWNER))
5241 kref_put(&resv_map->refs, resv_map_release);
5242 return false;
5243 }
5244
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [Patch bpf-next v2 4/5] skmsg: use skb ext instead of TCP_SKB_CB
by kernel test robot
Hi Cong,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Cong-Wang/sock_map-clean-up-and-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: arm64-randconfig-r016-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/db0537152e20e7b3606cb5c5d6938077c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Cong-Wang/sock_map-clean-up-and-refactor-code-for-BPF_SK_SKB_VERDICT/20210210-103313
git checkout db0537152e20e7b3606cb5c5d6938077c78b9341
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from kernel/bpf/btf.c:22:
>> include/linux/skmsg.h:466:28: error: implicit declaration of function 'skb_ext_find' [-Werror,-Wimplicit-function-declaration]
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
>> include/linux/skmsg.h:466:46: error: use of undeclared identifier 'SKB_EXT_BPF'
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:474:28: error: implicit declaration of function 'skb_ext_find' [-Werror,-Wimplicit-function-declaration]
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:474:46: error: use of undeclared identifier 'SKB_EXT_BPF'
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:482:28: error: implicit declaration of function 'skb_ext_find' [-Werror,-Wimplicit-function-declaration]
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:482:46: error: use of undeclared identifier 'SKB_EXT_BPF'
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:490:28: error: implicit declaration of function 'skb_ext_find' [-Werror,-Wimplicit-function-declaration]
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
include/linux/skmsg.h:490:46: error: use of undeclared identifier 'SKB_EXT_BPF'
struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
^
8 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for NET_SOCK_MSG
Depends on NET
Selected by
- BPF_SYSCALL
vim +/skb_ext_find +466 include/linux/skmsg.h
461
462 #if IS_ENABLED(CONFIG_NET_SOCK_MSG)
463 static inline
464 bool skb_bpf_ext_ingress(const struct sk_buff *skb)
465 {
> 466 struct skb_bpf_ext *ext = skb_ext_find(skb, SKB_EXT_BPF);
467
468 return ext->flags & BPF_F_INGRESS;
469 }
470
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH bpf 2/4] nsfs: add an ioctl to discover the network namespace cookie
by kernel test robot
Hi Lorenz,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf/master]
url: https://github.com/0day-ci/linux/commits/Lorenz-Bauer/Expose-network-name...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
config: s390-randconfig-r002-20210209 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/ec096a87ec268b0634a140515fb54b21a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Lorenz-Bauer/Expose-network-namespace-cookies-to-user-space/20210210-201857
git checkout ec096a87ec268b0634a140515fb54b21a2c67036
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
coherent.c:(.text+0x208): undefined reference to `memremap'
s390-linux-ld: coherent.c:(.text+0x2d2): undefined reference to `memunmap'
s390-linux-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
coherent.c:(.text+0x6c2): undefined reference to `memunmap'
s390-linux-ld: fs/nsfs.o: in function `ns_ioctl':
>> nsfs.c:(.text+0x6fe): undefined reference to `__net_gen_cookie'
s390-linux-ld: drivers/irqchip/irq-al-fic.o: in function `al_fic_init_dt':
irq-al-fic.c:(.init.text+0x46): undefined reference to `of_iomap'
s390-linux-ld: irq-al-fic.c:(.init.text+0x2a4): undefined reference to `iounmap'
s390-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_drv_probe':
xillybus_of.c:(.text+0x146): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
cistpl.c:(.text+0x386): undefined reference to `ioremap'
s390-linux-ld: cistpl.c:(.text+0x3c0): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0x3f2): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0x404): undefined reference to `ioremap'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
cistpl.c:(.text+0xe56): undefined reference to `iounmap'
s390-linux-ld: drivers/input/serio/apbps2.o: in function `apbps2_of_probe':
apbps2.c:(.text+0x286): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/input/touchscreen/imx6ul_tsc.o: in function `imx6ul_tsc_probe':
imx6ul_tsc.c:(.text+0x256): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: imx6ul_tsc.c:(.text+0x2bc): undefined reference to `devm_platform_ioremap_resource'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[kbuild] [pci:pci/error 2/8] drivers/pci/hotplug/../pci.h:348 pci_dev_set_io_state() warn: statement has no effect 22
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/error
head: 5692817fc88f347328e35cd7b19bd04f4400652e
commit: 8fae7d8809b8151488969d6cfad2f6dd2c69d311 [2/8] PCI/ERR: Simplify pci_dev_set_io_state()
config: i386-randconfig-m021-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/pci/hotplug/../pci.h:348 pci_dev_set_io_state() warn: statement has no effect 22
vim +348 drivers/pci/hotplug/../pci.h
a6bd101b8f84f9b Keith Busch 2018-09-20 341 static inline bool pci_dev_set_io_state(struct pci_dev *dev,
a6bd101b8f84f9b Keith Busch 2018-09-20 342 pci_channel_state_t new)
a6bd101b8f84f9b Keith Busch 2018-09-20 343 {
a6bd101b8f84f9b Keith Busch 2018-09-20 344 device_lock_assert(&dev->dev);
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 345
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 346 /* Can always put a device in perm_failure state */
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 347 if (new == pci_channel_io_perm_failure) {
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 @348 dev->error_state == pci_channel_io_perm_failure;
This should be = instead of ==.
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 349 return true;
a6bd101b8f84f9b Keith Busch 2018-09-20 350 }
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 351
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 352 /* If already in perm_failure, can't set to normal or frozen */
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 353 if (dev->error_state == pci_channel_io_perm_failure)
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 354 return false;
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 355
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 356 /* Can always change normal to frozen or vice versa */
a6bd101b8f84f9b Keith Busch 2018-09-20 357 dev->error_state = new;
8fae7d8809b8151 Bjorn Helgaas 2020-05-19 358 return true;
a6bd101b8f84f9b Keith Busch 2018-09-20 359 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
1 year, 7 months
[intel-linux-intel-lts:4.19/android_q 1/2] sound/soc/intel/skylake/skl-topology.h:669:3: error: inlining failed in call to always_inline 'skl_get_module_iface': function body not available
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 4.19/android_q
head: 6309eeef149f469839ecdd2e5a6dc433c368cf55
commit: c097da3ba72ef8284568d3909582d38755dbcada [1/2] ASoC: Intel: Skylake: remove fmt_idx and res_idx from mconfig
config: i386-randconfig-s002-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://github.com/intel/linux-intel-lts/commit/c097da3ba72ef8284568d3909...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 4.19/android_q
git checkout c097da3ba72ef8284568d3909582d38755dbcada
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
sound/soc/intel/skylake/skl-messages.c:1173:26: sparse: sparse: symbol 'cnl_sdw_bra_ops' was not declared. Should it be static?
sound/soc/intel/skylake/skl-messages.c: note: in included file:
sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-messages.c: In function 'skl_bind_modules':
sound/soc/intel/skylake/skl-messages.c:2474:21: warning: variable 'module' set but not used [-Wunused-but-set-variable]
2474 | struct skl_module *module;
| ^~~~~~
In file included from sound/soc/intel/skylake/skl-messages.c:32:
sound/soc/intel/skylake/skl-messages.c: In function 'skl_get_module_param_size':
>> sound/soc/intel/skylake/skl-topology.h:669:3: error: inlining failed in call to always_inline 'skl_get_module_iface': function body not available
669 | *skl_get_module_iface(struct skl_module_cfg *mconfig);
| ^~~~~~~~~~~~~~~~~~~~
sound/soc/intel/skylake/skl-messages.c:1934:35: note: called from here
1934 | struct skl_module_iface *iface = skl_get_module_iface(mconfig);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
sound/soc/intel/skylake/skl-messages.c: In function 'skl_bind_modules':
sound/soc/intel/skylake/skl-messages.c:2474:21: warning: variable 'module' set but not used [-Wunused-but-set-variable]
2474 | struct skl_module *module;
| ^~~~~~
In file included from sound/soc/intel/skylake/skl-messages.c:32:
sound/soc/intel/skylake/skl-messages.c: In function 'skl_get_module_param_size':
>> sound/soc/intel/skylake/skl-topology.h:669:3: error: inlining failed in call to always_inline 'skl_get_module_iface': function body not available
669 | *skl_get_module_iface(struct skl_module_cfg *mconfig);
| ^~~~~~~~~~~~~~~~~~~~
sound/soc/intel/skylake/skl-messages.c:1934:35: note: called from here
1934 | struct skl_module_iface *iface = skl_get_module_iface(mconfig);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"sparse warnings: (new ones prefixed by >>)"
sound/soc/intel/skylake/skl-messages.c:1173:26: sparse: sparse: symbol 'cnl_sdw_bra_ops' was not declared. Should it be static?
sound/soc/intel/skylake/skl-messages.c: note: in included file:
>> sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
>> sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
>> sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
>> sound/soc/intel/skylake/skl-topology.h:671:28: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-topology.h:669:30: sparse: sparse: marked inline, but without a definition
sound/soc/intel/skylake/skl-messages.c: In function 'skl_bind_modules':
sound/soc/intel/skylake/skl-messages.c:2474:21: warning: variable 'module' set but not used [-Wunused-but-set-variable]
2474 | struct skl_module *module;
| ^~~~~~
In file included from sound/soc/intel/skylake/skl-messages.c:32:
sound/soc/intel/skylake/skl-messages.c: In function 'skl_get_module_param_size':
sound/soc/intel/skylake/skl-topology.h:669:3: error: inlining failed in call to always_inline 'skl_get_module_iface': function body not available
669 | *skl_get_module_iface(struct skl_module_cfg *mconfig);
| ^~~~~~~~~~~~~~~~~~~~
sound/soc/intel/skylake/skl-messages.c:1934:35: note: called from here
1934 | struct skl_module_iface *iface = skl_get_module_iface(mconfig);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/skl_get_module_iface +669 sound/soc/intel/skylake/skl-topology.h
609
610 int skl_probe_get_index(struct snd_soc_dai *dai,
611 struct skl_probe_config *pconfig);
612
613 int skl_probe_attach_inj_dma(struct snd_soc_dapm_widget *w,
614 struct skl_sst *ctx, int index);
615 int skl_probe_detach_inj_dma(struct skl_sst *ctx,
616 struct snd_soc_dapm_widget *w, int index);
617 int skl_probe_point_set_config(struct snd_soc_dapm_widget *w,
618 struct skl_sst *ctx, int direction,
619 struct snd_soc_dai *dai);
620 int skl_tplg_set_module_params(struct snd_soc_dapm_widget *w,
621 struct skl_sst *ctx);
622
623 int skl_bind_modules(struct skl_sst *ctx, struct skl_module_cfg
624 *src_module, struct skl_module_cfg *dst_module);
625
626 int skl_unbind_modules(struct skl_sst *ctx, struct skl_module_cfg
627 *src_module, struct skl_module_cfg *dst_module);
628 int skl_probe_point_disconnect_ext(struct skl_sst *ctx,
629 struct snd_soc_dapm_widget *w);
630 int skl_probe_point_disconnect_inj(struct skl_sst *ctx,
631 struct snd_soc_dapm_widget *w, int index);
632 int skl_set_module_params(struct skl_sst *ctx, u32 *params, int size,
633 u32 param_id, struct skl_module_cfg *mcfg);
634 int skl_get_module_params(struct skl_sst *ctx, u32 *params, int size,
635 u32 param_id, struct skl_module_cfg *mcfg);
636
637 struct skl_module_cfg *skl_tplg_be_get_cpr_module(struct snd_soc_dai *dai,
638 int stream);
639
640 int is_skl_dsp_widget_type(struct snd_soc_dapm_widget *w,
641 struct device *dev);
642 enum skl_bitdepth skl_get_bit_depth(int params);
643 int skl_pcm_host_dma_prepare(struct device *dev,
644 struct skl_pipe_params *params);
645 int skl_pcm_link_dma_prepare(struct device *dev,
646 struct skl_pipe_params *params);
647
648 int skl_dai_load(struct snd_soc_component *cmp, int index,
649 struct snd_soc_dai_driver *dai_drv,
650 struct snd_soc_tplg_pcm *pcm, struct snd_soc_dai *dai);
651 void skl_tplg_add_moduleid_in_bind_params(struct skl *skl,
652 struct snd_soc_dapm_widget *w);
653 int skl_tplg_dsp_log_get(struct snd_kcontrol *kcontrol,
654 struct snd_ctl_elem_value *ucontrol);
655 int skl_tplg_dsp_log_set(struct snd_kcontrol *kcontrol,
656 struct snd_ctl_elem_value *ucontrol);
657
658 int skl_tplg_change_notification_get(struct snd_kcontrol *kcontrol,
659 unsigned int __user *data, unsigned int size);
660 struct snd_kcontrol *skl_search_notify_kctl(struct skl_sst *skl,
661 u32 notify_id);
662 int skl_create_notify_kctl_list(struct skl_sst *skl_sst,
663 struct snd_card *card);
664 void skl_delete_notify_kctl_list(struct skl_sst *skl_sst);
665 struct snd_kcontrol *skl_get_notify_kcontrol(struct skl_sst *skl,
666 struct snd_card *card, u32 notify_id);
667 void skl_tplg_fw_cfg_set(struct skl *skl);
668 inline struct skl_module_iface
> 669 *skl_get_module_iface(struct skl_module_cfg *mconfig);
670 inline struct skl_module_res
> 671 *skl_get_module_res(struct skl_module_cfg *mconfig);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[trace:ftrace/core 23/32] ld.lld: error: main.c:(.text+0xF2C): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
by kernel test robot
TO: "Steven Rostedt (VMware)" <rostedt(a)goodmis.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/core
head: e0cb42dce764a6ad7783cb6a34e409177faa7539
commit: d9a1be1be331fc857d3fe29f86c3a305950b35a9 [23/32] tracepoints: Do not punish non static call users
config: riscv-randconfig-r014-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/c...
git remote add trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git fetch --no-tags trace ftrace/core
git checkout d9a1be1be331fc857d3fe29f86c3a305950b35a9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x0): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x8): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x3E): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x48): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x4A): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x64): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x92): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: arch/riscv/kernel/head.o:(.head.text+0x120): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x0): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0xB8): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x170): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x230): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x390): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x578): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x6A6): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x844): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x990): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0xB38): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
>> ld.lld: error: main.c:(.text+0xF2C): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: main.c:(.text+0x1328): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[chao-linux:simple_copy 2/5] block/blk-lib.c:153:5: warning: no previous prototype for function 'blk_copy_offload'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git simple_copy
head: d6f32b90156624ae9dc06ef5873334a48e9b9806
commit: fcbd83ffa72af1eba12bcab1f34e0b956a563e02 [2/5] block: add simple copy support
config: x86_64-randconfig-a013-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?id...
git remote add chao-linux https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git
git fetch --no-tags chao-linux simple_copy
git checkout fcbd83ffa72af1eba12bcab1f34e0b956a563e02
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> block/blk-lib.c:153:5: warning: no previous prototype for function 'blk_copy_offload' [-Wmissing-prototypes]
int blk_copy_offload(struct block_device *bdev, struct blk_copy_payload *payload,
^
block/blk-lib.c:153:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_copy_offload(struct block_device *bdev, struct blk_copy_payload *payload,
^
static
>> block/blk-lib.c:180:5: warning: no previous prototype for function 'blk_read_to_buf' [-Wmissing-prototypes]
int blk_read_to_buf(struct block_device *bdev, struct blk_copy_payload *payload,
^
block/blk-lib.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_read_to_buf(struct block_device *bdev, struct blk_copy_payload *payload,
^
static
>> block/blk-lib.c:235:5: warning: no previous prototype for function 'blk_write_from_buf' [-Wmissing-prototypes]
int blk_write_from_buf(struct block_device *bdev, void *buf, sector_t dest,
^
block/blk-lib.c:235:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_write_from_buf(struct block_device *bdev, void *buf, sector_t dest,
^
static
>> block/blk-lib.c:258:5: warning: no previous prototype for function 'blk_prepare_payload' [-Wmissing-prototypes]
int blk_prepare_payload(struct block_device *bdev, int nr_srcs, struct range_entry *rlist,
^
block/blk-lib.c:258:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_prepare_payload(struct block_device *bdev, int nr_srcs, struct range_entry *rlist,
^
static
4 warnings generated.
vim +/blk_copy_offload +153 block/blk-lib.c
152
> 153 int blk_copy_offload(struct block_device *bdev, struct blk_copy_payload *payload,
154 sector_t dest, gfp_t gfp_mask)
155 {
156 struct bio *bio;
157 int ret, total_size;
158
159 bio = bio_alloc(gfp_mask, 1);
160 bio->bi_iter.bi_sector = dest;
161 bio->bi_opf = REQ_OP_COPY | REQ_NOMERGE;
162 bio_set_dev(bio, bdev);
163
164 total_size = struct_size(payload, range, payload->copy_range);
165 ret = bio_add_page(bio, virt_to_page(payload), total_size,
166 offset_in_page(payload));
167 if (ret != total_size) {
168 ret = -ENOMEM;
169 bio_put(bio);
170 goto err;
171 }
172
173 ret = submit_bio_wait(bio);
174 err:
175 bio_put(bio);
176 return ret;
177
178 }
179
> 180 int blk_read_to_buf(struct block_device *bdev, struct blk_copy_payload *payload,
181 gfp_t gfp_mask, void **buf_p)
182 {
183 struct request_queue *q = bdev_get_queue(bdev);
184 struct bio *bio, *parent = NULL;
185 void *buf = NULL;
186 bool is_vmalloc;
187 int i, nr_srcs, copy_len, ret, cur_size, t_len = 0;
188
189 nr_srcs = payload->copy_range;
190 copy_len = payload->copy_size << SECTOR_SHIFT;
191
192 buf = kvmalloc(copy_len, gfp_mask);
193 if (!buf)
194 return -ENOMEM;
195 is_vmalloc = is_vmalloc_addr(buf);
196
197 for (i = 0; i < nr_srcs; i++) {
198 cur_size = payload->range[i].len << SECTOR_SHIFT;
199
200 bio = bio_map_kern(q, buf + t_len, cur_size, gfp_mask);
201 if (IS_ERR(bio)) {
202 ret = PTR_ERR(bio);
203 goto out;
204 }
205
206 bio->bi_iter.bi_sector = payload->range[i].src;
207 bio->bi_opf = REQ_OP_READ;
208 bio_set_dev(bio, bdev);
209 bio->bi_end_io = NULL;
210 bio->bi_private = NULL;
211
212 if (parent) {
213 bio_chain(parent, bio);
214 submit_bio(parent);
215 }
216
217 parent = bio;
218 t_len += cur_size;
219 }
220
221 ret = submit_bio_wait(bio);
222 bio_put(bio);
223 if (is_vmalloc)
224 invalidate_kernel_vmap_range(buf, copy_len);
225 if (ret)
226 goto out;
227
228 *buf_p = buf;
229 return 0;
230 out:
231 kvfree(buf);
232 return ret;
233 }
234
> 235 int blk_write_from_buf(struct block_device *bdev, void *buf, sector_t dest,
236 int copy_len, gfp_t gfp_mask)
237 {
238 struct request_queue *q = bdev_get_queue(bdev);
239 struct bio *bio;
240 int ret;
241
242 bio = bio_map_kern(q, buf, copy_len, gfp_mask);
243 if (IS_ERR(bio)) {
244 ret = PTR_ERR(bio);
245 goto out;
246 }
247 bio_set_dev(bio, bdev);
248 bio->bi_opf = REQ_OP_WRITE;
249 bio->bi_iter.bi_sector = dest;
250
251 bio->bi_end_io = NULL;
252 ret = submit_bio_wait(bio);
253 bio_put(bio);
254 out:
255 return ret;
256 }
257
> 258 int blk_prepare_payload(struct block_device *bdev, int nr_srcs, struct range_entry *rlist,
259 gfp_t gfp_mask, struct blk_copy_payload **payload_p)
260 {
261
262 struct request_queue *q = bdev_get_queue(bdev);
263 struct blk_copy_payload *payload;
264 sector_t bs_mask;
265 sector_t src_sects, len = 0, total_len = 0;
266 int i, ret, total_size;
267
268 if (!q)
269 return -ENXIO;
270
271 if (!nr_srcs)
272 return -EINVAL;
273
274 if (bdev_read_only(bdev))
275 return -EPERM;
276
277 bs_mask = (bdev_logical_block_size(bdev) >> 9) - 1;
278
279 total_size = struct_size(payload, range, nr_srcs);
280 payload = kmalloc(total_size, gfp_mask);
281 if (!payload)
282 return -ENOMEM;
283
284 for (i = 0; i < nr_srcs; i++) {
285 /* copy payload provided are in bytes */
286 src_sects = rlist[i].src;
287 if (src_sects & bs_mask) {
288 ret = -EINVAL;
289 goto err;
290 }
291 src_sects = src_sects >> SECTOR_SHIFT;
292
293 if (len & bs_mask) {
294 ret = -EINVAL;
295 goto err;
296 }
297
298 len = rlist[i].len >> SECTOR_SHIFT;
299
300 total_len += len;
301
302 WARN_ON_ONCE((src_sects << 9) > UINT_MAX);
303
304 payload->range[i].src = src_sects;
305 payload->range[i].len = len;
306 }
307
308 /* storing # of source ranges */
309 payload->copy_range = i;
310 /* storing copy len so far */
311 payload->copy_size = total_len;
312
313 *payload_p = payload;
314 return 0;
315 err:
316 kfree(payload);
317 return ret;
318 }
319
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months