[luxis1999-iommufd:iommufd-v5.16-rc3 32/33] include/linux/iommufd.h:30:1: error: expected identifier or '(' before '{' token
by kernel test robot
tree: https://github.com/luxis1999/iommufd iommufd-v5.16-rc3
head: 44f89b130eec28760e6b655facd4be49c5bcc3f9
commit: 219a6860a2c8c2c89d71793ce4f9375f3e7bb61f [32/33] vfio/pci: Add VFIO_DEVICE_ATTACH_IOASPT
config: nios2-buildonly-randconfig-r004-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110154.soFBjQw6-lk...)
compiler: nios2-linux-gcc (GCC) 11.2.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/luxis1999/iommufd/commit/219a6860a2c8c2c89d71793ce4f93...
git remote add luxis1999-iommufd https://github.com/luxis1999/iommufd
git fetch --no-tags luxis1999-iommufd iommufd-v5.16-rc3
git checkout 219a6860a2c8c2c89d71793ce4f9375f3e7bb61f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/vfio/
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 drivers/vfio/vfio.c:35:
>> include/linux/iommufd.h:30:1: error: expected identifier or '(' before '{' token
30 | {
| ^
include/linux/iommufd.h:29:1: warning: 'iommufd_bind_pci_device' declared 'static' but never defined [-Wunused-function]
29 | iommufd_bind_pci_device(int fd, struct pci_dev *pdev, u32 *id, u64 dev_cookie);
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +30 include/linux/iommufd.h
8a81aeff73cead Jason Gunthorpe 2021-11-11 26
8a81aeff73cead Jason Gunthorpe 2021-11-11 27 #else /* !CONFIG_IOMMUFD */
8a81aeff73cead Jason Gunthorpe 2021-11-11 28 static inline struct iommufd_device *
8a81aeff73cead Jason Gunthorpe 2021-11-11 29 iommufd_bind_pci_device(int fd, struct pci_dev *pdev, u32 *id, u64 dev_cookie);
8a81aeff73cead Jason Gunthorpe 2021-11-11 @30 {
8a81aeff73cead Jason Gunthorpe 2021-11-11 31 return ERR_PTR(-EOPNOTSUPP);
8a81aeff73cead Jason Gunthorpe 2021-11-11 32 }
8a81aeff73cead Jason Gunthorpe 2021-11-11 33
:::::: The code at line 30 was first introduced by commit
:::::: 8a81aeff73cead826a9b7d26e9af4f09c9fd700f iommufd: Add kAPI toward external drivers
:::::: TO: Jason Gunthorpe <jgg(a)nvidia.com>
:::::: CC: Liu Yi L <yi.l.liu(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[kbuild] [chrome-os:chromeos-5.10 94/100] drivers/iommu/mtk_iommu.c:865 mtk_iommu_mm_dts_parse() error: uninitialized symbol 'larbnode'.
by Dan Carpenter
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head: 3eae3ffb66ef2c07a94f385c4160c405cc3a490b
commit: 7fc5fdfd89dcb4030def0f07c3a015509dcca1c6 [94/100] BACKPORT: FROMLIST: iommu/mediatek: Contain MM IOMMU flow with the MM TYPE
config: riscv-randconfig-m031-20211210 (https://download.01.org/0day-ci/archive/20211210/202112101915.YoEDCiBh-lk... )
compiler: riscv64-linux-gcc (GCC) 11.2.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>
smatch warnings:
drivers/iommu/mtk_iommu.c:865 mtk_iommu_mm_dts_parse() error: uninitialized symbol 'larbnode'.
drivers/iommu/mtk_iommu.c:878 mtk_iommu_mm_dts_parse() warn: passing zero to 'PTR_ERR'
vim +/larbnode +865 drivers/iommu/mtk_iommu.c
7fc5fdfd89dcb4 Yong Wu 2021-09-23 824 static int mtk_iommu_mm_dts_parse(struct device *dev,
7fc5fdfd89dcb4 Yong Wu 2021-09-23 825 struct component_match **match,
7fc5fdfd89dcb4 Yong Wu 2021-09-23 826 struct mtk_iommu_data *data)
7fc5fdfd89dcb4 Yong Wu 2021-09-23 827 {
7fc5fdfd89dcb4 Yong Wu 2021-09-23 828 struct platform_device *plarbdev;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 829 struct device_link *link;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 830 struct device_node *larbnode, *smicomm_node;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 831 int i, larb_nr, ret;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 832
7fc5fdfd89dcb4 Yong Wu 2021-09-23 833 larb_nr = of_count_phandle_with_args(dev->of_node, "mediatek,larbs", NULL);
Can of_count_phandle_with_args() return 0? That's what the uninitialized
variable warning is complaining about. No idea if it's really possible.
7fc5fdfd89dcb4 Yong Wu 2021-09-23 834 if (larb_nr < 0)
7fc5fdfd89dcb4 Yong Wu 2021-09-23 835 return larb_nr;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 836
7fc5fdfd89dcb4 Yong Wu 2021-09-23 837 for (i = 0; i < larb_nr; i++) {
7fc5fdfd89dcb4 Yong Wu 2021-09-23 838 u32 id;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 839
7fc5fdfd89dcb4 Yong Wu 2021-09-23 840 larbnode = of_parse_phandle(dev->of_node, "mediatek,larbs", i);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 841 if (!larbnode)
7fc5fdfd89dcb4 Yong Wu 2021-09-23 842 return -EINVAL;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 843
7fc5fdfd89dcb4 Yong Wu 2021-09-23 844 if (!of_device_is_available(larbnode)) {
7fc5fdfd89dcb4 Yong Wu 2021-09-23 845 of_node_put(larbnode);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 846 continue;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 847 }
7fc5fdfd89dcb4 Yong Wu 2021-09-23 848
7fc5fdfd89dcb4 Yong Wu 2021-09-23 849 ret = of_property_read_u32(larbnode, "mediatek,larb-id", &id);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 850 if (ret)/* The id is consecutive if there is no this property */
7fc5fdfd89dcb4 Yong Wu 2021-09-23 851 id = i;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 852
7fc5fdfd89dcb4 Yong Wu 2021-09-23 853 plarbdev = of_find_device_by_node(larbnode);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 854 if (!plarbdev || !plarbdev->dev.driver) {
7fc5fdfd89dcb4 Yong Wu 2021-09-23 855 of_node_put(larbnode);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 856 return -EPROBE_DEFER;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 857 }
7fc5fdfd89dcb4 Yong Wu 2021-09-23 858 data->larb_imu[id].dev = &plarbdev->dev;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 859
7fc5fdfd89dcb4 Yong Wu 2021-09-23 860 component_match_add_release(dev, match, release_of,
7fc5fdfd89dcb4 Yong Wu 2021-09-23 861 compare_of, larbnode);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 862 }
7fc5fdfd89dcb4 Yong Wu 2021-09-23 863
7fc5fdfd89dcb4 Yong Wu 2021-09-23 864 /* Get smi-common dev from the last larb. */
7fc5fdfd89dcb4 Yong Wu 2021-09-23 @865 smicomm_node = of_parse_phandle(larbnode, "mediatek,smi", 0);
^^^^^^^^
7fc5fdfd89dcb4 Yong Wu 2021-09-23 866 if (!smicomm_node)
7fc5fdfd89dcb4 Yong Wu 2021-09-23 867 return -EINVAL;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 868
7fc5fdfd89dcb4 Yong Wu 2021-09-23 869 plarbdev = of_find_device_by_node(smicomm_node);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 870 of_node_put(smicomm_node);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 871 data->smicomm_dev = &plarbdev->dev;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 872
7fc5fdfd89dcb4 Yong Wu 2021-09-23 873 link = device_link_add(data->smicomm_dev, dev,
7fc5fdfd89dcb4 Yong Wu 2021-09-23 874 DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME);
7fc5fdfd89dcb4 Yong Wu 2021-09-23 875
7fc5fdfd89dcb4 Yong Wu 2021-09-23 876 if (!link) {
7fc5fdfd89dcb4 Yong Wu 2021-09-23 877 dev_err(dev, "Unable link %s.\n", dev_name(data->smicomm_dev));
7fc5fdfd89dcb4 Yong Wu 2021-09-23 @878 return PTR_ERR(link);
^^^^^^^^^^^^^^^^^^^^^
This is equivalent to return 0;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 879 }
7fc5fdfd89dcb4 Yong Wu 2021-09-23 880 return 0;
7fc5fdfd89dcb4 Yong Wu 2021-09-23 881 }
---
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
9 months, 2 weeks
[melver:review/kasan-vmalloc-tagging 23/34] mm/vmalloc.c:2211:40: error: too few arguments to function call, expected 3, have 2
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/melver/linux.git review/kasan-vmalloc-tagging
head: bd2110728a4d621f8a26a266ae1bd6ea2b8a1efa
commit: d045c20eea99e4c9ca4a5bee4907f728fa9181f2 [23/34] kasan, vmalloc: add vmalloc support to SW_TAGS
config: i386-randconfig-a015-20211207 (https://download.01.org/0day-ci/archive/20211211/202112110047.IynWQv4Y-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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://git.kernel.org/pub/scm/linux/kernel/git/melver/linux.git/commit/?...
git remote add melver https://git.kernel.org/pub/scm/linux/kernel/git/melver/linux.git
git fetch --no-tags melver review/kasan-vmalloc-tagging
git checkout d045c20eea99e4c9ca4a5bee4907f728fa9181f2
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the melver/review/kasan-vmalloc-tagging HEAD bd2110728a4d621f8a26a266ae1bd6ea2b8a1efa builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
>> mm/vmalloc.c:2211:40: error: too few arguments to function call, expected 3, have 2
mem = kasan_unpoison_vmalloc(mem, size);
~~~~~~~~~~~~~~~~~~~~~~ ^
include/linux/kasan.h:458:21: note: 'kasan_unpoison_vmalloc' declared here
static inline void *kasan_unpoison_vmalloc(const void *start,
^
mm/vmalloc.c:2446:64: error: too few arguments to function call, expected 3, have 2
area->addr = kasan_unpoison_vmalloc(area->addr, requested_size);
~~~~~~~~~~~~~~~~~~~~~~ ^
include/linux/kasan.h:458:21: note: 'kasan_unpoison_vmalloc' declared here
static inline void *kasan_unpoison_vmalloc(const void *start,
^
mm/vmalloc.c:3770:24: error: too few arguments to function call, expected 3, have 2
vms[area]->size);
^
include/linux/kasan.h:458:21: note: 'kasan_unpoison_vmalloc' declared here
static inline void *kasan_unpoison_vmalloc(const void *start,
^
3 errors generated.
vim +2211 mm/vmalloc.c
2174
2175 /**
2176 * vm_map_ram - map pages linearly into kernel virtual address (vmalloc space)
2177 * @pages: an array of pointers to the pages to be mapped
2178 * @count: number of pages
2179 * @node: prefer to allocate data structures on this node
2180 *
2181 * If you use this function for less than VMAP_MAX_ALLOC pages, it could be
2182 * faster than vmap so it's good. But if you mix long-life and short-life
2183 * objects with vm_map_ram(), it could consume lots of address space through
2184 * fragmentation (especially on a 32bit machine). You could see failures in
2185 * the end. Please use this function for short-lived objects.
2186 *
2187 * Returns: a pointer to the address that has been mapped, or %NULL on failure
2188 */
2189 void *vm_map_ram(struct page **pages, unsigned int count, int node)
2190 {
2191 unsigned long size = (unsigned long)count << PAGE_SHIFT;
2192 unsigned long addr;
2193 void *mem;
2194
2195 if (likely(count <= VMAP_MAX_ALLOC)) {
2196 mem = vb_alloc(size, GFP_KERNEL);
2197 if (IS_ERR(mem))
2198 return NULL;
2199 addr = (unsigned long)mem;
2200 } else {
2201 struct vmap_area *va;
2202 va = alloc_vmap_area(size, PAGE_SIZE,
2203 VMALLOC_START, VMALLOC_END, node, GFP_KERNEL);
2204 if (IS_ERR(va))
2205 return NULL;
2206
2207 addr = va->va_start;
2208 mem = (void *)addr;
2209 }
2210
> 2211 mem = kasan_unpoison_vmalloc(mem, size);
2212
2213 if (vmap_pages_range(addr, addr + size, PAGE_KERNEL,
2214 pages, PAGE_SHIFT) < 0) {
2215 vm_unmap_ram(mem, count);
2216 return NULL;
2217 }
2218
2219 return mem;
2220 }
2221 EXPORT_SYMBOL(vm_map_ram);
2222
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v5 01/16] ima: Add IMA namespace support
by kernel test robot
Hi Stefan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on zohar-integrity/next-integrity]
[also build test WARNING on linux/master linus/master v5.16-rc4 next-20211208]
[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/Stefan-Berger/ima-Namespace-IMA-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity
config: i386-randconfig-s031-20211207 (https://download.01.org/0day-ci/archive/20211210/202112102358.AmVci5Ag-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/0e5d16c2da02e9c61692836edf0b6f7f2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Stefan-Berger/ima-Namespace-IMA-with-audit-support-in-IMA-ns/20211209-062017
git checkout 0e5d16c2da02e9c61692836edf0b6f7f227e1867
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/md/dm-ioctl.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
--
fs/open.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
fs/open.c:1011:21: sparse: sparse: restricted fmode_t degrades to integer
--
fs/file_table.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
--
fs/namei.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
fs/namei.c:680:17: sparse: sparse: context imbalance in 'terminate_walk' - unexpected unlock
fs/namei.c: note: in included file (through include/linux/rbtree.h, include/linux/mm_types.h, include/linux/mmzone.h, ...):
include/linux/rcupdate.h:718:9: sparse: sparse: context imbalance in 'try_to_unlazy' - unexpected unlock
include/linux/rcupdate.h:718:9: sparse: sparse: context imbalance in 'try_to_unlazy_next' - unexpected unlock
fs/namei.c:2318:19: sparse: sparse: context imbalance in 'path_init' - different lock contexts for basic block
--
fs/attr.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
--
security/security.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
security/security.c:358:25: sparse: sparse: cast removes address space '__rcu' of expression
--
security/keys/key.c: note: in included file:
>> include/linux/ima.h:263:5: sparse: sparse: undefined preprocessor identifier 'CONFIG_IMA'
security/keys/key.c:123:17: sparse: sparse: context imbalance in 'key_user_put' - unexpected unlock
vim +/CONFIG_IMA +263 include/linux/ima.h
260
261 static inline int create_ima_ns(struct user_namespace *user_ns)
262 {
> 263 #if CONFIG_IMA
264 user_ns->ima_ns = get_ima_ns(&init_ima_ns);
265 #endif
266 return 0;
267 }
268
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
sound/soc/qcom/qdsp6/topology.c:336 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c741e49150dbb0c0aebe234389f4aa8b47958fa8
commit: 36ad9bf1d93d66b901342eab9f8ed6c1537655a6 ASoC: qdsp6: audioreach: add topology support
date: 6 weeks ago
config: riscv-randconfig-m031-20211210 (https://download.01.org/0day-ci/archive/20211210/202112102206.S7otMlhZ-lk...)
compiler: riscv64-linux-gcc (GCC) 11.2.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:
sound/soc/qcom/qdsp6/topology.c:336 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:355 audioreach_parse_sg_tokens() error: uninitialized symbol 'sg'.
sound/soc/qcom/qdsp6/topology.c:382 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:402 audioreach_parse_cont_tokens() error: uninitialized symbol 'cont'.
Old smatch warnings:
sound/soc/qcom/qdsp6/topology.c:339 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:342 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:357 audioreach_parse_sg_tokens() error: uninitialized symbol 'sg'.
sound/soc/qcom/qdsp6/topology.c:385 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:388 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:391 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
vim +/sg +336 sound/soc/qcom/qdsp6/topology.c
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 303 static struct audioreach_sub_graph *audioreach_parse_sg_tokens(struct q6apm *apm,
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 304 struct snd_soc_tplg_private *private)
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 305 {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 306 struct snd_soc_tplg_vendor_value_elem *sg_elem;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 307 struct snd_soc_tplg_vendor_array *sg_array;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 308 struct audioreach_graph_info *info = NULL;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 309 int graph_id, sub_graph_id, tkn_count = 0;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 310 struct audioreach_sub_graph *sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 311 bool found;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 312
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 313 sg_array = audioreach_get_sg_array(private);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 314 sg_elem = sg_array->value;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 315
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 316 while (tkn_count <= (le32_to_cpu(sg_array->num_elems) - 1)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 317 switch (le32_to_cpu(sg_elem->token)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 318 case AR_TKN_U32_SUB_GRAPH_INSTANCE_ID:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 319 sub_graph_id = le32_to_cpu(sg_elem->value);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 320 sg = audioreach_tplg_alloc_sub_graph(apm, sub_graph_id, &found);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 321 if (IS_ERR(sg)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 322 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 323 } else if (found) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 324 /* Already parsed data for this sub-graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 325 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 326 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 327 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 328 case AR_TKN_DAI_INDEX:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 329 /* Sub graph is associated with predefined graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 330 graph_id = le32_to_cpu(sg_elem->value);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 331 info = audioreach_tplg_alloc_graph_info(apm, graph_id, &found);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 332 if (IS_ERR(info))
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 333 return ERR_CAST(info);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 334 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 335 case AR_TKN_U32_SUB_GRAPH_PERF_MODE:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 @336 sg->perf_mode = le32_to_cpu(sg_elem->value);
^^^^
Static checkers don't like that we assume the first element of the
array is AR_TKN_U32_SUB_GRAPH_INSTANCE_ID.
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 337 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 338 case AR_TKN_U32_SUB_GRAPH_DIRECTION:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 339 sg->direction = le32_to_cpu(sg_elem->value);
^^^^
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 340 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 341 case AR_TKN_U32_SUB_GRAPH_SCENARIO_ID:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 342 sg->scenario_id = le32_to_cpu(sg_elem->value);
^^^^
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 343 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 344 default:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 345 dev_err(apm->dev, "Not a valid token %d for graph\n", sg_elem->token);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 346 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 347
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 348 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 349 tkn_count++;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 350 sg_elem++;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 351 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 352
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 353 /* Sub graph is associated with predefined graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 354 if (info)
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 @355 audioreach_tplg_add_sub_graph(sg, info);
^^
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 356
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 357 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 358 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH bpf-next v3 7/9] net/netfilter: Add unstable CT lookup helpers for XDP and TC-BPF
by kernel test robot
Hi Kumar,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Kumar-Kartikeya-Dwivedi/Introduc...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: arc-randconfig-r043-20211210 (https://download.01.org/0day-ci/archive/20211210/202112102230.6cj0WCoX-lk...)
compiler: arc-elf-gcc (GCC) 11.2.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/683d78cc594f7867b8dae78b357ab82a5...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kumar-Kartikeya-Dwivedi/Introduce-unstable-CT-lookup-helpers/20211210-210439
git checkout 683d78cc594f7867b8dae78b357ab82a5ee69484
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash net/netfilter/
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 >>):
>> net/netfilter/nf_conntrack_core.c:2566:17: warning: no previous prototype for 'bpf_xdp_ct_lookup' [-Wmissing-prototypes]
2566 | struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx,
| ^~~~~~~~~~~~~~~~~
>> net/netfilter/nf_conntrack_core.c:2610:17: warning: no previous prototype for 'bpf_skb_ct_lookup' [-Wmissing-prototypes]
2610 | struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *skb_ctx,
| ^~~~~~~~~~~~~~~~~
>> net/netfilter/nf_conntrack_core.c:2648:6: warning: no previous prototype for 'bpf_ct_release' [-Wmissing-prototypes]
2648 | void bpf_ct_release(struct nf_conn *nfct)
| ^~~~~~~~~~~~~~
vim +/bpf_xdp_ct_lookup +2566 net/netfilter/nf_conntrack_core.c
2549
2550 /* bpf_xdp_ct_lookup - Lookup CT entry for the given tuple, and acquire a
2551 * reference to it
2552 *
2553 * Parameters:
2554 * @xdp_ctx - Pointer to ctx (xdp_md) in XDP program
2555 * Cannot be NULL
2556 * @bpf_tuple - Pointer to memory representing the tuple to look up
2557 * Cannot be NULL
2558 * @len__tuple - Length of the tuple structure
2559 * Must be one of sizeof(bpf_tuple->ipv4) or
2560 * sizeof(bpf_tuple->ipv6)
2561 * @opts - Additional options for lookup (documented above)
2562 * Cannot be NULL
2563 * @len__opts - Length of the bpf_ct_opts structure
2564 * Must be NF_BPF_CT_OPTS_SZ (12)
2565 */
> 2566 struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx,
2567 struct bpf_sock_tuple *bpf_tuple,
2568 u32 len__tuple, struct bpf_ct_opts *opts,
2569 u32 len__opts)
2570 {
2571 struct xdp_buff *ctx = (struct xdp_buff *)xdp_ctx;
2572 struct net *caller_net;
2573 struct nf_conn *nfct;
2574
2575 BUILD_BUG_ON(sizeof(struct bpf_ct_opts) != NF_BPF_CT_OPTS_SZ);
2576
2577 if (!opts)
2578 return NULL;
2579 if (!bpf_tuple || opts->reserved[0] || opts->reserved[1] ||
2580 opts->reserved[2] || len__opts != NF_BPF_CT_OPTS_SZ) {
2581 opts->error = -EINVAL;
2582 return NULL;
2583 }
2584 caller_net = dev_net(ctx->rxq->dev);
2585 nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, len__tuple, opts->l4proto,
2586 opts->netns_id);
2587 if (IS_ERR(nfct)) {
2588 opts->error = PTR_ERR(nfct);
2589 return NULL;
2590 }
2591 return nfct;
2592 }
2593
2594 /* bpf_skb_ct_lookup - Lookup CT entry for the given tuple, and acquire a
2595 * reference to it
2596 *
2597 * Parameters:
2598 * @skb_ctx - Pointer to ctx (__sk_buff) in TC program
2599 * Cannot be NULL
2600 * @bpf_tuple - Pointer to memory representing the tuple to look up
2601 * Cannot be NULL
2602 * @len__tuple - Length of the tuple structure
2603 * Must be one of sizeof(bpf_tuple->ipv4) or
2604 * sizeof(bpf_tuple->ipv6)
2605 * @opts - Additional options for lookup (documented above)
2606 * Cannot be NULL
2607 * @len__opts - Length of the bpf_ct_opts structure
2608 * Must be NF_BPF_CT_OPTS_SZ (12)
2609 */
> 2610 struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *skb_ctx,
2611 struct bpf_sock_tuple *bpf_tuple,
2612 u32 len__tuple, struct bpf_ct_opts *opts,
2613 u32 len__opts)
2614 {
2615 struct sk_buff *skb = (struct sk_buff *)skb_ctx;
2616 struct net *caller_net;
2617 struct nf_conn *nfct;
2618
2619 BUILD_BUG_ON(sizeof(struct bpf_ct_opts) != NF_BPF_CT_OPTS_SZ);
2620
2621 if (!opts)
2622 return NULL;
2623 if (!bpf_tuple || opts->reserved[0] || opts->reserved[1] ||
2624 opts->reserved[2] || len__opts != NF_BPF_CT_OPTS_SZ) {
2625 opts->error = -EINVAL;
2626 return NULL;
2627 }
2628 caller_net = skb->dev ? dev_net(skb->dev) : sock_net(skb->sk);
2629 nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, len__tuple, opts->l4proto,
2630 opts->netns_id);
2631 if (IS_ERR(nfct)) {
2632 opts->error = PTR_ERR(nfct);
2633 return NULL;
2634 }
2635 return nfct;
2636 }
2637
2638 /* bpf_ct_release - Release acquired nf_conn object
2639 *
2640 * This must be invoked for referenced PTR_TO_BTF_ID, and the verifier rejects
2641 * the program if any references remain in the program in all of the explored
2642 * states.
2643 *
2644 * Parameters:
2645 * @nf_conn - Pointer to referenced nf_conn object, obtained using
2646 * bpf_xdp_ct_lookup or bpf_skb_ct_lookup.
2647 */
> 2648 void bpf_ct_release(struct nf_conn *nfct)
2649 {
2650 if (!nfct)
2651 return;
2652 nf_ct_put(nfct);
2653 }
2654
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[norov:bitmap-new 12/14] drivers/scsi/storvsc_drv.c:1953:25: error: called object 'num_present_cpus' is not a function or function pointer
by kernel test robot
tree: https://github.com/norov/linux bitmap-new
head: 445f716432d8aa33e726b27c170a4896339c4957
commit: 22372a541637e963e514abf3e69a4193fd4027bd [12/14] present_cpu
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20211210/202112102210.qQMIAKAi-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/norov/linux/commit/22372a541637e963e514abf3e69a4193fd4...
git remote add norov https://github.com/norov/linux
git fetch --no-tags norov bitmap-new
git checkout 22372a541637e963e514abf3e69a4193fd4027bd
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
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 >>):
drivers/scsi/storvsc_drv.c: In function 'storvsc_probe':
>> drivers/scsi/storvsc_drv.c:1953:25: error: called object 'num_present_cpus' is not a function or function pointer
1953 | int num_present_cpus = num_present_cpus();
| ^~~~~~~~~~~~~~~~
drivers/scsi/storvsc_drv.c:1953:6: note: declared here
1953 | int num_present_cpus = num_present_cpus();
| ^~~~~~~~~~~~~~~~
vim +/num_present_cpus +1953 drivers/scsi/storvsc_drv.c
56fb105859345d drivers/scsi/storvsc_drv.c Dexuan Cui 2019-09-11 1947
84946899bd5003 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 1948 static int storvsc_probe(struct hv_device *device,
84946899bd5003 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 1949 const struct hv_vmbus_device_id *dev_id)
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 1950 {
ff568d3a1a1ac4 drivers/staging/hv/storvsc_drv.c Greg Kroah-Hartman 2009-09-02 1951 int ret;
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1952 int num_cpus = num_online_cpus();
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 @1953) int num_present_cpus = num_present_cpus();
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 1954 struct Scsi_Host *host;
795b613d8b780a drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 1955 struct hv_host_device *host_dev;
ef52a81bf5b229 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 1956 bool dev_is_ide = ((dev_id->driver_data == IDE_GUID) ? true : false);
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 1957 bool is_fc = ((dev_id->driver_data == SFC_GUID) ? true : false);
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1958 int target = 0;
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 1959 struct storvsc_device *stor_device;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1960 int max_luns_per_target;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1961 int max_targets;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1962 int max_channels;
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1963 int max_sub_channels = 0;
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1964
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1965 /*
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1966 * Based on the windows host we are running on,
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1967 * set state to properly communicate with the host.
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1968 */
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1969
6ee5c61535a2df drivers/scsi/storvsc_drv.c Keith Mange 2015-08-13 1970 if (vmbus_proto_version < VERSION_WIN8) {
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1971 max_luns_per_target = STORVSC_IDE_MAX_LUNS_PER_TARGET;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1972 max_targets = STORVSC_IDE_MAX_TARGETS;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1973 max_channels = STORVSC_IDE_MAX_CHANNELS;
6ee5c61535a2df drivers/scsi/storvsc_drv.c Keith Mange 2015-08-13 1974 } else {
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1975 max_luns_per_target = STORVSC_MAX_LUNS_PER_TARGET;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1976 max_targets = STORVSC_MAX_TARGETS;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 1977 max_channels = STORVSC_MAX_CHANNELS;
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1978 /*
f286299c1d0ba5 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1979 * On Windows8 and above, we support sub-channels for storage
f286299c1d0ba5 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1980 * on SCSI and FC controllers.
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1981 * The number of sub-channels offerred is based on the number of
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1982 * VCPUs in the guest.
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1983 */
f286299c1d0ba5 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1984 if (!dev_is_ide)
f286299c1d0ba5 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1985 max_sub_channels =
f286299c1d0ba5 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1986 (num_cpus - 1) / storvsc_vcpus_per_sub_channel;
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1987 }
8b612fa23f13a5 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1988
2217a47de42f85 drivers/scsi/storvsc_drv.c Long Li 2018-04-19 1989 scsi_driver.can_queue = max_outstanding_req_per_channel *
2217a47de42f85 drivers/scsi/storvsc_drv.c Long Li 2018-04-19 1990 (max_sub_channels + 1) *
2217a47de42f85 drivers/scsi/storvsc_drv.c Long Li 2018-04-19 1991 (100 - ring_avail_percent_lowater) / 100;
f458aada75891e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 1992
ff568d3a1a1ac4 drivers/staging/hv/storvsc_drv.c Greg Kroah-Hartman 2009-09-02 1993 host = scsi_host_alloc(&scsi_driver,
972621c965fa0d drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 1994 sizeof(struct hv_host_device));
f8feed068532b2 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 1995 if (!host)
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 1996 return -ENOMEM;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 1997
7f33f30a67cebb drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 1998 host_dev = shost_priv(host);
795b613d8b780a drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 1999 memset(host_dev, 0, sizeof(struct hv_host_device));
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2000
795b613d8b780a drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 2001 host_dev->port = host->host_no;
97c1529623c794 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-05-10 2002 host_dev->dev = device;
c58cc70fde2998 drivers/scsi/storvsc_drv.c Long Li 2017-10-31 2003 host_dev->host = host;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2004
4e03e697c54461 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2005
a13d35ab9fdcc8 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2006 stor_device = kzalloc(sizeof(struct storvsc_device), GFP_KERNEL);
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2007 if (!stor_device) {
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2008 ret = -ENOMEM;
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2009 goto err_out0;
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2010 }
9efd21e1f53359 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-04-29 2011
a13d35ab9fdcc8 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2012 stor_device->destroy = false;
a13d35ab9fdcc8 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2013 init_waitqueue_head(&stor_device->waiting_to_drain);
a13d35ab9fdcc8 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2014 stor_device->device = device;
cd654ea1cc72ae drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2015 stor_device->host = host;
244808e0302953 drivers/scsi/storvsc_drv.c Andrea Parri (Microsoft 2020-12-17 2016) stor_device->vmscsi_size_delta = sizeof(struct vmscsi_win8_extension);
21d2052c7afb77 drivers/scsi/storvsc_drv.c Andrea Parri (Microsoft 2020-06-17 2017) spin_lock_init(&stor_device->lock);
cd654ea1cc72ae drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2018 hv_set_drvdata(device, stor_device);
a13d35ab9fdcc8 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2019
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2020 stor_device->port_number = host->host_no;
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2021 ret = storvsc_connect_to_vsp(device, storvsc_ringbuffer_size, is_fc);
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2022 if (ret)
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2023 goto err_out1;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2024
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2025 host_dev->path = stor_device->path_id;
6e4198ce188599 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-09-13 2026 host_dev->target = stor_device->target_id;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2027
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2028 switch (dev_id->driver_data) {
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2029 case SFC_GUID:
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2030 host->max_lun = STORVSC_FC_MAX_LUNS_PER_TARGET;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2031 host->max_id = STORVSC_FC_MAX_TARGETS;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2032 host->max_channel = STORVSC_FC_MAX_CHANNELS - 1;
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2033 #if IS_ENABLED(CONFIG_SCSI_FC_ATTRS)
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2034 host->transportt = fc_transport_template;
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2035 #endif
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2036 break;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2037
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2038 case SCSI_GUID:
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 2039 host->max_lun = max_luns_per_target;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 2040 host->max_id = max_targets;
0fb8db29f2a02e drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-12-16 2041 host->max_channel = max_channels - 1;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2042 break;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2043
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2044 default:
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2045 host->max_lun = STORVSC_IDE_MAX_LUNS_PER_TARGET;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2046 host->max_id = STORVSC_IDE_MAX_TARGETS;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2047 host->max_channel = STORVSC_IDE_MAX_CHANNELS - 1;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2048 break;
4cd83ecdac20d3 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2014-07-12 2049 }
cf55f4a8b6243b drivers/staging/hv/storvsc_drv.c Mike Sterling 2011-09-06 2050 /* max cmd length */
cf55f4a8b6243b drivers/staging/hv/storvsc_drv.c Mike Sterling 2011-09-06 2051 host->max_cmd_len = STORVSC_MAX_CMD_LEN;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2052
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2053 /*
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2054 * set the table size based on the info we got
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2055 * from the host.
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2056 */
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2057 host->sg_tablesize = (stor_device->max_transfer_bytes >> PAGE_SHIFT);
d86adf482b843b drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 2058 /*
7b571c19d4c0b7 drivers/scsi/storvsc_drv.c Long Li 2020-01-13 2059 * For non-IDE disks, the host supports multiple channels.
d86adf482b843b drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 2060 * Set the number of HW queues we are supporting.
d86adf482b843b drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 2061 */
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2062) if (!dev_is_ide) {
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2063) if (storvsc_max_hw_queues > num_present_cpus) {
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2064) storvsc_max_hw_queues = 0;
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2065) storvsc_log(device, STORVSC_LOGGING_WARN,
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2066) "Resetting invalid storvsc_max_hw_queues value to default.\n");
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2067) }
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2068) if (storvsc_max_hw_queues)
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2069) host->nr_hw_queues = storvsc_max_hw_queues;
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2070) else
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2071) host->nr_hw_queues = num_present_cpus;
a81a38cc6ddaf1 drivers/scsi/storvsc_drv.c Melanie Plageman (Microsoft 2021-02-24 2072) }
be0cf6ca301c61 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-03-27 2073
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2074 /*
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2075 * Set the error handler work queue.
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2076 */
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2077 host_dev->handle_error_wq =
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2078 alloc_ordered_workqueue("storvsc_error_wq_%d",
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2079 WQ_MEM_RECLAIM,
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2080 host->host_no);
6112ff4e8f393e drivers/scsi/storvsc_drv.c Jing Xiangfeng 2020-11-27 2081 if (!host_dev->handle_error_wq) {
6112ff4e8f393e drivers/scsi/storvsc_drv.c Jing Xiangfeng 2020-11-27 2082 ret = -ENOMEM;
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2083 goto err_out2;
6112ff4e8f393e drivers/scsi/storvsc_drv.c Jing Xiangfeng 2020-11-27 2084 }
c58cc70fde2998 drivers/scsi/storvsc_drv.c Long Li 2017-10-31 2085 INIT_WORK(&host_dev->host_scan_work, storvsc_host_scan);
454f18a963cf65 drivers/staging/hv/storvsc_drv.c Bill Pemberton 2009-07-27 2086 /* Register the HBA and start the scsi bus scan */
9efd21e1f53359 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-04-29 2087 ret = scsi_add_host(host, &device->device);
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2088 if (ret != 0)
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2089 goto err_out3;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2090
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2091 if (!dev_is_ide) {
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2092 scsi_scan_host(host);
59d22950b27418 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2012-01-12 2093 } else {
59d22950b27418 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2012-01-12 2094 target = (device->dev_instance.b[5] << 8 |
59d22950b27418 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2012-01-12 2095 device->dev_instance.b[4]);
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2096 ret = scsi_add_device(host, 0, target, 0);
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2097 if (ret)
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2098 goto err_out4;
59d22950b27418 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2012-01-12 2099 }
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2100 #if IS_ENABLED(CONFIG_SCSI_FC_ATTRS)
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2101 if (host->transportt == fc_transport_template) {
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2102 struct fc_rport_identifiers ids = {
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2103 .roles = FC_PORT_ROLE_FCP_DUMMY_INITIATOR,
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2104 };
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2105
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2106 fc_host_node_name(host) = stor_device->node_name;
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2107 fc_host_port_name(host) = stor_device->port_name;
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2108 stor_device->rport = fc_remote_port_add(host, 0, &ids);
ca8dc694045e9a drivers/scsi/storvsc_drv.c Dan Carpenter 2018-01-16 2109 if (!stor_device->rport) {
ca8dc694045e9a drivers/scsi/storvsc_drv.c Dan Carpenter 2018-01-16 2110 ret = -ENOMEM;
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2111 goto err_out4;
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2112 }
ca8dc694045e9a drivers/scsi/storvsc_drv.c Dan Carpenter 2018-01-16 2113 }
dac582417bc449 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2015-12-23 2114 #endif
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2115 return 0;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2116
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2117 err_out4:
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2118 scsi_remove_host(host);
daf0cd445a2183 drivers/scsi/storvsc_drv.c Cathy Avery 2017-04-17 2119
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2120 err_out3:
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2121 destroy_workqueue(host_dev->handle_error_wq);
436ad941335386 drivers/scsi/storvsc_drv.c Cathy Avery 2017-10-31 2122
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2123 err_out2:
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2124 /*
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2125 * Once we have connected with the host, we would need to
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2126 * to invoke storvsc_dev_remove() to rollback this state and
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2127 * this call also frees up the stor_device; hence the jump around
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2128 * err_out1 label.
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2129 */
bd1f5d6a0098de drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 2130 storvsc_dev_remove(device);
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2131 goto err_out0;
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2132
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2133 err_out1:
d86adf482b843b drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 2134 kfree(stor_device->stor_chns);
ce3e301c442f7b drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-12-01 2135 kfree(stor_device);
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2136
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2137 err_out0:
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2138 scsi_host_put(host);
225ce6eab741d5 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-11-08 2139 return ret;
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2140 }
bef4a34a281ec9 drivers/staging/hv/storvsc_drv.c Hank Janssen 2009-07-13 2141
:::::: The code at line 1953 was first introduced by commit
:::::: a81a38cc6ddaf128c7ca9e3fffff21c243f33c97 scsi: storvsc: Parameterize number hardware queues
:::::: TO: Melanie Plageman (Microsoft) <melanieplageman(a)gmail.com>
:::::: CC: Martin K. Petersen <martin.petersen(a)oracle.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks