Re: [PATCH] vfio dma_map/unmap: optimized for hugetlbfs pages
by kernel test robot
Hi Jay,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on vfio/next]
[also build test ERROR on linux/master linus/master v5.8-rc6 next-20200720]
[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/Jay-Zhou/vfio-dma_map-unmap-opti...
base: https://github.com/awilliam/linux-vfio.git next
config: i386-randconfig-m021-20200720 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 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 >>):
In file included from include/linux/mm.h:679,
from include/linux/scatterlist.h:8,
from include/linux/iommu.h:10,
from drivers/vfio/vfio_iommu_type1.c:27:
>> include/linux/huge_mm.h:319:25: error: braced-group within expression allowed only inside a function
319 | #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
| ^
drivers/vfio/vfio_iommu_type1.c:523:45: note: in expansion of macro 'HPAGE_PMD_SHIFT'
523 | {vfio_hugetlbpage_2M, PMD_SIZE, ~((1ULL << HPAGE_PMD_SHIFT) - 1)},
| ^~~~~~~~~~~~~~~
include/linux/huge_mm.h:323:25: error: braced-group within expression allowed only inside a function
323 | #define HPAGE_PUD_SHIFT ({ BUILD_BUG(); 0; })
| ^
drivers/vfio/vfio_iommu_type1.c:524:45: note: in expansion of macro 'HPAGE_PUD_SHIFT'
524 | {vfio_hugetlbpage_1G, PUD_SIZE, ~((1ULL << HPAGE_PUD_SHIFT) - 1)},
| ^~~~~~~~~~~~~~~
vim +319 include/linux/huge_mm.h
87eaceb3faa59b Yang Shi 2019-09-23 317
71e3aac0724ffe Andrea Arcangeli 2011-01-13 318 #else /* CONFIG_TRANSPARENT_HUGEPAGE */
d8c37c480678eb Naoya Horiguchi 2012-03-21 @319 #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
d8c37c480678eb Naoya Horiguchi 2012-03-21 320 #define HPAGE_PMD_MASK ({ BUILD_BUG(); 0; })
d8c37c480678eb Naoya Horiguchi 2012-03-21 321 #define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; })
71e3aac0724ffe Andrea Arcangeli 2011-01-13 322
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH 7/7] soc: imx8: Add the SC SECVIO driver
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.8-rc6]
[cannot apply to shawnguo/for-next next-20200720]
[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/franck-lenormand-oss-nxp-com/Add...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
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 >>):
>> drivers/soc/imx/secvio/imx-secvio-sc.c:200:5: warning: no previous prototype for 'int_imx_secvio_sc_check_state' [-Wmissing-prototypes]
200 | int int_imx_secvio_sc_check_state(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/soc/imx/secvio/imx-secvio-sc.c: In function 'int_imx_secvio_sc_disable_irq':
>> drivers/soc/imx/secvio/imx-secvio-sc.c:524:29: warning: variable 'data' set but not used [-Wunused-but-set-variable]
524 | struct imx_secvio_sc_data *data;
| ^~~~
drivers/soc/imx/secvio/imx-secvio-sc.c: At top level:
>> drivers/soc/imx/secvio/imx-secvio-sc.c:630:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
630 | const static struct file_operations imx_secvio_sc_fops = {
| ^~~~~
--
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:45:5: warning: no previous prototype for 'fuse_reader' [-Wmissing-prototypes]
45 | int fuse_reader(struct device *dev, u32 id, u32 *value, u8 mul)
| ^~~~~~~~~~~
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:78:5: warning: no previous prototype for 'snvs_reader' [-Wmissing-prototypes]
78 | int snvs_reader(struct device *dev, u32 id, u32 *value, u8 mul)
| ^~~~~~~~~~~
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:129:5: warning: no previous prototype for 'snvs_dgo_reader' [-Wmissing-prototypes]
129 | int snvs_dgo_reader(struct device *dev, u32 id, u32 *value, u8 mul)
| ^~~~~~~~~~~~~~~
--
>> drivers/soc/imx/secvio/imx-secvio-audit.c:23:5: warning: no previous prototype for 'report_to_audit_notify' [-Wmissing-prototypes]
23 | int report_to_audit_notify(struct notifier_block *nb, unsigned long status,
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/int_imx_secvio_sc_check_state +200 drivers/soc/imx/secvio/imx-secvio-sc.c
189
190 /**
191 * int_imx_secvio_sc_check_state() - Get the state and call chain of notifier
192 * if there is a status
193 *
194 * @dev: secvio device
195 *
196 * Return:
197 * 0 - OK
198 * < 0 - error.
199 */
> 200 int int_imx_secvio_sc_check_state(struct device *dev)
201 {
202 struct secvio_sc_notifier_info info = {0};
203 int ret = 0;
204
205 ret = int_imx_secvio_sc_get_state(dev, &info);
206 if (ret) {
207 dev_err(dev, "Failed to get secvio state\n");
208 goto exit;
209 }
210
211 /* Call chain of CB registered to this module if status detected */
212 if (info.hpsvs || info.lps || info.lptds)
213 if (imx_secvio_sc_notifier_call_chain(&info))
214 dev_warn(dev,
215 "Issues when calling the notifier chain\n");
216
217 exit:
218 return ret;
219 }
220
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[chrome-os:chromeos-5.4 4/4] sound/soc/qcom/sc7180.c:26:5: warning: no previous prototype for 'sc7180_parse_of'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 084d9bb286af924f2d01e7af0b70288cf8b9fac6
commit: 084d9bb286af924f2d01e7af0b70288cf8b9fac6 [4/4] FROMLIST: ASoC: qcom: sc7180: Add machine driver for sound card registration
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-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
git checkout 084d9bb286af924f2d01e7af0b70288cf8b9fac6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
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 >>):
>> sound/soc/qcom/sc7180.c:26:5: warning: no previous prototype for 'sc7180_parse_of' [-Wmissing-prototypes]
26 | int sc7180_parse_of(struct snd_soc_card *card)
| ^~~~~~~~~~~~~~~
vim +/sc7180_parse_of +26 sound/soc/qcom/sc7180.c
25
> 26 int sc7180_parse_of(struct snd_soc_card *card)
27 {
28 struct device_node *np;
29 struct device_node *codec = NULL;
30 struct device_node *platform = NULL;
31 struct device_node *cpu = NULL;
32 struct device *dev = card->dev;
33 struct snd_soc_dai_link *link;
34 struct of_phandle_args args;
35 struct snd_soc_dai_link_component *dlc;
36 int ret, num_links, dir;
37
38 ret = snd_soc_of_parse_card_name(card, "model");
39 if (ret) {
40 dev_err(dev, "Error parsing card name: %d\n", ret);
41 return ret;
42 }
43
44 /* DAPM routes */
45 if (of_property_read_bool(dev->of_node, "audio-routing")) {
46 ret = snd_soc_of_parse_audio_routing(card,
47 "audio-routing");
48 if (ret)
49 return ret;
50 }
51
52 /* Populate links */
53 num_links = of_get_child_count(dev->of_node);
54
55 /* Allocate the DAI link array */
56 card->dai_link = kcalloc(num_links, sizeof(*link), GFP_KERNEL);
57 if (!card->dai_link)
58 return -ENOMEM;
59
60 card->num_links = num_links;
61 link = card->dai_link;
62
63 for_each_child_of_node(dev->of_node, np) {
64 dlc = devm_kzalloc(dev, 2 * sizeof(*dlc), GFP_KERNEL);
65 if (!dlc)
66 return -ENOMEM;
67
68 link->cpus = &dlc[0];
69 link->platforms = &dlc[1];
70
71 link->num_cpus = 1;
72 link->num_platforms = 1;
73
74 ret = of_property_read_string(np, "link-name", &link->name);
75 if (ret) {
76 dev_err(card->dev, "error getting codec dai_link name\n");
77 goto err;
78 }
79
80 of_property_read_u32(np, "unidirectional", &dir);
81 if (dir == 0)
82 link->playback_only = 1;
83 else if (dir == 1)
84 link->capture_only = 1;
85
86 cpu = of_get_child_by_name(np, "cpu");
87 codec = of_get_child_by_name(np, "codec");
88
89 if (!cpu) {
90 dev_err(dev, "%s: Can't find cpu DT node\n",
91 link->name);
92 ret = -EINVAL;
93 goto err;
94 }
95
96 ret = of_parse_phandle_with_args(cpu, "sound-dai",
97 "#sound-dai-cells", 0, &args);
98 if (ret) {
99 dev_err(card->dev, "%s: error getting cpu phandle\n",
100 link->name);
101 goto err;
102 }
103 link->cpus->of_node = args.np;
104 link->id = args.args[0];
105
106 ret = snd_soc_of_get_dai_name(cpu, &link->cpus->dai_name);
107 if (ret) {
108 dev_err(card->dev, "%s: error getting cpu dai name\n",
109 link->name);
110 goto err;
111 }
112
113 if (codec) {
114 ret = snd_soc_of_get_dai_link_codecs(dev, codec, link);
115 if (ret < 0) {
116 dev_err(card->dev, "%s: codec dai not found\n",
117 link->name);
118 goto err;
119 }
120 } else {
121 dlc = devm_kzalloc(dev, sizeof(*dlc), GFP_KERNEL);
122 if (!dlc)
123 return -ENOMEM;
124
125 link->codecs = dlc;
126 link->num_codecs = 1;
127
128 link->codecs->dai_name = "snd-soc-dummy-dai";
129 link->codecs->name = "snd-soc-dummy";
130 }
131
132 link->platforms->of_node = link->cpus->of_node;
133 link->stream_name = link->name;
134 link++;
135
136 of_node_put(cpu);
137 of_node_put(codec);
138 }
139
140 return 0;
141 err:
142 of_node_put(np);
143 of_node_put(cpu);
144 of_node_put(codec);
145 of_node_put(platform);
146 kfree(card->dai_link);
147 return ret;
148 }
149
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v3] powerpc/pseries: Avoid using addr_to_pfn in realmode
by kernel test robot
Hi Ganesh,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on powerpc/next]
[also build test WARNING on v5.8-rc6 next-20200720]
[cannot apply to mpe/next scottwood/next]
[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/Ganesh-Goudar/powerpc-pseries-Av...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
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 >>):
arch/powerpc/platforms/pseries/ras.c:125:12: warning: no previous prototype for 'init_ras_hotplug_IRQ' [-Wmissing-prototypes]
125 | int __init init_ras_hotplug_IRQ(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/ras.c: In function 'ras_epow_interrupt':
arch/powerpc/platforms/pseries/ras.c:319:6: warning: variable 'status' set but not used [-Wunused-but-set-variable]
319 | int status;
| ^~~~~~
arch/powerpc/platforms/pseries/ras.c: In function 'mce_handle_error':
>> arch/powerpc/platforms/pseries/ras.c:723:17: warning: variable 'err_sub_type' set but not used [-Wunused-but-set-variable]
723 | u8 error_type, err_sub_type;
| ^~~~~~~~~~~~
vim +/err_sub_type +723 arch/powerpc/platforms/pseries/ras.c
717
718 static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp)
719 {
720 struct pseries_errorlog *pseries_log;
721 struct pseries_mc_errorlog *mce_log = NULL;
722 int disposition = rtas_error_disposition(errp);
> 723 u8 error_type, err_sub_type;
724
725 if (!rtas_error_extended(errp))
726 goto out;
727
728 pseries_log = get_pseries_errorlog(errp, PSERIES_ELOG_SECT_ID_MCE);
729 if (!pseries_log)
730 goto out;
731
732 mce_log = (struct pseries_mc_errorlog *)pseries_log->data;
733 error_type = mce_log->error_type;
734 err_sub_type = rtas_mc_error_sub_type(mce_log);
735
736 disposition = mce_handle_err_realmode(disposition, error_type);
737
738 /*
739 * Enable translation as we will be accessing per-cpu variables
740 * in save_mce_event() which may fall outside RMO region, also
741 * leave it enabled because subsequently we will be queuing work
742 * to workqueues where again per-cpu variables accessed, besides
743 * fwnmi_release_errinfo() crashes when called in realmode on
744 * pseries.
745 * Note: All the realmode handling like flushing SLB entries for
746 * SLB multihit is done by now.
747 */
748 out:
749 mtmsr(mfmsr() | MSR_IR | MSR_DR);
750 disposition = mce_handle_err_virtmode(regs, errp, mce_log,
751 disposition);
752 return disposition;
753 }
754
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [Patch v1 2/4] dma: tegra: Adding Tegra GPC DMA controller driver
by kernel test robot
Hi Rajesh,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on arm64/for-next/core tegra/for-next linus/master v5.8-rc6 next-20200717]
[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/Rajesh-Gumasta/Add-Nvidia-Tegra-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
drivers/dma/tegra-gpc-dma.c: In function 'tegra_dma_prep_dma_memset':
>> drivers/dma/tegra-gpc-dma.c:870:41: warning: right shift count >= width of type [-Wshift-count-overflow]
870 | sg_req->ch_regs.high_addr_ptr = ((dest >> 32) &
| ^~
drivers/dma/tegra-gpc-dma.c: In function 'tegra_dma_prep_dma_memcpy':
drivers/dma/tegra-gpc-dma.c:964:39: warning: right shift count >= width of type [-Wshift-count-overflow]
964 | sg_req->ch_regs.high_addr_ptr = (src >> 32) &
| ^~
drivers/dma/tegra-gpc-dma.c:966:42: warning: right shift count >= width of type [-Wshift-count-overflow]
966 | sg_req->ch_regs.high_addr_ptr |= ((dest >> 32) &
| ^~
drivers/dma/tegra-gpc-dma.c: In function 'tegra_dma_prep_slave_sg':
drivers/dma/tegra-gpc-dma.c:1095:41: warning: right shift count >= width of type [-Wshift-count-overflow]
1095 | sg_req->ch_regs.high_addr_ptr = (mem >> 32) &
| ^~
drivers/dma/tegra-gpc-dma.c:1100:42: warning: right shift count >= width of type [-Wshift-count-overflow]
1100 | sg_req->ch_regs.high_addr_ptr = ((mem >> 32) &
| ^~
vim +870 drivers/dma/tegra-gpc-dma.c
804
805 static struct dma_async_tx_descriptor *tegra_dma_prep_dma_memset(
806 struct dma_chan *dc, dma_addr_t dest, int value, size_t len,
807 unsigned long flags)
808 {
809 struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc);
810 struct tegra_dma_desc *dma_desc;
811 struct list_head req_list;
812 struct tegra_dma_sg_req *sg_req = NULL;
813 unsigned long csr, mc_seq;
814
815 INIT_LIST_HEAD(&req_list);
816 /* Set dma mode to fixed pattern */
817 csr = TEGRA_GPCDMA_CSR_DMA_FIXED_PAT;
818 /* Enable once or continuous mode */
819 csr |= TEGRA_GPCDMA_CSR_ONCE;
820 /* Enable IRQ mask */
821 csr |= TEGRA_GPCDMA_CSR_IRQ_MASK;
822 /* Enable the dma interrupt */
823 if (flags & DMA_PREP_INTERRUPT)
824 csr |= TEGRA_GPCDMA_CSR_IE_EOC;
825 /* Configure default priority weight for the channel */
826 csr |= (1 << TEGRA_GPCDMA_CSR_WEIGHT_SHIFT);
827
828 mc_seq = tdc_read(tdc, TEGRA_GPCDMA_CHAN_MCSEQ);
829 /* retain stream-id and clean rest */
830 mc_seq &= (TEGRA_GPCDMA_MCSEQ_STREAM_ID_MASK <<
831 TEGRA_GPCDMA_MCSEQ_STREAM_ID0_SHIFT);
832
833 /* Set the address wrapping */
834 mc_seq |= TEGRA_GPCDMA_MCSEQ_WRAP_NONE <<
835 TEGRA_GPCDMA_MCSEQ_WRAP0_SHIFT;
836 mc_seq |= TEGRA_GPCDMA_MCSEQ_WRAP_NONE <<
837 TEGRA_GPCDMA_MCSEQ_WRAP1_SHIFT;
838
839 /* Program outstanding MC requests */
840 mc_seq |= (1 << TEGRA_GPCDMA_MCSEQ_REQ_COUNT_SHIFT);
841 /* Set burst size */
842 mc_seq |= TEGRA_GPCDMA_MCSEQ_BURST_16;
843
844 dma_desc = kzalloc(sizeof(struct tegra_dma_desc), GFP_NOWAIT);
845 if (!dma_desc) {
846 dev_err(tdc2dev(tdc), "Dma descriptors not available\n");
847 return NULL;
848 }
849 dma_desc->bytes_requested = 0;
850 dma_desc->bytes_transferred = 0;
851
852 if ((len & 3) || (dest & 3) ||
853 (len > tdc->tdma->chip_data->max_dma_count)) {
854 dev_err(tdc2dev(tdc),
855 "Dma length/memory address is not supported\n");
856 kfree(dma_desc);
857 return NULL;
858 }
859
860 sg_req = kzalloc(sizeof(struct tegra_dma_sg_req), GFP_NOWAIT);
861 if (!sg_req) {
862 dev_err(tdc2dev(tdc), "Dma sg-req not available\n");
863 kfree(dma_desc);
864 return NULL;
865 }
866
867 dma_desc->bytes_requested += len;
868 sg_req->ch_regs.src_ptr = 0;
869 sg_req->ch_regs.dst_ptr = dest;
> 870 sg_req->ch_regs.high_addr_ptr = ((dest >> 32) &
871 TEGRA_GPCDMA_HIGH_ADDR_DST_PTR_MASK) <<
872 TEGRA_GPCDMA_HIGH_ADDR_DST_PTR_SHIFT;
873 sg_req->ch_regs.fixed_pattern = value;
874 /* Word count reg takes value as (N +1) words */
875 sg_req->ch_regs.wcount = ((len - 4) >> 2);
876 sg_req->ch_regs.csr = csr;
877 sg_req->ch_regs.mmio_seq = 0;
878 sg_req->ch_regs.mc_seq = mc_seq;
879 sg_req->configured = false;
880 sg_req->skipped = false;
881 sg_req->last_sg = false;
882 sg_req->dma_desc = dma_desc;
883 sg_req->req_len = len;
884 sg_req->last_sg = true;
885
886 list_add_tail(&sg_req->node, &tdc->pending_sg_req);
887
888 if (!tdc->isr_handler)
889 tdc->isr_handler = handle_once_dma_done;
890
891 tdc->pending_dma_desc = NULL;
892
893 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
894 }
895
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH bpf-next v3 04/14] xsk: move fill and completion rings to buffer pool
by kernel test robot
Hi Magnus,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Magnus-Karlsson/xsk-support-shar...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: alpha-allmodconfig (attached as .config)
compiler: alpha-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
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 >>):
net/xdp/xsk_diag.c: In function 'xsk_diag_put_stats':
>> net/xdp/xsk_diag.c:88:70: error: 'struct xdp_umem' has no member named 'fq'
88 | du.n_fill_ring_empty = xs->umem ? xskq_nb_queue_empty_descs(xs->umem->fq) : 0;
| ^~
vim +88 net/xdp/xsk_diag.c
a36b38aa2af611 Björn Töpel 2019-01-24 80
0d80cb4612aa32 Ciara Loftus 2020-07-08 81 static int xsk_diag_put_stats(const struct xdp_sock *xs, struct sk_buff *nlskb)
0d80cb4612aa32 Ciara Loftus 2020-07-08 82 {
0d80cb4612aa32 Ciara Loftus 2020-07-08 83 struct xdp_diag_stats du = {};
0d80cb4612aa32 Ciara Loftus 2020-07-08 84
0d80cb4612aa32 Ciara Loftus 2020-07-08 85 du.n_rx_dropped = xs->rx_dropped;
0d80cb4612aa32 Ciara Loftus 2020-07-08 86 du.n_rx_invalid = xskq_nb_invalid_descs(xs->rx);
0d80cb4612aa32 Ciara Loftus 2020-07-08 87 du.n_rx_full = xs->rx_queue_full;
0d80cb4612aa32 Ciara Loftus 2020-07-08 @88 du.n_fill_ring_empty = xs->umem ? xskq_nb_queue_empty_descs(xs->umem->fq) : 0;
0d80cb4612aa32 Ciara Loftus 2020-07-08 89 du.n_tx_invalid = xskq_nb_invalid_descs(xs->tx);
0d80cb4612aa32 Ciara Loftus 2020-07-08 90 du.n_tx_ring_empty = xskq_nb_queue_empty_descs(xs->tx);
0d80cb4612aa32 Ciara Loftus 2020-07-08 91 return nla_put(nlskb, XDP_DIAG_STATS, sizeof(du), &du);
0d80cb4612aa32 Ciara Loftus 2020-07-08 92 }
0d80cb4612aa32 Ciara Loftus 2020-07-08 93
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH bpf-next v4 1/4] bpf: Generalize bpf_sk_storage
by kernel test robot
Hi KP,
I love your patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/KP-Singh/Generalizing-bpf_local_...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: s390-randconfig-s032-20200719 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390
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 >>)
>> kernel/bpf/bpf_local_storage.c:237:16: sparse: sparse: non size-preserving integer to pointer cast
vim +237 kernel/bpf/bpf_local_storage.c
221
222 /* Publish local_storage to the address. This is used because we are already
223 * in a region where we cannot grab a lock on the object owning the storage (
224 * (e.g sk->sk_lock). Hence, atomic ops is used.
225 *
226 * From now on, the addr pointer is protected
227 * by the local_storage->lock. Hence, upon freeing,
228 * the local_storage->lock must be held before unlinking the storage from the
229 * owner.
230 */
231 int bpf_local_storage_publish(struct bpf_local_storage_elem *first_selem,
232 struct bpf_local_storage **addr,
233 struct bpf_local_storage *curr)
234 {
235 struct bpf_local_storage *prev;
236
> 237 prev = cmpxchg(addr, NULL, curr);
238 if (unlikely(prev)) {
239 /* Note that even first_selem was linked to smap's
240 * bucket->list, first_selem can be freed immediately
241 * (instead of kfree_rcu) because
242 * bpf_local_storage_map_free() does a
243 * synchronize_rcu() before walking the bucket->list.
244 * Hence, no one is accessing selem from the
245 * bucket->list under rcu_read_lock().
246 */
247 bpf_selem_unlink_map(first_selem);
248 return -EAGAIN;
249 }
250
251 return 0;
252 }
253
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[brauner:mount_setattr 3/4] ./usr/include/linux/mount.h:124:2: error: unknown type name '__u64'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git mount_setattr
head: 0b737ab8183bc1b6b01253d40d7a04b401de6b6f
commit: aa63af1b08246bd31b77d056bf1d47f775cecbe2 [3/4] fs: add mount_setattr()
config: x86_64-randconfig-s022-20200719 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout aa63af1b08246bd31b77d056bf1d47f775cecbe2
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' 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 >>):
In file included from <command-line>:32:
>> ./usr/include/linux/mount.h:124:2: error: unknown type name '__u64'
124 | __u64 attr_set;
| ^~~~~
./usr/include/linux/mount.h:125:2: error: unknown type name '__u64'
125 | __u64 attr_clr;
| ^~~~~
./usr/include/linux/mount.h:126:2: error: unknown type name '__u64'
126 | __u64 propagation;
| ^~~~~
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-next:master 7985/9127] drivers/scsi/arcmsr/arcmsr_hba.c:1490 arcmsr_done4abort_postqueue() warn: statement has no effect 8
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
commit: 18bc435e0a1de21a5036a03f7a729b15b21d4689 [7985/9127] scsi: arcmsr: Remove some set but unused variables
:::::: branch date: 2 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-m001-20200719 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 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/scsi/arcmsr/arcmsr_hba.c:1490 arcmsr_done4abort_postqueue() warn: statement has no effect 8
drivers/scsi/arcmsr/arcmsr_hba.c:2459 arcmsr_hbaD_postqueue_isr() warn: statement has no effect 8
drivers/scsi/arcmsr/arcmsr_hba.c:3526 arcmsr_hbaD_polling_ccbdone() warn: statement has no effect 8
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update linux-next
git checkout 18bc435e0a1de21a5036a03f7a729b15b21d4689
vim +1490 drivers/scsi/arcmsr/arcmsr_hba.c
1a4f550a09f89e Nick Cheng 2007-09-13 1401 static void arcmsr_done4abort_postqueue(struct AdapterControlBlock *acb)
1a4f550a09f89e Nick Cheng 2007-09-13 1402 {
1a4f550a09f89e Nick Cheng 2007-09-13 1403 int i = 0;
9e386a55e07253 Ching Huang 2018-12-19 1404 uint32_t flag_ccb;
cdd3cb156f190e Nick Cheng 2010-07-13 1405 struct ARCMSR_CDB *pARCMSR_CDB;
cdd3cb156f190e Nick Cheng 2010-07-13 1406 bool error;
cdd3cb156f190e Nick Cheng 2010-07-13 1407 struct CommandControlBlock *pCCB;
18bc435e0a1de2 Lee Jones 2020-07-13 1408 unsigned long ccb_cdb_phy;
9e386a55e07253 Ching Huang 2018-12-19 1409
1a4f550a09f89e Nick Cheng 2007-09-13 1410 switch (acb->adapter_type) {
1a4f550a09f89e Nick Cheng 2007-09-13 1411
1a4f550a09f89e Nick Cheng 2007-09-13 1412 case ACB_ADAPTER_TYPE_A: {
80da1adbbf8805 Al Viro 2007-10-29 1413 struct MessageUnit_A __iomem *reg = acb->pmuA;
1a4f550a09f89e Nick Cheng 2007-09-13 1414 uint32_t outbound_intstatus;
80da1adbbf8805 Al Viro 2007-10-29 1415 outbound_intstatus = readl(®->outbound_intstatus) &
1a4f550a09f89e Nick Cheng 2007-09-13 1416 acb->outbound_int_enable;
1a4f550a09f89e Nick Cheng 2007-09-13 1417 /*clear and abort all outbound posted Q*/
1a4f550a09f89e Nick Cheng 2007-09-13 1418 writel(outbound_intstatus, ®->outbound_intstatus);/*clear interrupt*/
80da1adbbf8805 Al Viro 2007-10-29 1419 while(((flag_ccb = readl(®->outbound_queueport)) != 0xFFFFFFFF)
e4587f455f2724 Ching Huang 2017-12-05 1420 && (i++ < acb->maxOutstanding)) {
9e386a55e07253 Ching Huang 2018-12-19 1421 ccb_cdb_phy = (flag_ccb << 5) & 0xffffffff;
9e386a55e07253 Ching Huang 2018-12-19 1422 if (acb->cdb_phyadd_hipart)
9e386a55e07253 Ching Huang 2018-12-19 1423 ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
9e386a55e07253 Ching Huang 2018-12-19 1424 pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
cdd3cb156f190e Nick Cheng 2010-07-13 1425 pCCB = container_of(pARCMSR_CDB, struct CommandControlBlock, arcmsr_cdb);
cdd3cb156f190e Nick Cheng 2010-07-13 1426 error = (flag_ccb & ARCMSR_CCBREPLY_FLAG_ERROR_MODE0) ? true : false;
cdd3cb156f190e Nick Cheng 2010-07-13 1427 arcmsr_drain_donequeue(acb, pCCB, error);
1a4f550a09f89e Nick Cheng 2007-09-13 1428 }
1a4f550a09f89e Nick Cheng 2007-09-13 1429 }
1a4f550a09f89e Nick Cheng 2007-09-13 1430 break;
1a4f550a09f89e Nick Cheng 2007-09-13 1431
1a4f550a09f89e Nick Cheng 2007-09-13 1432 case ACB_ADAPTER_TYPE_B: {
80da1adbbf8805 Al Viro 2007-10-29 1433 struct MessageUnit_B *reg = acb->pmuB;
1a4f550a09f89e Nick Cheng 2007-09-13 1434 /*clear all outbound posted Q*/
97b991277a9966 NickCheng 2011-01-06 1435 writel(ARCMSR_DOORBELL_INT_CLEAR_PATTERN, reg->iop2drv_doorbell); /* clear doorbell interrupt */
1a4f550a09f89e Nick Cheng 2007-09-13 1436 for (i = 0; i < ARCMSR_MAX_HBB_POSTQUEUE; i++) {
c10b1d544aaaf9 Ching Huang 2014-08-19 1437 flag_ccb = reg->done_qbuffer[i];
c10b1d544aaaf9 Ching Huang 2014-08-19 1438 if (flag_ccb != 0) {
c10b1d544aaaf9 Ching Huang 2014-08-19 1439 reg->done_qbuffer[i] = 0;
e66764f276e9dc Ching Huang 2018-12-19 1440 ccb_cdb_phy = (flag_ccb << 5) & 0xffffffff;
e66764f276e9dc Ching Huang 2018-12-19 1441 if (acb->cdb_phyadd_hipart)
e66764f276e9dc Ching Huang 2018-12-19 1442 ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
e66764f276e9dc Ching Huang 2018-12-19 1443 pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
cdd3cb156f190e Nick Cheng 2010-07-13 1444 pCCB = container_of(pARCMSR_CDB, struct CommandControlBlock, arcmsr_cdb);
cdd3cb156f190e Nick Cheng 2010-07-13 1445 error = (flag_ccb & ARCMSR_CCBREPLY_FLAG_ERROR_MODE0) ? true : false;
cdd3cb156f190e Nick Cheng 2010-07-13 1446 arcmsr_drain_donequeue(acb, pCCB, error);
1a4f550a09f89e Nick Cheng 2007-09-13 1447 }
cdd3cb156f190e Nick Cheng 2010-07-13 1448 reg->post_qbuffer[i] = 0;
1a4f550a09f89e Nick Cheng 2007-09-13 1449 }
1a4f550a09f89e Nick Cheng 2007-09-13 1450 reg->doneq_index = 0;
1a4f550a09f89e Nick Cheng 2007-09-13 1451 reg->postq_index = 0;
1a4f550a09f89e Nick Cheng 2007-09-13 1452 }
1a4f550a09f89e Nick Cheng 2007-09-13 1453 break;
cdd3cb156f190e Nick Cheng 2010-07-13 1454 case ACB_ADAPTER_TYPE_C: {
c10b1d544aaaf9 Ching Huang 2014-08-19 1455 struct MessageUnit_C __iomem *reg = acb->pmuC;
e4587f455f2724 Ching Huang 2017-12-05 1456 while ((readl(®->host_int_status) & ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR) && (i++ < acb->maxOutstanding)) {
cdd3cb156f190e Nick Cheng 2010-07-13 1457 /*need to do*/
cdd3cb156f190e Nick Cheng 2010-07-13 1458 flag_ccb = readl(®->outbound_queueport_low);
cdd3cb156f190e Nick Cheng 2010-07-13 1459 ccb_cdb_phy = (flag_ccb & 0xFFFFFFF0);
c71ec5511b14dc Ching Huang 2018-12-19 1460 if (acb->cdb_phyadd_hipart)
c71ec5511b14dc Ching Huang 2018-12-19 1461 ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
c71ec5511b14dc Ching Huang 2018-12-19 1462 pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
cdd3cb156f190e Nick Cheng 2010-07-13 1463 pCCB = container_of(pARCMSR_CDB, struct CommandControlBlock, arcmsr_cdb);
cdd3cb156f190e Nick Cheng 2010-07-13 1464 error = (flag_ccb & ARCMSR_CCBREPLY_FLAG_ERROR_MODE1) ? true : false;
cdd3cb156f190e Nick Cheng 2010-07-13 1465 arcmsr_drain_donequeue(acb, pCCB, error);
cdd3cb156f190e Nick Cheng 2010-07-13 1466 }
cdd3cb156f190e Nick Cheng 2010-07-13 1467 }
5b37479adee716 Ching Huang 2014-08-19 1468 break;
5b37479adee716 Ching Huang 2014-08-19 1469 case ACB_ADAPTER_TYPE_D: {
5b37479adee716 Ching Huang 2014-08-19 1470 struct MessageUnit_D *pmu = acb->pmuD;
3b8155d582968f Ching Huang 2014-09-15 1471 uint32_t outbound_write_pointer;
3b8155d582968f Ching Huang 2014-09-15 1472 uint32_t doneq_index, index_stripped, addressLow, residual, toggle;
3b8155d582968f Ching Huang 2014-09-15 1473 unsigned long flags;
5b37479adee716 Ching Huang 2014-08-19 1474
5b37479adee716 Ching Huang 2014-08-19 1475 residual = atomic_read(&acb->ccboutstandingcount);
5b37479adee716 Ching Huang 2014-08-19 1476 for (i = 0; i < residual; i++) {
3b8155d582968f Ching Huang 2014-09-15 1477 spin_lock_irqsave(&acb->doneq_lock, flags);
3b8155d582968f Ching Huang 2014-09-15 1478 outbound_write_pointer =
3b8155d582968f Ching Huang 2014-09-15 1479 pmu->done_qbuffer[0].addressLow + 1;
3b8155d582968f Ching Huang 2014-09-15 1480 doneq_index = pmu->doneq_index;
3b8155d582968f Ching Huang 2014-09-15 1481 if ((doneq_index & 0xFFF) !=
5b37479adee716 Ching Huang 2014-08-19 1482 (outbound_write_pointer & 0xFFF)) {
3b8155d582968f Ching Huang 2014-09-15 1483 toggle = doneq_index & 0x4000;
3b8155d582968f Ching Huang 2014-09-15 1484 index_stripped = (doneq_index & 0xFFF) + 1;
3b8155d582968f Ching Huang 2014-09-15 1485 index_stripped %= ARCMSR_MAX_ARC1214_DONEQUEUE;
3b8155d582968f Ching Huang 2014-09-15 1486 pmu->doneq_index = index_stripped ? (index_stripped | toggle) :
3b8155d582968f Ching Huang 2014-09-15 1487 ((toggle ^ 0x4000) + 1);
5b37479adee716 Ching Huang 2014-08-19 1488 doneq_index = pmu->doneq_index;
3b8155d582968f Ching Huang 2014-09-15 1489 spin_unlock_irqrestore(&acb->doneq_lock, flags);
18bc435e0a1de2 Lee Jones 2020-07-13 @1490 pmu->done_qbuffer[doneq_index & 0xFFF].addressHigh;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Delete this line.
5b37479adee716 Ching Huang 2014-08-19 1491 addressLow = pmu->done_qbuffer[doneq_index &
5b37479adee716 Ching Huang 2014-08-19 1492 0xFFF].addressLow;
5b37479adee716 Ching Huang 2014-08-19 1493 ccb_cdb_phy = (addressLow & 0xFFFFFFF0);
a36ade416db782 Ching Huang 2018-12-19 1494 if (acb->cdb_phyadd_hipart)
a36ade416db782 Ching Huang 2018-12-19 1495 ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
5b37479adee716 Ching Huang 2014-08-19 1496 pARCMSR_CDB = (struct ARCMSR_CDB *)
5b37479adee716 Ching Huang 2014-08-19 1497 (acb->vir2phy_offset + ccb_cdb_phy);
5b37479adee716 Ching Huang 2014-08-19 1498 pCCB = container_of(pARCMSR_CDB,
5b37479adee716 Ching Huang 2014-08-19 1499 struct CommandControlBlock, arcmsr_cdb);
5b37479adee716 Ching Huang 2014-08-19 1500 error = (addressLow &
5b37479adee716 Ching Huang 2014-08-19 1501 ARCMSR_CCBREPLY_FLAG_ERROR_MODE1) ?
5b37479adee716 Ching Huang 2014-08-19 1502 true : false;
5b37479adee716 Ching Huang 2014-08-19 1503 arcmsr_drain_donequeue(acb, pCCB, error);
5b37479adee716 Ching Huang 2014-08-19 1504 writel(doneq_index,
5b37479adee716 Ching Huang 2014-08-19 1505 pmu->outboundlist_read_pointer);
3b8155d582968f Ching Huang 2014-09-15 1506 } else {
3b8155d582968f Ching Huang 2014-09-15 1507 spin_unlock_irqrestore(&acb->doneq_lock, flags);
5b37479adee716 Ching Huang 2014-08-19 1508 mdelay(10);
3b8155d582968f Ching Huang 2014-09-15 1509 }
5b37479adee716 Ching Huang 2014-08-19 1510 }
5b37479adee716 Ching Huang 2014-08-19 1511 pmu->postq_index = 0;
5b37479adee716 Ching Huang 2014-08-19 1512 pmu->doneq_index = 0x40FF;
5b37479adee716 Ching Huang 2014-08-19 1513 }
5b37479adee716 Ching Huang 2014-08-19 1514 break;
235090241c55e9 Ching Huang 2017-12-05 1515 case ACB_ADAPTER_TYPE_E:
235090241c55e9 Ching Huang 2017-12-05 1516 arcmsr_hbaE_postqueue_isr(acb);
235090241c55e9 Ching Huang 2017-12-05 1517 break;
1a4f550a09f89e Nick Cheng 2007-09-13 1518 }
1a4f550a09f89e Nick Cheng 2007-09-13 1519 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months