Re: [PATCH 1/2] irqchip: imx-intmux: add system PM support
by kernel test robot
Hi Joakim,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/irq/core]
[also build test ERROR on linux/master linus/master v5.8-rc5 next-20200716]
[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/Joakim-Zhang/irqchip-imx-intmux-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 8fa88a88d573093868565a1afba43b5ae5b3a316
config: c6x-randconfig-r011-20200717 (attached as .config)
compiler: c6x-elf-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=c6x
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/irqchip/irq-imx-intmux.c: In function 'imx_intmux_probe':
>> drivers/irqchip/irq-imx-intmux.c:240:7: error: 'struct intmux_data' has no member named 'saved_reg'
240 | data->saved_reg = devm_kzalloc(&pdev->dev,
| ^~
drivers/irqchip/irq-imx-intmux.c:243:12: error: 'struct intmux_data' has no member named 'saved_reg'
243 | if (!data->saved_reg)
| ^~
At top level:
drivers/irqchip/irq-imx-intmux.c:351:32: warning: 'imx_intmux_pm_ops' defined but not used [-Wunused-const-variable=]
351 | static const struct dev_pm_ops imx_intmux_pm_ops = {
| ^~~~~~~~~~~~~~~~~
vim +240 drivers/irqchip/irq-imx-intmux.c
198
199 static int imx_intmux_probe(struct platform_device *pdev)
200 {
201 struct device_node *np = pdev->dev.of_node;
202 struct irq_domain *domain;
203 struct intmux_data *data;
204 int channum;
205 int i, ret;
206
207 channum = platform_irq_count(pdev);
208 if (channum == -EPROBE_DEFER) {
209 return -EPROBE_DEFER;
210 } else if (channum > CHAN_MAX_NUM) {
211 dev_err(&pdev->dev, "supports up to %d multiplex channels\n",
212 CHAN_MAX_NUM);
213 return -EINVAL;
214 }
215
216 data = devm_kzalloc(&pdev->dev, sizeof(*data) +
217 channum * sizeof(data->irqchip_data[0]), GFP_KERNEL);
218 if (!data)
219 return -ENOMEM;
220
221 data->regs = devm_platform_ioremap_resource(pdev, 0);
222 if (IS_ERR(data->regs)) {
223 dev_err(&pdev->dev, "failed to initialize reg\n");
224 return PTR_ERR(data->regs);
225 }
226
227 data->ipg_clk = devm_clk_get(&pdev->dev, "ipg");
228 if (IS_ERR(data->ipg_clk)) {
229 ret = PTR_ERR(data->ipg_clk);
230 if (ret != -EPROBE_DEFER)
231 dev_err(&pdev->dev, "failed to get ipg clk: %d\n", ret);
232 return ret;
233 }
234
235 data->channum = channum;
236 raw_spin_lock_init(&data->lock);
237
238 if (IS_ENABLED(CONFIG_PM)) {
239 /* save CHANIER register */
> 240 data->saved_reg = devm_kzalloc(&pdev->dev,
241 sizeof(unsigned int) * channum,
242 GFP_KERNEL);
243 if (!data->saved_reg)
244 return -ENOMEM;
245 }
246
247 ret = clk_prepare_enable(data->ipg_clk);
248 if (ret) {
249 dev_err(&pdev->dev, "failed to enable ipg clk: %d\n", ret);
250 return ret;
251 }
252
253 for (i = 0; i < channum; i++) {
254 data->irqchip_data[i].chanidx = i;
255
256 data->irqchip_data[i].irq = irq_of_parse_and_map(np, i);
257 if (data->irqchip_data[i].irq <= 0) {
258 ret = -EINVAL;
259 dev_err(&pdev->dev, "failed to get irq\n");
260 goto out;
261 }
262
263 domain = irq_domain_add_linear(np, 32, &imx_intmux_domain_ops,
264 &data->irqchip_data[i]);
265 if (!domain) {
266 ret = -ENOMEM;
267 dev_err(&pdev->dev, "failed to create IRQ domain\n");
268 goto out;
269 }
270 data->irqchip_data[i].domain = domain;
271
272 /* disable all interrupt sources of this channel firstly */
273 writel_relaxed(0, data->regs + CHANIER(i));
274
275 irq_set_chained_handler_and_data(data->irqchip_data[i].irq,
276 imx_intmux_irq_handler,
277 &data->irqchip_data[i]);
278 }
279
280 platform_set_drvdata(pdev, data);
281
282 return 0;
283 out:
284 clk_disable_unprepare(data->ipg_clk);
285 return ret;
286 }
287
---
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 net-next 1/2] hinic: add support to handle hw abnormal event
by kernel test robot
Hi Luo,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Luo-bin/hinic-add-some-error-mes...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 59632b220f2d61df274ed3a14a204e941051fdad
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 >>):
In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:9:
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c: In function 'mgmt_watchdog_timeout_event_handler':
>> drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:794:36: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'unsigned int' [-Wformat=]
794 | dev_err(&hwdev->hwif->pdev->dev, "Invalid mgmt watchdog report, length: %d, should be %ld\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:794:3: note: in expansion of macro 'dev_err'
794 | dev_err(&hwdev->hwif->pdev->dev, "Invalid mgmt watchdog report, length: %d, should be %ld\n",
| ^~~~~~~
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:794:91: note: format string is defined here
794 | dev_err(&hwdev->hwif->pdev->dev, "Invalid mgmt watchdog report, length: %d, should be %ld\n",
| ~~^
| |
| long int
| %d
vim +794 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
782
783 static void mgmt_watchdog_timeout_event_handler(void *dev,
784 void *buf_in, u16 in_size,
785 void *buf_out, u16 *out_size)
786 {
787 struct hinic_mgmt_watchdog_info *watchdog_info = NULL;
788 struct hinic_hwdev *hwdev = dev;
789 u32 *dump_addr = NULL;
790 u32 stack_len, i, j;
791 u32 *reg = NULL;
792
793 if (in_size != sizeof(*watchdog_info)) {
> 794 dev_err(&hwdev->hwif->pdev->dev, "Invalid mgmt watchdog report, length: %d, should be %ld\n",
795 in_size, sizeof(*watchdog_info));
796 return;
797 }
798
799 watchdog_info = buf_in;
800
801 dev_err(&hwdev->hwif->pdev->dev, "Mgmt deadloop time: 0x%x 0x%x, task id: 0x%x, sp: 0x%x\n",
802 watchdog_info->curr_time_h, watchdog_info->curr_time_l,
803 watchdog_info->task_id, watchdog_info->sp);
804 dev_err(&hwdev->hwif->pdev->dev, "Stack current used: 0x%x, peak used: 0x%x, overflow flag: 0x%x, top: 0x%x, bottom: 0x%x\n",
805 watchdog_info->curr_used, watchdog_info->peak_used,
806 watchdog_info->is_overflow, watchdog_info->stack_top,
807 watchdog_info->stack_bottom);
808
809 dev_err(&hwdev->hwif->pdev->dev, "Mgmt pc: 0x%08x, lr: 0x%08x, cpsr:0x%08x\n",
810 watchdog_info->pc, watchdog_info->lr, watchdog_info->cpsr);
811
812 dev_err(&hwdev->hwif->pdev->dev, "Mgmt register info\n");
813
814 for (i = 0; i < 3; i++) {
815 reg = watchdog_info->reg + (u64)(u32)(4 * i);
816 dev_err(&hwdev->hwif->pdev->dev, "0x%08x 0x%08x 0x%08x 0x%08x\n",
817 *(reg), *(reg + 1), *(reg + 2), *(reg + 3));
818 }
819
820 dev_err(&hwdev->hwif->pdev->dev, "0x%08x\n", watchdog_info->reg[12]);
821
822 if (watchdog_info->stack_actlen <= 1024) {
823 stack_len = watchdog_info->stack_actlen;
824 } else {
825 dev_err(&hwdev->hwif->pdev->dev, "Oops stack length: 0x%x is wrong\n",
826 watchdog_info->stack_actlen);
827 stack_len = 1024;
828 }
829
830 dev_err(&hwdev->hwif->pdev->dev, "Mgmt dump stack, 16Bytes per line(start from sp)\n");
831 for (i = 0; i < (stack_len / 16); i++) {
832 dump_addr = (u32 *)(watchdog_info->data + ((u64)(u32)(i * 16)));
833 dev_err(&hwdev->hwif->pdev->dev, "0x%08x 0x%08x 0x%08x 0x%08x\n",
834 *dump_addr, *(dump_addr + 1), *(dump_addr + 2),
835 *(dump_addr + 3));
836 }
837
838 for (j = 0; j < ((stack_len % 16) / 4); j++) {
839 dump_addr = (u32 *)(watchdog_info->data +
840 ((u64)(u32)(i * 16 + j * 4)));
841 dev_err(&hwdev->hwif->pdev->dev, "0x%08x ", *dump_addr);
842 }
843
844 *out_size = sizeof(*watchdog_info);
845 watchdog_info = buf_out;
846 watchdog_info->status = 0;
847 }
848
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[lpieralisi-pci:pci/dwc 13/13] drivers/pci/controller/dwc/pci-keystone.c:1236:18: warning: variable 'res' is uninitialized when used here
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git pci/dwc
head: c59a7d771134b52ec346ecf0d4483fd6bb6473a1
commit: c59a7d771134b52ec346ecf0d4483fd6bb6473a1 [13/13] PCI: dwc: Convert to devm_platform_ioremap_resource_byname()
config: arm64-randconfig-r014-20200717 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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
git checkout c59a7d771134b52ec346ecf0d4483fd6bb6473a1
# 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 warnings (new ones prefixed by >>):
>> drivers/pci/controller/dwc/pci-keystone.c:1236:18: warning: variable 'res' is uninitialized when used here [-Wuninitialized]
ks_pcie->app = *res;
^~~
drivers/pci/controller/dwc/pci-keystone.c:1201:22: note: initialize the variable 'res' to silence this warning
struct resource *res;
^
= NULL
1 warning generated.
vim +/res +1236 drivers/pci/controller/dwc/pci-keystone.c
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1186
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1187 static int __init ks_pcie_probe(struct platform_device *pdev)
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1188 {
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1189 const struct dw_pcie_host_ops *host_ops;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1190 const struct dw_pcie_ep_ops *ep_ops;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1191 struct device *dev = &pdev->dev;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1192 struct device_node *np = dev->of_node;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1193 const struct ks_pcie_of_data *data;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1194 const struct of_device_id *match;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1195 enum dw_pcie_device_mode mode;
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1196 struct dw_pcie *pci;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1197 struct keystone_pcie *ks_pcie;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1198 struct device_link **link;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1199 struct gpio_desc *gpiod;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1200 void __iomem *atu_base;
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1201 struct resource *res;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1202 unsigned int version;
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1203 void __iomem *base;
b4f1af8352fda6 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1204 u32 num_viewport;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1205 struct phy **phy;
fbb2de891cc4d6 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1206 int link_speed;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1207 u32 num_lanes;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1208 char name[10];
1e9f8dcf892ddb drivers/pci/host/pci-keystone.c Murali Karicheri 2016-04-11 1209 int ret;
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1210 int irq;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1211 int i;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1212
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1213 match = of_match_device(of_match_ptr(ks_pcie_of_match), dev);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1214 data = (struct ks_pcie_of_data *)match->data;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1215 if (!data)
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1216 return -EINVAL;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1217
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1218 version = data->version;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1219 host_ops = data->host_ops;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1220 ep_ops = data->ep_ops;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1221 mode = data->mode;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1222
21fa0c51f02fcf drivers/pci/host/pci-keystone.c Bjorn Helgaas 2016-10-11 1223 ks_pcie = devm_kzalloc(dev, sizeof(*ks_pcie), GFP_KERNEL);
6670070742991c drivers/pci/host/pci-keystone.c Jingoo Han 2014-11-12 1224 if (!ks_pcie)
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1225 return -ENOMEM;
6670070742991c drivers/pci/host/pci-keystone.c Jingoo Han 2014-11-12 1226
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1227 pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1228 if (!pci)
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1229 return -ENOMEM;
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1230
c59a7d771134b5 drivers/pci/controller/dwc/pci-keystone.c Dejin Zheng 2020-07-09 1231 ks_pcie->va_app_base =
c59a7d771134b5 drivers/pci/controller/dwc/pci-keystone.c Dejin Zheng 2020-07-09 1232 devm_platform_ioremap_resource_byname(pdev, "app");
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1233 if (IS_ERR(ks_pcie->va_app_base))
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1234 return PTR_ERR(ks_pcie->va_app_base);
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1235
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 @1236 ks_pcie->app = *res;
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1237
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1238 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbics");
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1239 base = devm_pci_remap_cfg_resource(dev, res);
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1240 if (IS_ERR(base))
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1241 return PTR_ERR(base);
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1242
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1243 if (of_device_is_compatible(np, "ti,am654-pcie-rc"))
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1244 ks_pcie->is_am6 = true;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1245
b1dee41b769277 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1246 pci->dbi_base = base;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1247 pci->dbi_base2 = base;
442ec4c04d1235 drivers/pci/dwc/pci-keystone.c Kishon Vijay Abraham I 2017-02-15 1248 pci->dev = dev;
a1cabd2b42fd77 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1249 pci->ops = &ks_pcie_dw_pcie_ops;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1250 pci->version = version;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1251
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1252 irq = platform_get_irq(pdev, 0);
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1253 if (irq < 0) {
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1254 dev_err(dev, "missing IRQ resource: %d\n", irq);
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1255 return irq;
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1256 }
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1257
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1258 ret = request_irq(irq, ks_pcie_err_irq_handler, IRQF_SHARED,
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1259 "ks-pcie-error-irq", ks_pcie);
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1260 if (ret < 0) {
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1261 dev_err(dev, "failed to request error IRQ %d\n",
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1262 irq);
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1263 return ret;
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1264 }
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1265
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1266 ret = of_property_read_u32(np, "num-lanes", &num_lanes);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1267 if (ret)
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1268 num_lanes = 1;
c0464062bfea9c drivers/pci/dwc/pci-keystone.c Guenter Roeck 2017-02-25 1269
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1270 phy = devm_kzalloc(dev, sizeof(*phy) * num_lanes, GFP_KERNEL);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1271 if (!phy)
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1272 return -ENOMEM;
25de15c958e987 drivers/pci/host/pci-keystone.c Shawn Lin 2016-03-07 1273
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1274 link = devm_kzalloc(dev, sizeof(*link) * num_lanes, GFP_KERNEL);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1275 if (!link)
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1276 return -ENOMEM;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1277
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1278 for (i = 0; i < num_lanes; i++) {
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1279 snprintf(name, sizeof(name), "pcie-phy%d", i);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1280 phy[i] = devm_phy_optional_get(dev, name);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1281 if (IS_ERR(phy[i])) {
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1282 ret = PTR_ERR(phy[i]);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1283 goto err_link;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1284 }
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1285
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1286 if (!phy[i])
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1287 continue;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1288
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1289 link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1290 if (!link[i]) {
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1291 ret = -EINVAL;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1292 goto err_link;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1293 }
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1294 }
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1295
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1296 ks_pcie->np = np;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1297 ks_pcie->pci = pci;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1298 ks_pcie->link = link;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1299 ks_pcie->num_lanes = num_lanes;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1300 ks_pcie->phy = phy;
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1301
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1302 gpiod = devm_gpiod_get_optional(dev, "reset",
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1303 GPIOD_OUT_LOW);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1304 if (IS_ERR(gpiod)) {
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1305 ret = PTR_ERR(gpiod);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1306 if (ret != -EPROBE_DEFER)
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1307 dev_err(dev, "Failed to get reset GPIO\n");
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1308 goto err_link;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1309 }
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1310
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1311 ret = ks_pcie_enable_phy(ks_pcie);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1312 if (ret) {
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1313 dev_err(dev, "failed to enable phy\n");
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1314 goto err_link;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1315 }
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1316
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1317 platform_set_drvdata(pdev, ks_pcie);
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1318 pm_runtime_enable(dev);
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1319 ret = pm_runtime_get_sync(dev);
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1320 if (ret < 0) {
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1321 dev_err(dev, "pm_runtime_get_sync failed\n");
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1322 goto err_get_sync;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1323 }
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1324
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1325 if (pci->version >= 0x480A) {
c59a7d771134b5 drivers/pci/controller/dwc/pci-keystone.c Dejin Zheng 2020-07-09 1326 atu_base = devm_platform_ioremap_resource_byname(pdev, "atu");
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1327 if (IS_ERR(atu_base)) {
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1328 ret = PTR_ERR(atu_base);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1329 goto err_get_sync;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1330 }
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1331
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1332 pci->atu_base = atu_base;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1333
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1334 ret = ks_pcie_am654_set_mode(dev, mode);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1335 if (ret < 0)
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1336 goto err_get_sync;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1337 } else {
156c6fef75a41b drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1338 ret = ks_pcie_set_mode(dev);
156c6fef75a41b drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1339 if (ret < 0)
156c6fef75a41b drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1340 goto err_get_sync;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1341 }
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1342
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1343 link_speed = of_pci_get_max_link_speed(np);
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1344 if (link_speed < 0)
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1345 link_speed = 2;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1346
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1347 ks_pcie_set_link_speed(pci, link_speed);
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1348
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1349 switch (mode) {
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1350 case DW_PCIE_RC_TYPE:
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1351 if (!IS_ENABLED(CONFIG_PCI_KEYSTONE_HOST)) {
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1352 ret = -ENODEV;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1353 goto err_get_sync;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1354 }
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1355
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1356 ret = of_property_read_u32(np, "num-viewport", &num_viewport);
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1357 if (ret < 0) {
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1358 dev_err(dev, "unable to read *num-viewport* property\n");
b0de922af53eed drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2020-01-21 1359 goto err_get_sync;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1360 }
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1361
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1362 /*
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1363 * "Power Sequencing and Reset Signal Timings" table in
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1364 * PCI EXPRESS CARD ELECTROMECHANICAL SPECIFICATION, REV. 2.0
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1365 * indicates PERST# should be deasserted after minimum of 100us
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1366 * once REFCLK is stable. The REFCLK to the connector in RC
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1367 * mode is selected while enabling the PHY. So deassert PERST#
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1368 * after 100 us.
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1369 */
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1370 if (gpiod) {
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1371 usleep_range(100, 200);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1372 gpiod_set_value_cansleep(gpiod, 1);
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1373 }
156c6fef75a41b drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1374
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1375 ks_pcie->num_viewport = num_viewport;
18b0415bc802a8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1376 pci->pp.ops = host_ops;
a1cabd2b42fd77 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1377 ret = ks_pcie_add_pcie_port(ks_pcie, pdev);
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1378 if (ret < 0)
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1379 goto err_get_sync;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1380 break;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1381 case DW_PCIE_EP_TYPE:
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1382 if (!IS_ENABLED(CONFIG_PCI_KEYSTONE_EP)) {
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1383 ret = -ENODEV;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1384 goto err_get_sync;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1385 }
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1386
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1387 pci->ep.ops = ep_ops;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1388 ret = ks_pcie_add_pcie_ep(ks_pcie, pdev);
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1389 if (ret < 0)
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1390 goto err_get_sync;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1391 break;
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1392 default:
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1393 dev_err(dev, "INVALID device type %d\n", mode);
23284ad677a94f drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1394 }
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1395
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1396 ks_pcie_enable_error_irq(ks_pcie);
0790eb175ee0d8 drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2019-03-25 1397
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1398 return 0;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1399
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1400 err_get_sync:
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1401 pm_runtime_put(dev);
8047eb55129aba drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1402 pm_runtime_disable(dev);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1403 ks_pcie_disable_phy(ks_pcie);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1404
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1405 err_link:
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1406 while (--i >= 0 && link[i])
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1407 device_link_del(link[i]);
49229238ab47fa drivers/pci/controller/dwc/pci-keystone.c Kishon Vijay Abraham I 2018-10-17 1408
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1409 return ret;
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1410 }
0c4ffcfe1fbc1e drivers/pci/host/pci-keystone.c Murali Karicheri 2014-09-02 1411
:::::: The code at line 1236 was first introduced by commit
:::::: b1dee41b76927747c1c63c5196ce9eaec6d0e81a PCI: keystone: Move resources initialization to prepare for EP support
:::::: TO: Kishon Vijay Abraham I <kishon(a)ti.com>
:::::: CC: Lorenzo Pieralisi <lorenzo.pieralisi(a)arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
arch/mips/ralink/bootrom.c:17:22: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: mips-randconfig-s031-20200717 (attached as .config)
compiler: mipsel-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
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=mips
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 >>)
>> arch/mips/ralink/bootrom.c:17:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *data @@ got void [noderef] __iomem *static [toplevel] membase @@
arch/mips/ralink/bootrom.c:17:22: sparse: expected void const *data
>> arch/mips/ralink/bootrom.c:17:22: sparse: got void [noderef] __iomem *static [toplevel] membase
vim +17 arch/mips/ralink/bootrom.c
7a1a44c909fcb4 John Crispin 2013-05-21 14
7a1a44c909fcb4 John Crispin 2013-05-21 15 static int bootrom_show(struct seq_file *s, void *unused)
7a1a44c909fcb4 John Crispin 2013-05-21 16 {
7a1a44c909fcb4 John Crispin 2013-05-21 @17 seq_write(s, membase, BOOTROM_SIZE);
7a1a44c909fcb4 John Crispin 2013-05-21 18
7a1a44c909fcb4 John Crispin 2013-05-21 19 return 0;
7a1a44c909fcb4 John Crispin 2013-05-21 20 }
7a1a44c909fcb4 John Crispin 2013-05-21 21
:::::: The code at line 17 was first introduced by commit
:::::: 7a1a44c909fcb4707b01448a28490d7be366b530 MIPS: ralink: add a bootrom dumper module
:::::: TO: John Crispin <blogic(a)openwrt.org>
:::::: CC: Ralf Baechle <ralf(a)linux-mips.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/net/wireless/cisco/airo.c:2420:43: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: openrisc-randconfig-s032-20200717 (attached as .config)
compiler: or1k-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
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=openrisc
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/net/wireless/cisco/airo.c:3879:35: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:3879:35: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:3879:35: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:2050:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] status @@ got unsigned short [usertype] status @@
drivers/net/wireless/cisco/airo.c:2050:24: sparse: expected restricted __le16 [usertype] status
drivers/net/wireless/cisco/airo.c:2050:24: sparse: got unsigned short [usertype] status
>> drivers/net/wireless/cisco/airo.c:2420:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pcimem @@
drivers/net/wireless/cisco/airo.c:2420:43: sparse: expected void *addr
>> drivers/net/wireless/cisco/airo.c:2420:43: sparse: got unsigned char [noderef] __iomem *pcimem
>> drivers/net/wireless/cisco/airo.c:2422:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pciaux @@
drivers/net/wireless/cisco/airo.c:2422:43: sparse: expected void *addr
>> drivers/net/wireless/cisco/airo.c:2422:43: sparse: got unsigned char [noderef] __iomem *pciaux
drivers/net/wireless/cisco/airo.c:2638:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pciaux @@
drivers/net/wireless/cisco/airo.c:2638:19: sparse: expected void *addr
drivers/net/wireless/cisco/airo.c:2638:19: sparse: got unsigned char [noderef] __iomem *pciaux
drivers/net/wireless/cisco/airo.c:2640:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pcimem @@
drivers/net/wireless/cisco/airo.c:2640:19: sparse: expected void *addr
drivers/net/wireless/cisco/airo.c:2640:19: sparse: got unsigned char [noderef] __iomem *pcimem
drivers/net/wireless/cisco/airo.c:2923:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pciaux @@
drivers/net/wireless/cisco/airo.c:2923:27: sparse: expected void *addr
drivers/net/wireless/cisco/airo.c:2923:27: sparse: got unsigned char [noderef] __iomem *pciaux
drivers/net/wireless/cisco/airo.c:2924:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got unsigned char [noderef] __iomem *pcimem @@
drivers/net/wireless/cisco/airo.c:2924:27: sparse: expected void *addr
drivers/net/wireless/cisco/airo.c:2924:27: sparse: got unsigned char [noderef] __iomem *pcimem
drivers/net/wireless/cisco/airo.c:3250:18: sparse: sparse: cast to restricted __le16
drivers/net/wireless/cisco/airo.c:3250:18: sparse: sparse: cast to restricted __le16
drivers/net/wireless/cisco/airo.c:3250:18: sparse: sparse: cast to restricted __le16
drivers/net/wireless/cisco/airo.c:3250:18: sparse: sparse: cast to restricted __le16
drivers/net/wireless/cisco/airo.c:4889:51: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:4889:51: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:4889:51: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:4892:51: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:4892:51: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:4892:51: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:4895:51: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:4895:51: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:4895:51: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6363:46: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6363:46: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6363:46: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6383:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6383:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6383:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6385:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6385:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6385:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6387:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6387:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6387:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6543:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6543:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6543:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6545:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6545:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6545:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6547:38: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6547:38: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6547:38: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6652:54: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6652:54: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6652:54: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6654:46: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6654:46: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6654:46: sparse: got restricted __le16 [usertype]
drivers/net/wireless/cisco/airo.c:6664:54: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int auth_type @@ got restricted __le16 [usertype] @@
drivers/net/wireless/cisco/airo.c:6664:54: sparse: expected int auth_type
drivers/net/wireless/cisco/airo.c:6664:54: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
drivers/net/wireless/cisco/airo.c:3801:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3801:52: sparse: sparse: restricted __le16 degrades to integer
drivers/net/wireless/cisco/airo.c:3797:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] authType @@ got int auth_type @@
drivers/net/wireless/cisco/airo.c:3797:32: sparse: expected restricted __le16 [usertype] authType
drivers/net/wireless/cisco/airo.c:3797:32: sparse: got int auth_type
--
>> drivers/net/can/cc770/cc770_platform.c:226:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *[assigned] base @@
drivers/net/can/cc770/cc770_platform.c:226:17: sparse: expected void *addr
>> drivers/net/can/cc770/cc770_platform.c:226:17: sparse: got void [noderef] __iomem *[assigned] base
>> drivers/net/can/cc770/cc770_platform.c:240:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *reg_base @@
drivers/net/can/cc770/cc770_platform.c:240:21: sparse: expected void *addr
>> drivers/net/can/cc770/cc770_platform.c:240:21: sparse: got void [noderef] __iomem *reg_base
--
>> net/atm/mpoa_proc.c:223:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/atm/mpoa_proc.c:223:21: sparse: expected char const *__gu_addr
>> net/atm/mpoa_proc.c:223:21: sparse: got char const [noderef] __user *
vim +2420 drivers/net/wireless/cisco/airo.c
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2381
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2382 void stop_airo_card( struct net_device *dev, int freeres )
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2383 {
faf3994a9f65fd drivers/net/wireless/airo.c Wang Chen 2008-10-14 2384 struct airo_info *ai = dev->ml_priv;
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2385
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2386 set_bit(FLAG_RADIO_DOWN, &ai->flags);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2387 disable_MAC(ai, 1);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2388 disable_interrupts(ai);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2389 takedown_proc_entry( dev, ai );
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2390 if (test_bit(FLAG_REGISTERED, &ai->flags)) {
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2391 unregister_netdev( dev );
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2392 if (ai->wifidev) {
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2393 unregister_netdev(ai->wifidev);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2394 free_netdev(ai->wifidev);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2395 ai->wifidev = NULL;
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2396 }
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2397 clear_bit(FLAG_REGISTERED, &ai->flags);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2398 }
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2399 /*
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2400 * Clean out tx queue
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2401 */
b03efcfb218028 drivers/net/wireless/airo.c David S. Miller 2005-07-08 2402 if (test_bit(FLAG_MPI, &ai->flags) && !skb_queue_empty(&ai->txq)) {
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2403 struct sk_buff *skb = NULL;
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2404 for (;(skb = skb_dequeue(&ai->txq));)
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2405 dev_kfree_skb(skb);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2406 }
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2407
9e75af30d529d5 drivers/net/wireless/airo.c Dan Williams 2006-03-16 2408 airo_networks_free (ai);
9e75af30d529d5 drivers/net/wireless/airo.c Dan Williams 2006-03-16 2409
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2410 kfree(ai->flash);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2411 kfree(ai->rssi);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2412 kfree(ai->SSID);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2413 if (freeres) {
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2414 /* PCMCIA frees this stuff, so only for PCI and ISA */
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2415 release_region( dev->base_addr, 64 );
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2416 if (test_bit(FLAG_MPI, &ai->flags)) {
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2417 if (ai->pci)
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2418 mpi_unmap_card(ai->pci);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2419 if (ai->pcimem)
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 @2420 iounmap(ai->pcimem);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2421 if (ai->pciaux)
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 @2422 iounmap(ai->pciaux);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2423 pci_free_consistent(ai->pci, PCI_SHARED_LEN,
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2424 ai->shared, ai->shared_dma);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2425 }
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2426 }
e5db0ad7563c38 drivers/net/wireless/cisco/airo.c Ard Biesheuvel 2019-06-17 2427 crypto_free_sync_skcipher(ai->tfm);
af5b5c9aa92ced drivers/net/wireless/airo.c Michal Schmidt 2007-03-16 2428 del_airo_dev(ai);
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2429 free_netdev( dev );
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2430 }
^1da177e4c3f41 drivers/net/wireless/airo.c Linus Torvalds 2005-04-16 2431
:::::: The code at line 2420 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[rhvgoyal:virtiofs-dax-5.8 10/20] fs/fuse/inode.c:632:14: warning: variable 'phys_addr' set but not used
by kernel test robot
tree: https://github.com/rhvgoyal/linux virtiofs-dax-5.8
head: b779919ca8c764c6664523cba2f8dc7fdb4b29d8
commit: 2166ed84f03139e5d48f07fc7de570c9188cbff9 [10/20] fuse,virtiofs: Keep a list of free dax memory ranges
config: microblaze-randconfig-r012-20200717 (attached as .config)
compiler: microblaze-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 2166ed84f03139e5d48f07fc7de570c9188cbff9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
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 >>):
fs/fuse/inode.c: In function 'fuse_dax_mem_range_init':
>> fs/fuse/inode.c:632:14: warning: variable 'phys_addr' set but not used [-Wunused-but-set-variable]
632 | phys_addr_t phys_addr;
| ^~~~~~~~~
vim +/phys_addr +632 fs/fuse/inode.c
622
623 #ifdef CONFIG_FS_DAX
624 static int fuse_dax_mem_range_init(struct fuse_conn *fc,
625 struct dax_device *dax_dev)
626 {
627 long nr_pages, nr_ranges;
628 void *kaddr;
629 pfn_t pfn;
630 struct fuse_dax_mapping *range;
631 LIST_HEAD(mem_ranges);
> 632 phys_addr_t phys_addr;
633 int ret = 0, id;
634 size_t dax_size = -1;
635 unsigned long i;
636
637 id = dax_read_lock();
638 nr_pages = dax_direct_access(dax_dev, 0, PHYS_PFN(dax_size), &kaddr,
639 &pfn);
640 dax_read_unlock(id);
641 if (nr_pages < 0) {
642 pr_debug("dax_direct_access() returned %ld\n", nr_pages);
643 return nr_pages;
644 }
645
646 phys_addr = pfn_t_to_phys(pfn);
647 nr_ranges = nr_pages/FUSE_DAX_MEM_RANGE_PAGES;
648 printk("fuse_dax_mem_range_init(): dax mapped %ld pages. nr_ranges=%ld\n", nr_pages, nr_ranges);
649
650 for (i = 0; i < nr_ranges; i++) {
651 range = kzalloc(sizeof(struct fuse_dax_mapping), GFP_KERNEL);
652 if (!range) {
653 pr_debug("memory allocation for mem_range failed.\n");
654 ret = -ENOMEM;
655 goto out_err;
656 }
657 /* TODO: This offset only works if virtio-fs driver is not
658 * having some memory hidden at the beginning. This needs
659 * better handling
660 */
661 range->window_offset = i * FUSE_DAX_MEM_RANGE_SZ;
662 range->length = FUSE_DAX_MEM_RANGE_SZ;
663 list_add_tail(&range->list, &mem_ranges);
664 }
665
666 list_replace_init(&mem_ranges, &fc->free_ranges);
667 fc->nr_free_ranges = nr_ranges;
668 return 0;
669 out_err:
670 /* Free All allocated elements */
671 fuse_free_dax_mem_ranges(&mem_ranges);
672 return ret;
673 }
674 #else /* !CONFIG_FS_DAX */
675 static inline int fuse_dax_mem_range_init(struct fuse_conn *fc,
676 struct dax_device *dax_dev)
677 {
678 return 0;
679 }
680 #endif /* CONFIG_FS_DAX */
681
---
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 v4 3/7] vmalloc: Add text_alloc() and text_free()
by kernel test robot
Hi Jarkko,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on jeyu/modules-next v5.8-rc5 next-20200716]
[cannot apply to tip/x86/core tip/perf/core]
[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/Jarkko-Sakkinen/arch-x86-kprobes...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 07a56bb875afbe39dabbf6ba7b83783d166863db
config: sparc-randconfig-s031-20200717 (attached as .config)
compiler: sparc64-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=sparc
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 arch/sparc/include/asm/page.h:10,
from arch/sparc/include/asm/string_32.h:13,
from arch/sparc/include/asm/string.h:7,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from arch/sparc/include/asm/smp_32.h:15,
from arch/sparc/include/asm/smp.h:7,
from arch/sparc/include/asm/switch_to_32.h:5,
from arch/sparc/include/asm/switch_to.h:7,
from arch/sparc/include/asm/ptrace.h:120,
from arch/sparc/include/asm/thread_info_32.h:19,
from arch/sparc/include/asm/thread_info.h:7,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/sparc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:16,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/mmzone.h:1317:29: error: expected identifier or '(' before 'unsigned'
1317 | static inline int pfn_valid(unsigned long pfn)
| ^~~~~~~~
arch/sparc/include/asm/page_32.h:133:28: note: in definition of macro 'pfn_valid'
133 | #define pfn_valid(pfn) (((pfn) >= (pfn_base)) && (((pfn)-(pfn_base)) < max_mapnr))
| ^~~
>> arch/sparc/include/asm/page_32.h:133:33: error: expected ')' before '>=' token
133 | #define pfn_valid(pfn) (((pfn) >= (pfn_base)) && (((pfn)-(pfn_base)) < max_mapnr))
| ^~
include/linux/mmzone.h:1317:19: note: in expansion of macro 'pfn_valid'
1317 | static inline int pfn_valid(unsigned long pfn)
| ^~~~~~~~~
arch/sparc/include/asm/page_32.h:133:48: error: expected ')' before '&&' token
133 | #define pfn_valid(pfn) (((pfn) >= (pfn_base)) && (((pfn)-(pfn_base)) < max_mapnr))
| ^~
include/linux/mmzone.h:1317:19: note: in expansion of macro 'pfn_valid'
1317 | static inline int pfn_valid(unsigned long pfn)
| ^~~~~~~~~
In file included from include/linux/page-flags-layout.h:28,
from include/linux/mmzone.h:19,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/mmzone.h: In function 'pfn_in_present_section':
>> arch/sparc/include/asm/sparsemem.h:11:33: error: 'MAX_PHYS_ADDRESS_BITS' undeclared (first use in this function); did you mean 'MAX_PHYSADDR_BITS'?
11 | #define MAX_PHYSMEM_BITS MAX_PHYS_ADDRESS_BITS
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/page-flags-layout.h:31:25: note: in expansion of macro 'MAX_PHYSMEM_BITS'
31 | #define SECTIONS_SHIFT (MAX_PHYSMEM_BITS - SECTION_SIZE_BITS)
| ^~~~~~~~~~~~~~~~
include/linux/mmzone.h:1104:34: note: in expansion of macro 'SECTIONS_SHIFT'
1104 | #define NR_MEM_SECTIONS (1UL << SECTIONS_SHIFT)
| ^~~~~~~~~~~~~~
include/linux/mmzone.h:1336:32: note: in expansion of macro 'NR_MEM_SECTIONS'
1336 | if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS)
| ^~~~~~~~~~~~~~~
arch/sparc/include/asm/sparsemem.h:11:33: note: each undeclared identifier is reported only once for each function it appears in
11 | #define MAX_PHYSMEM_BITS MAX_PHYS_ADDRESS_BITS
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/page-flags-layout.h:31:25: note: in expansion of macro 'MAX_PHYSMEM_BITS'
31 | #define SECTIONS_SHIFT (MAX_PHYSMEM_BITS - SECTION_SIZE_BITS)
| ^~~~~~~~~~~~~~~~
include/linux/mmzone.h:1104:34: note: in expansion of macro 'SECTIONS_SHIFT'
1104 | #define NR_MEM_SECTIONS (1UL << SECTIONS_SHIFT)
| ^~~~~~~~~~~~~~
include/linux/mmzone.h:1336:32: note: in expansion of macro 'NR_MEM_SECTIONS'
1336 | if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS)
| ^~~~~~~~~~~~~~~
In file included from include/linux/local_lock.h:5,
from include/linux/radix-tree.h:19,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/local_lock_internal.h: In function 'local_lock_acquire':
>> include/linux/local_lock_internal.h:41:13: error: 'current' undeclared (first use in this function)
41 | l->owner = current;
| ^~~~~~~
In file included from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/local_lock_internal.h: In function 'local_lock_release':
include/linux/local_lock_internal.h:46:34: error: 'current' undeclared (first use in this function)
46 | DEBUG_LOCKS_WARN_ON(l->owner != current);
| ^~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/local_lock_internal.h:46:2: note: in expansion of macro 'DEBUG_LOCKS_WARN_ON'
46 | DEBUG_LOCKS_WARN_ON(l->owner != current);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/sched/signal.h:7,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/sched.h: In function 'is_percpu_thread':
>> include/linux/sched.h:1552:10: error: 'current' undeclared (first use in this function)
1552 | return (current->flags & PF_NO_SETAFFINITY) &&
| ^~~~~~~
include/linux/sched.h: In function 'current_restore_flags':
include/linux/sched.h:1613:2: error: 'current' undeclared (first use in this function)
1613 | current->flags &= ~flags;
| ^~~~~~~
In file included from arch/sparc/include/asm/uaccess.h:7,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
arch/sparc/include/asm/uaccess_32.h: In function 'clear_user':
>> arch/sparc/include/asm/uaccess_32.h:28:19: error: 'current' undeclared (first use in this function)
28 | #define get_fs() (current->thread.current_ds)
| ^~~~~~~
arch/sparc/include/asm/uaccess_32.h:38:49: note: in definition of macro '__user_ok'
38 | #define __user_ok(addr, size) ({ (void)(size); (addr) < STACK_TOP; })
| ^~~~
arch/sparc/include/asm/uaccess_32.h:40:53: note: in expansion of macro 'get_fs'
40 | #define __access_ok(addr, size) (__user_ok((addr) & get_fs().seg, (size)))
| ^~~~~~
arch/sparc/include/asm/uaccess_32.h:273:11: note: in expansion of macro '__access_ok'
273 | if (n && __access_ok((unsigned long) addr, n))
| ^~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/uaccess.h: In function '_copy_from_user':
>> arch/sparc/include/asm/uaccess_32.h:28:19: error: 'current' undeclared (first use in this function)
28 | #define get_fs() (current->thread.current_ds)
| ^~~~~~~
include/linux/compiler.h:77:40: note: in definition of macro 'likely'
77 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
arch/sparc/include/asm/uaccess_32.h:40:34: note: in expansion of macro '__user_ok'
40 | #define __access_ok(addr, size) (__user_ok((addr) & get_fs().seg, (size)))
| ^~~~~~~~~
arch/sparc/include/asm/uaccess_32.h:40:53: note: in expansion of macro 'get_fs'
40 | #define __access_ok(addr, size) (__user_ok((addr) & get_fs().seg, (size)))
| ^~~~~~
arch/sparc/include/asm/uaccess_32.h:41:31: note: in expansion of macro '__access_ok'
41 | #define access_ok(addr, size) __access_ok((unsigned long)(addr), size)
| ^~~~~~~~~~~
include/linux/uaccess.h:111:13: note: in expansion of macro 'access_ok'
111 | if (likely(access_ok(from, n))) {
| ^~~~~~~~~
In file included from arch/sparc/include/asm/uaccess.h:7,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/uaccess.h: In function '_copy_to_user':
>> arch/sparc/include/asm/uaccess_32.h:28:19: error: 'current' undeclared (first use in this function)
28 | #define get_fs() (current->thread.current_ds)
| ^~~~~~~
arch/sparc/include/asm/uaccess_32.h:38:49: note: in definition of macro '__user_ok'
38 | #define __user_ok(addr, size) ({ (void)(size); (addr) < STACK_TOP; })
| ^~~~
arch/sparc/include/asm/uaccess_32.h:40:53: note: in expansion of macro 'get_fs'
40 | #define __access_ok(addr, size) (__user_ok((addr) & get_fs().seg, (size)))
| ^~~~~~
arch/sparc/include/asm/uaccess_32.h:41:31: note: in expansion of macro '__access_ok'
41 | #define access_ok(addr, size) __access_ok((unsigned long)(addr), size)
| ^~~~~~~~~~~
include/linux/uaccess.h:129:6: note: in expansion of macro 'access_ok'
129 | if (access_ok(to, n)) {
| ^~~~~~~~~
include/linux/uaccess.h: In function 'copy_in_user':
>> arch/sparc/include/asm/uaccess_32.h:28:19: error: 'current' undeclared (first use in this function)
28 | #define get_fs() (current->thread.current_ds)
| ^~~~~~~
arch/sparc/include/asm/uaccess_32.h:38:49: note: in definition of macro '__user_ok'
38 | #define __user_ok(addr, size) ({ (void)(size); (addr) < STACK_TOP; })
| ^~~~
arch/sparc/include/asm/uaccess_32.h:40:53: note: in expansion of macro 'get_fs'
40 | #define __access_ok(addr, size) (__user_ok((addr) & get_fs().seg, (size)))
| ^~~~~~
arch/sparc/include/asm/uaccess_32.h:41:31: note: in expansion of macro '__access_ok'
41 | #define access_ok(addr, size) __access_ok((unsigned long)(addr), size)
| ^~~~~~~~~~~
include/linux/uaccess.h:160:6: note: in expansion of macro 'access_ok'
160 | if (access_ok(to, n) && access_ok(from, n))
| ^~~~~~~~~
In file included from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/uaccess.h:161:7: error: implicit declaration of function 'raw_copy_in_user'; did you mean 'raw_copy_to_user'? [-Werror=implicit-function-declaration]
161 | n = raw_copy_in_user(to, from, n);
| ^~~~~~~~~~~~~~~~
| raw_copy_to_user
include/linux/uaccess.h: In function 'pagefault_disabled_inc':
>> include/linux/uaccess.h:168:2: error: 'current' undeclared (first use in this function)
168 | current->pagefault_disabled++;
| ^~~~~~~
include/linux/uaccess.h: In function 'pagefault_disabled_dec':
include/linux/uaccess.h:173:2: error: 'current' undeclared (first use in this function)
173 | current->pagefault_disabled--;
| ^~~~~~~
include/linux/uaccess.h: In function 'pagefault_disabled':
include/linux/uaccess.h:208:9: error: 'current' undeclared (first use in this function)
208 | return current->pagefault_disabled != 0;
| ^~~~~~~
In file included from include/linux/kernel.h:15,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/ratelimit.h: In function 'ratelimit_state_exit':
>> include/linux/ratelimit.h:63:4: error: 'current' undeclared (first use in this function)
63 | current->comm, rs->missed);
| ^~~~~~~
include/linux/printk.h:348:37: note: in definition of macro 'pr_warn'
348 | printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
In file included from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/sched/signal.h: In function 'kernel_dequeue_signal':
>> include/linux/sched/signal.h:280:29: error: 'current' undeclared (first use in this function)
280 | struct task_struct *task = current;
| ^~~~~~~
include/linux/sched/signal.h: In function 'kernel_signal_stop':
include/linux/sched/signal.h:293:17: error: 'current' undeclared (first use in this function)
293 | spin_lock_irq(¤t->sighand->siglock);
| ^~~~~~~
include/linux/sched/signal.h: In function 'restart_syscall':
include/linux/sched/signal.h:352:22: error: 'current' undeclared (first use in this function)
352 | set_tsk_thread_flag(current, TIF_SIGPENDING);
| ^~~~~~~
In file included from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/sched/signal.h: In function 'fault_signal_pending':
include/linux/sched/signal.h:391:26: error: 'current' undeclared (first use in this function)
391 | (fatal_signal_pending(current) ||
| ^~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/sched/signal.h: In function 'restore_saved_sigmask':
include/linux/sched/signal.h:497:26: error: 'current' undeclared (first use in this function)
497 | __set_current_blocked(¤t->saved_sigmask);
| ^~~~~~~
include/linux/sched/signal.h: In function 'sigmask_to_save':
include/linux/sched/signal.h:512:19: error: 'current' undeclared (first use in this function)
512 | sigset_t *res = ¤t->blocked;
| ^~~~~~~
include/linux/sched/signal.h: In function 'on_sig_stack':
include/linux/sched/signal.h:541:6: error: 'current' undeclared (first use in this function)
541 | if (current->sas_ss_flags & SS_AUTODISARM)
| ^~~~~~~
include/linux/sched/signal.h: In function 'sas_ss_flags':
include/linux/sched/signal.h:555:7: error: 'current' undeclared (first use in this function)
555 | if (!current->sas_ss_size)
| ^~~~~~~
include/linux/sched/signal.h: In function 'sigsp':
include/linux/sched/signal.h:574:10: error: 'current' undeclared (first use in this function)
574 | return current->sas_ss_sp + current->sas_ss_size;
| ^~~~~~~
include/linux/sched/signal.h: In function 'rlimit':
include/linux/sched/signal.h:710:21: error: 'current' undeclared (first use in this function)
710 | return task_rlimit(current, limit);
| ^~~~~~~
include/linux/sched/signal.h: In function 'rlimit_max':
include/linux/sched/signal.h:715:25: error: 'current' undeclared (first use in this function)
715 | return task_rlimit_max(current, limit);
| ^~~~~~~
In file included from include/linux/rbtree.h:22,
from include/linux/vmalloc.h:10,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/rcuwait.h: In function 'prepare_to_rcuwait':
>> include/linux/rcuwait.h:47:30: error: 'current' undeclared (first use in this function)
47 | rcu_assign_pointer(w->task, current);
| ^~~~~~~
include/linux/rcupdate.h:409:36: note: in definition of macro 'rcu_assign_pointer'
409 | uintptr_t _r_a_p__v = (uintptr_t)(v); \
| ^
In file included from include/linux/sched/signal.h:7,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/rcuwait.h: In function 'finish_rcuwait':
include/linux/sched.h:133:3: error: 'current' undeclared (first use in this function)
133 | current->task_state_change = _THIS_IP_; \
| ^~~~~~~
include/linux/rcuwait.h:53:2: note: in expansion of macro '__set_current_state'
53 | __set_current_state(TASK_RUNNING);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/fs.h:38,
from include/linux/proc_fs.h:10,
from arch/sparc/include/asm/prom.h:18,
from include/linux/of.h:250,
from arch/sparc/include/asm/openprom.h:15,
from arch/sparc/include/asm/oplib_32.h:12,
from arch/sparc/include/asm/oplib.h:7,
from arch/sparc/include/asm/pgtable_32.h:32,
from arch/sparc/include/asm/pgtable.h:7,
from arch/sparc/include/asm/viking.h:13,
from arch/sparc/include/asm/mbus.h:12,
from arch/sparc/include/asm/elf_32.h:94,
from arch/sparc/include/asm/elf.h:7,
from include/linux/elf.h:6,
from include/linux/module.h:18,
from include/linux/moduleloader.h:6,
from include/linux/vmalloc.h:12,
from include/asm-generic/io.h:911,
from arch/sparc/include/asm/io_32.h:14,
from arch/sparc/include/asm/io.h:7,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:18,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/ioprio.h: In function 'get_current_ioprio':
>> include/linux/ioprio.h:79:27: error: 'current' undeclared (first use in this function)
79 | struct io_context *ioc = current->io_context;
| ^~~~~~~
In file included from arch/sparc/include/asm/page_32.h:136,
from arch/sparc/include/asm/page.h:10,
from arch/sparc/include/asm/string_32.h:13,
from arch/sparc/include/asm/string.h:7,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from arch/sparc/include/asm/smp_32.h:15,
from arch/sparc/include/asm/smp.h:7,
from arch/sparc/include/asm/switch_to_32.h:5,
from arch/sparc/include/asm/switch_to.h:7,
from arch/sparc/include/asm/ptrace.h:120,
from arch/sparc/include/asm/thread_info_32.h:19,
from arch/sparc/include/asm/thread_info.h:7,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/sparc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:16,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
arch/sparc/include/asm/pgtable_32.h: In function 'pmd_page':
include/asm-generic/memory_model.h:54:29: error: 'vmemmap' undeclared (first use in this function); did you mean 'mem_map'?
54 | #define __pfn_to_page(pfn) (vmemmap + (pfn))
| ^~~~~~~
include/asm-generic/memory_model.h:82:21: note: in expansion of macro '__pfn_to_page'
82 | #define pfn_to_page __pfn_to_page
| ^~~~~~~~~~~~~
arch/sparc/include/asm/pgtable_32.h:135:9: note: in expansion of macro 'pfn_to_page'
135 | return pfn_to_page((pmd_val(pmd) & SRMMU_PTD_PMASK) >> (PAGE_SHIFT-4));
| ^~~~~~~~~~~
In file included from arch/sparc/include/asm/page.h:10,
from arch/sparc/include/asm/string_32.h:13,
from arch/sparc/include/asm/string.h:7,
from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from arch/sparc/include/asm/smp_32.h:15,
from arch/sparc/include/asm/smp.h:7,
from arch/sparc/include/asm/switch_to_32.h:5,
from arch/sparc/include/asm/switch_to.h:7,
from arch/sparc/include/asm/ptrace.h:120,
from arch/sparc/include/asm/thread_info_32.h:19,
from arch/sparc/include/asm/thread_info.h:7,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/sparc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:16,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
arch/sparc/include/asm/pgtable_32.h: In function 'mk_pte':
include/asm-generic/memory_model.h:55:54: error: 'vmemmap' undeclared (first use in this function); did you mean 'mem_map'?
55 | #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
| ^~~~~~~
arch/sparc/include/asm/page_32.h:99:19: note: in definition of macro '__pte'
99 | #define __pte(x) (x)
| ^
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
arch/sparc/include/asm/pgtable_32.h:297:16: note: in expansion of macro 'page_to_pfn'
297 | return __pte((page_to_pfn(page) << (PAGE_SHIFT-4)) | pgprot_val(pgprot));
| ^~~~~~~~~~~
In file included from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
arch/sparc/vdso/vdso32/../vclock_gettime.c: At top level:
arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes]
254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts)
| ^~~~~~~~~~~~~~~~~~~~
arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes]
282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes]
307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
| ^~~~~~~~~~~~~~~~~~~
arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes]
343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1317 include/linux/mmzone.h
f46edbd1b1516d Dan Williams 2019-07-18 1315
7b7bf499f79de3 Will Deacon 2011-05-19 1316 #ifndef CONFIG_HAVE_ARCH_PFN_VALID
d41dee369bff3b Andy Whitcroft 2005-06-23 @1317 static inline int pfn_valid(unsigned long pfn)
d41dee369bff3b Andy Whitcroft 2005-06-23 1318 {
f46edbd1b1516d Dan Williams 2019-07-18 1319 struct mem_section *ms;
f46edbd1b1516d Dan Williams 2019-07-18 1320
d41dee369bff3b Andy Whitcroft 2005-06-23 1321 if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS)
d41dee369bff3b Andy Whitcroft 2005-06-23 1322 return 0;
f46edbd1b1516d Dan Williams 2019-07-18 1323 ms = __nr_to_section(pfn_to_section_nr(pfn));
f46edbd1b1516d Dan Williams 2019-07-18 1324 if (!valid_section(ms))
f46edbd1b1516d Dan Williams 2019-07-18 1325 return 0;
f46edbd1b1516d Dan Williams 2019-07-18 1326 /*
f46edbd1b1516d Dan Williams 2019-07-18 1327 * Traditionally early sections always returned pfn_valid() for
f46edbd1b1516d Dan Williams 2019-07-18 1328 * the entire section-sized span.
f46edbd1b1516d Dan Williams 2019-07-18 1329 */
f46edbd1b1516d Dan Williams 2019-07-18 1330 return early_section(ms) || pfn_section_valid(ms, pfn);
d41dee369bff3b Andy Whitcroft 2005-06-23 1331 }
7b7bf499f79de3 Will Deacon 2011-05-19 1332 #endif
d41dee369bff3b Andy Whitcroft 2005-06-23 1333
---
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 v4 3/7] vmalloc: Add text_alloc() and text_free()
by kernel test robot
Hi Jarkko,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.8-rc5 next-20200716]
[cannot apply to tip/x86/core tip/perf/core]
[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/Jarkko-Sakkinen/arch-x86-kprobes...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 07a56bb875afbe39dabbf6ba7b83783d166863db
config: ia64-allmodconfig (attached as .config)
compiler: ia64-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=ia64
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 >>):
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
Selected by
- FAULT_INJECTION_STACKTRACE_FILTER && FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT && !X86_64 && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
scripts/Makefile.build:65: 'arch/ia64/kernel/palinfo.ko' 'arch/ia64/kernel/mca_recovery.ko' 'arch/ia64/kernel/err_inject.ko' will not be built even though obj-m is specified.
scripts/Makefile.build:66: You cannot use subdir-y/m to visit a module Makefile. Use obj-y/m instead.
In file included from include/asm-generic/percpu.h:7,
from arch/ia64/include/asm/percpu.h:46,
from arch/ia64/include/asm/processor.h:76,
from arch/ia64/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/ia64/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/sched/signal.h:5,
from arch/ia64/kernel/asm-offsets.c:10:
include/linux/topology.h: In function 'cpu_smt_mask':
>> arch/ia64/include/asm/topology.h:45:50: error: 'cpu_sibling_map' undeclared (first use in this function)
45 | #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
| ^~~~~~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu = (typeof((ptr) + 0))NULL; | ^~~
include/linux/percpu-defs.h:269:29: note: in expansion of macro 'per_cpu_ptr'
269 | #define per_cpu(var, cpu) cpu))
| ^~~~~~~~~~~
arch/ia64/include/asm/topology.h:45:42: note: in expansion of macro 'per_cpu'
45 | #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
| ^~~~~~~
include/linux/topology.h:204:9: note: in expansion of macro 'topology_sibling_cpumask'
204 | return topology_sibling_cpumask(cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/topology.h:45:50: note: each undeclared identifier is reported only once for each function it appears in
45 | #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
| ^~~~~~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu = (typeof((ptr) + 0))NULL; | ^~~
include/linux/percpu-defs.h:269:29: note: in expansion of macro 'per_cpu_ptr'
269 | #define per_cpu(var, cpu) cpu))
| ^~~~~~~~~~~
arch/ia64/include/asm/topology.h:45:42: note: in expansion of macro 'per_cpu'
45 | #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
| ^~~~~~~
include/linux/topology.h:204:9: note: in expansion of macro 'topology_sibling_cpumask'
204 | return topology_sibling_cpumask(cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/ia64/kernel/asm-offsets.c: At top level:
arch/ia64/kernel/asm-offsets.c:23:6: warning: no previous prototype for 'foo'
23 | void foo(void)
| ^~~
Makefile arch block certs crypto drivers fs include init ipc kernel lib mm net scripts security sound source usr virt [scripts/Makefile.build:114: arch/ia64/kernel/asm-offsets.s] Error 1
Target '__build' not remade because of errors.
Makefile arch block certs crypto drivers fs include init ipc kernel lib mm net scripts security sound source usr virt [Makefile:1175: prepare0] Error 2
Target 'prepare' not remade because of errors.
make: Makefile arch block certs crypto drivers fs include init ipc kernel lib mm net scripts security sound source usr virt [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/cpu_sibling_map +45 arch/ia64/include/asm/topology.h
^1da177e4c3f41 include/asm-ia64/topology.h Linus Torvalds 2005-04-16 40
69dcc99199fe29 include/asm-ia64/topology.h Zhang, Yanmin 2006-02-03 41 #ifdef CONFIG_SMP
69dcc99199fe29 include/asm-ia64/topology.h Zhang, Yanmin 2006-02-03 42 #define topology_physical_package_id(cpu) (cpu_data(cpu)->socket_id)
69dcc99199fe29 include/asm-ia64/topology.h Zhang, Yanmin 2006-02-03 43 #define topology_core_id(cpu) (cpu_data(cpu)->core_id)
333af15341b2f6 arch/ia64/include/asm/topology.h Rusty Russell 2009-01-01 44 #define topology_core_cpumask(cpu) (&cpu_core_map[cpu])
06931e62246844 arch/ia64/include/asm/topology.h Bartosz Golaszewski 2015-05-26 @45 #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
69dcc99199fe29 include/asm-ia64/topology.h Zhang, Yanmin 2006-02-03 46 #endif
69dcc99199fe29 include/asm-ia64/topology.h Zhang, Yanmin 2006-02-03 47
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [RFC PATCH 1/5] keys: Move permissions checking decisions into the checking code
by kernel test robot
Hi David,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on cifs/for-next]
[also build test WARNING on dm/for-next linus/master v5.8-rc5 next-20200716]
[cannot apply to security/next-testing pcmoore-selinux/next ecryptfs/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/David-Howells/keys-Security-chan...
base: git://git.samba.org/sfrench/cifs-2.6.git for-next
config: i386-randconfig-r013-20200717 (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 >>):
security/selinux/hooks.c: In function 'selinux_keyperm_to_av':
>> security/selinux/hooks.c:6548:7: warning: variable 'sysadmin_can_override' set but not used [-Wunused-but-set-variable]
6548 | bool sysadmin_can_override = false;
| ^~~~~~~~~~~~~~~~~~~~~
vim +/sysadmin_can_override +6548 security/selinux/hooks.c
6532
6533 /*
6534 * Convert the requested KEY_NEED_* permit into an SELinux KEY__* permission.
6535 *
6536 * flags may also convey override flags such as
6537 * KEY_PERMISSION_USED_AUTH/SYSADMIN_OVERRIDE to indicate when the main
6538 * permission check overrode the permissions on the key.
6539 *
6540 * Returns the perms to check for in *_perm and *_perm2. If either perm is
6541 * present, then the operation is allowed.
6542 */
6543 static int selinux_keyperm_to_av(struct key *key, const struct cred *cred,
6544 unsigned int need_perm, unsigned int flags,
6545 u32 *_perm, u32 *_perm2)
6546 {
6547 bool auth_can_override = false; /* See KEYCTL_ASSUME_AUTHORITY */
> 6548 bool sysadmin_can_override = false;
6549
6550 switch (need_perm) {
6551 case KEY_NEED_ASSUME_AUTHORITY:
6552 return 0;
6553
6554 case KEY_NEED_DESCRIBE:
6555 case KEY_NEED_GET_SECURITY:
6556 *_perm = KEY__VIEW;
6557 auth_can_override = true;
6558 break;
6559
6560 case KEY_NEED_CHOWN:
6561 case KEY_NEED_SETPERM:
6562 case KEY_NEED_SET_RESTRICTION:
6563 *_perm = KEY__SETATTR;
6564 break;
6565
6566 case KEY_NEED_INSTANTIATE:
6567 auth_can_override = true;
6568 break;
6569
6570 case KEY_NEED_INVALIDATE:
6571 *_perm = KEY__SEARCH;
6572 if (test_bit(KEY_FLAG_ROOT_CAN_INVAL, &key->flags))
6573 sysadmin_can_override = true;
6574 break;
6575
6576 case KEY_NEED_JOIN:
6577 case KEY_NEED_LINK:
6578 *_perm = KEY__LINK;
6579 break;
6580
6581 case KEY_NEED_KEYRING_ADD:
6582 case KEY_NEED_KEYRING_DELETE:
6583 *_perm = KEY__WRITE;
6584 break;
6585
6586 case KEY_NEED_KEYRING_CLEAR:
6587 *_perm = KEY__WRITE;
6588 if (test_bit(KEY_FLAG_ROOT_CAN_CLEAR, &key->flags))
6589 sysadmin_can_override = true;
6590 break;
6591
6592 case KEY_NEED_READ:
6593 *_perm = KEY__READ;
6594 break;
6595
6596 case KEY_NEED_REVOKE:
6597 *_perm = KEY__SETATTR;
6598 *_perm2 = KEY__WRITE;
6599 break;
6600
6601 case KEY_NEED_SEARCH:
6602 *_perm = KEY__SEARCH;
6603 break;
6604
6605 case KEY_NEED_SET_TIMEOUT:
6606 *_perm = KEY__SETATTR;
6607 auth_can_override = true;
6608 break;
6609
6610 case KEY_NEED_UNLINK:
6611 return 0; /* Mustn't prevent this; KEY_FLAG_KEEP is already
6612 * dealt with. */
6613
6614 case KEY_NEED_UPDATE:
6615 *_perm = KEY__WRITE;
6616 break;
6617
6618 case KEY_NEED_USE:
6619 *_perm = KEY__READ;
6620 *_perm2 = KEY__SEARCH;
6621 break;
6622
6623 case KEY_NEED_WATCH:
6624 *_perm = KEY__VIEW;
6625 break;
6626
6627 default:
6628 WARN_ON(1);
6629 return -EPERM;
6630 }
6631
6632 /* Just allow the operation if the process has an authorisation token.
6633 * The presence of the token means that the kernel delegated
6634 * instantiation of a key to the process - which is problematic if we
6635 * then say that the process isn't allowed to get the description of
6636 * the key or actually instantiate it.
6637 */
6638 if (auth_can_override && cred->request_key_auth) {
6639 struct request_key_auth *rka =
6640 cred->request_key_auth->payload.data[0];
6641 if (rka->target_key == key)
6642 *_perm = 0;
6643 }
6644
6645 return 0;
6646 }
6647
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/tty/serial/ucc_uart.c:286:6: warning: no previous prototype for 'qe_uart_set_mctrl'
by kernel test robot
Hi Rasmus,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 5a35435ef4e6e4bd2aabd6706b146b298a9cffe5 soc: fsl: qe: remove PPC32 dependency from CONFIG_QUICC_ENGINE
date: 7 months ago
config: c6x-randconfig-r011-20200717 (attached as .config)
compiler: c6x-elf-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 5a35435ef4e6e4bd2aabd6706b146b298a9cffe5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=c6x
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/tty/serial/ucc_uart.c:286:6: warning: no previous prototype for 'qe_uart_set_mctrl' [-Wmissing-prototypes]
286 | void qe_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
| ^~~~~~~~~~~~~~~~~
vim +/qe_uart_set_mctrl +286 drivers/tty/serial/ucc_uart.c
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 278
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 279 /*
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 280 * Set the modem control lines
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 281 *
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 282 * Although the QE can control the modem control lines (e.g. CTS), we
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 283 * don't need that support. This function must exist, however, otherwise
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 284 * the kernel will panic.
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 285 */
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 @286 void qe_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 287 {
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 288 }
d7584ed2b994a5 drivers/serial/ucc_uart.c Timur Tabi 2008-01-15 289
:::::: The code at line 286 was first introduced by commit
:::::: d7584ed2b994a572326650b0c4d2c25961e6f49d [POWERPC] qe-uart: add support for Freescale QUICCEngine UART
:::::: TO: Timur Tabi <timur(a)freescale.com>
:::::: CC: Kumar Gala <galak(a)kernel.crashing.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months