[kbuild] [vireshk-pm:opp/linux-next 4/11] drivers/opp/of.c:662:7-14: ERROR: reference preceded by free on line 625
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/linux-next
head: f4111e2e1ae16a32002ba348a18a59691fcedec3
commit: 0f438abc246a03c0c7a212738329f87000a9e527 [4/11] OPP: Add support for parsing interconnect bandwidth
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
coccinelle warnings: (new ones prefixed by >>)
>> drivers/opp/of.c:662:7-14: ERROR: reference preceded by free on line 625
# https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git/commit/?id...
git remote add vireshk-pm https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git
git remote update vireshk-pm
git checkout 0f438abc246a03c0c7a212738329f87000a9e527
vim +662 drivers/opp/of.c
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 580 static int _read_opp_key(struct dev_pm_opp *new_opp, struct device_node *np,
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 581 bool *rate_not_available)
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 582 {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 583 struct property *peak, *avg;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 584 u32 *peak_bw, *avg_bw;
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 585 u64 rate;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 586 int ret, i, count;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 587 bool found = false;
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 588
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 589 ret = of_property_read_u64(np, "opp-hz", &rate);
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 590 if (!ret) {
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 591 /*
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 592 * Rate is defined as an unsigned long in clk API, and so
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 593 * casting explicitly to its type. Must be fixed once rate is 64
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 594 * bit guaranteed in clk API.
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 595 */
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 596 new_opp->rate = (unsigned long)rate;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 597 found = true;
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 598 }
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 599 *rate_not_available = !!ret;
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 600
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 601 peak = of_find_property(np, "opp-peak-kBps", NULL);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 602 if (peak) {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 603 /*
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 604 * Bandwidth consists of peak and average (optional) values:
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 605 * opp-peak-kBps = <path1_value path2_value>;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 606 * opp-avg-kBps = <path1_value path2_value>;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 607 */
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 608 count = peak->length / sizeof(u32);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 609 peak_bw = kmalloc_array(count, sizeof(*peak_bw), GFP_KERNEL);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 610 if (!peak_bw)
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 611 return -ENOMEM;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 612
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 613 ret = of_property_read_u32_array(np, "opp-peak-kBps", peak_bw,
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 614 count);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 615 if (ret) {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 616 pr_err("%s: Error parsing opp-peak-kBps: %d\n",
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 617 __func__, ret);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 618 goto free_peak_bw;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 619 }
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 620
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 621 for (i = 0; i < count; i++)
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 622 new_opp->bandwidth[i].peak = kBps_to_icc(peak_bw[i]);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 623
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 624 found = true;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 @625 kfree(peak_bw);
^^^^^^^^^^^^^
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 626 }
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 627
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 628 avg = of_find_property(np, "opp-avg-kBps", NULL);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 629 if (peak && avg) {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 630 count = avg->length / sizeof(u32);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 631 avg_bw = kmalloc_array(count, sizeof(*avg_bw), GFP_KERNEL);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 632 if (!avg_bw) {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 633 ret = -ENOMEM;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 634 goto free_peak_bw;
^^^^^^^^^^^^^^^^^^
Obviously this goto leads to a double free etc...
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 635 }
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 636
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 637 ret = of_property_read_u32_array(np, "opp-avg-kBps", avg_bw,
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 638 count);
This code is really confusing. This assignment over writes the "ret"
variable. I guess that's intended instead of using "found = true;" on
this path???
It really feels like this function should be split into multiple
functions. If I read it correctly, then if it can find any property
then that's counted as a success? I guess we'd like to find them all
but if we can find one then that's enough?
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 639 if (ret) {
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 640 pr_err("%s: Error parsing opp-avg-kBps: %d\n",
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 641 __func__, ret);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 642 goto free_avg_bw;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 643 }
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 644
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 645 for (i = 0; i < count; i++)
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 646 new_opp->bandwidth[i].avg = kBps_to_icc(avg_bw[i]);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 647
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 648 kfree(avg_bw);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 649 }
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 650
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 651 if (!of_property_read_u32(np, "opp-level", &new_opp->level))
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 652 found = true;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 653
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 654 if (found)
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 655 return 0;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 656
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 657 return ret;
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 658
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 659 free_avg_bw:
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 660 kfree(avg_bw);
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 661 free_peak_bw:
0f438abc246a03 drivers/opp/of.c Georgi Djakov 2020-05-12 @662 kfree(peak_bw);
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 663
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 664 return ret;
6c591eec67cbb4 drivers/opp/of.c Saravana Kannan 2020-05-12 665 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
2 years, 4 months
drivers/iommu/exynos-iommu.c:673:54: error: 'struct dev_archdata' has no member named 'iommu'
by kbuild test robot
Hi Krzysztof,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce
commit: e93a1695d7fb551376b1c1220a267d032b6ad159 iommu: Enable compile testing for some of drivers
date: 3 months ago
config: ia64-randconfig-s001-20200518 (attached as .config)
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout e93a1695d7fb551376b1c1220a267d032b6ad159
# save the attached .config to linux build tree
make C=1 ARCH=ia64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/iommu/exynos-iommu.c: In function 'exynos_sysmmu_suspend':
>> drivers/iommu/exynos-iommu.c:673:54: error: 'struct dev_archdata' has no member named 'iommu'
673 | struct exynos_iommu_owner *owner = master->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c: In function 'exynos_sysmmu_resume':
drivers/iommu/exynos-iommu.c:691:54: error: 'struct dev_archdata' has no member named 'iommu'
691 | struct exynos_iommu_owner *owner = master->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c: In function 'exynos_iommu_detach_device':
drivers/iommu/exynos-iommu.c:840:50: error: 'struct dev_archdata' has no member named 'iommu'
840 | struct exynos_iommu_owner *owner = dev->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c:176:40: error: 'struct dev_archdata' has no member named 'iommu'
176 | #define has_sysmmu(dev) (dev->archdata.iommu != NULL)
| ^
>> drivers/iommu/exynos-iommu.c:846:7: note: in expansion of macro 'has_sysmmu'
846 | if (!has_sysmmu(dev) || owner->domain != iommu_domain)
| ^~~~~~~~~~
drivers/iommu/exynos-iommu.c: In function 'exynos_iommu_attach_device':
drivers/iommu/exynos-iommu.c:878:50: error: 'struct dev_archdata' has no member named 'iommu'
878 | struct exynos_iommu_owner *owner = dev->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c:176:40: error: 'struct dev_archdata' has no member named 'iommu'
176 | #define has_sysmmu(dev) (dev->archdata.iommu != NULL)
| ^
drivers/iommu/exynos-iommu.c:884:7: note: in expansion of macro 'has_sysmmu'
884 | if (!has_sysmmu(dev))
| ^~~~~~~~~~
drivers/iommu/exynos-iommu.c: In function 'exynos_iommu_add_device':
drivers/iommu/exynos-iommu.c:1240:50: error: 'struct dev_archdata' has no member named 'iommu'
1240 | struct exynos_iommu_owner *owner = dev->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c:176:40: error: 'struct dev_archdata' has no member named 'iommu'
176 | #define has_sysmmu(dev) (dev->archdata.iommu != NULL)
| ^
drivers/iommu/exynos-iommu.c:1244:7: note: in expansion of macro 'has_sysmmu'
1244 | if (!has_sysmmu(dev))
| ^~~~~~~~~~
drivers/iommu/exynos-iommu.c: In function 'exynos_iommu_remove_device':
drivers/iommu/exynos-iommu.c:1269:50: error: 'struct dev_archdata' has no member named 'iommu'
1269 | struct exynos_iommu_owner *owner = dev->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c:176:40: error: 'struct dev_archdata' has no member named 'iommu'
176 | #define has_sysmmu(dev) (dev->archdata.iommu != NULL)
| ^
drivers/iommu/exynos-iommu.c:1272:7: note: in expansion of macro 'has_sysmmu'
1272 | if (!has_sysmmu(dev))
| ^~~~~~~~~~
drivers/iommu/exynos-iommu.c: In function 'exynos_iommu_of_xlate':
drivers/iommu/exynos-iommu.c:1294:50: error: 'struct dev_archdata' has no member named 'iommu'
1294 | struct exynos_iommu_owner *owner = dev->archdata.iommu;
| ^
drivers/iommu/exynos-iommu.c:1312:16: error: 'struct dev_archdata' has no member named 'iommu'
1312 | dev->archdata.iommu = owner;
| ^
sparse warnings: (new ones prefixed by >>)
drivers/iommu/exynos-iommu.c:673:68: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:691:68: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:840:57: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:846:14: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:878:57: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:884:14: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1240:57: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1244:14: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1269:57: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1272:14: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1294:57: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
drivers/iommu/exynos-iommu.c:1312:30: sparse: sparse: using member 'iommu' in incomplete struct dev_archdata
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restrunsigned int [usertype] value @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restrunsigned int [usertype] @@
>> drivers/iommu/exynos-iommu.c:728:14: sparse: expected unsigned int [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: got restricted __le32 [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restrunsigned int [usertype] @@
>> drivers/iommu/exynos-iommu.c:728:14: sparse: expected unsigned int [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: got restricted __le32 [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restrunsigned int [usertype] @@
>> drivers/iommu/exynos-iommu.c:728:14: sparse: expected unsigned int [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: got restricted __le32 [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restrunsigned int [usertype] @@
>> drivers/iommu/exynos-iommu.c:728:14: sparse: expected unsigned int [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: got restricted __le32 [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restrunsigned int [usertype] @@
>> drivers/iommu/exynos-iommu.c:728:14: sparse: expected unsigned int [usertype]
>> drivers/iommu/exynos-iommu.c:728:14: sparse: got restricted __le32 [usertype]
vim +673 drivers/iommu/exynos-iommu.c
2a96536e77b43c KyongHo Cho 2012-05-12 666
9b265536c27116 Marek Szyprowski 2016-11-14 667 static int __maybe_unused exynos_sysmmu_suspend(struct device *dev)
622015e407b082 Marek Szyprowski 2015-05-19 668 {
622015e407b082 Marek Szyprowski 2015-05-19 669 struct sysmmu_drvdata *data = dev_get_drvdata(dev);
47a574fffca102 Marek Szyprowski 2016-11-14 670 struct device *master = data->master;
622015e407b082 Marek Szyprowski 2015-05-19 671
47a574fffca102 Marek Szyprowski 2016-11-14 672 if (master) {
9b265536c27116 Marek Szyprowski 2016-11-14 @673 struct exynos_iommu_owner *owner = master->archdata.iommu;
9b265536c27116 Marek Szyprowski 2016-11-14 674
9b265536c27116 Marek Szyprowski 2016-11-14 675 mutex_lock(&owner->rpm_lock);
92798b4566b1ad Marek Szyprowski 2016-11-14 676 if (data->domain) {
92798b4566b1ad Marek Szyprowski 2016-11-14 677 dev_dbg(data->sysmmu, "saving state\n");
92798b4566b1ad Marek Szyprowski 2016-11-14 678 __sysmmu_disable(data);
92798b4566b1ad Marek Szyprowski 2016-11-14 679 }
9b265536c27116 Marek Szyprowski 2016-11-14 680 mutex_unlock(&owner->rpm_lock);
622015e407b082 Marek Szyprowski 2015-05-19 681 }
622015e407b082 Marek Szyprowski 2015-05-19 682 return 0;
622015e407b082 Marek Szyprowski 2015-05-19 683 }
622015e407b082 Marek Szyprowski 2015-05-19 684
9b265536c27116 Marek Szyprowski 2016-11-14 685 static int __maybe_unused exynos_sysmmu_resume(struct device *dev)
622015e407b082 Marek Szyprowski 2015-05-19 686 {
622015e407b082 Marek Szyprowski 2015-05-19 687 struct sysmmu_drvdata *data = dev_get_drvdata(dev);
47a574fffca102 Marek Szyprowski 2016-11-14 688 struct device *master = data->master;
622015e407b082 Marek Szyprowski 2015-05-19 689
47a574fffca102 Marek Szyprowski 2016-11-14 690 if (master) {
9b265536c27116 Marek Szyprowski 2016-11-14 691 struct exynos_iommu_owner *owner = master->archdata.iommu;
9b265536c27116 Marek Szyprowski 2016-11-14 692
9b265536c27116 Marek Szyprowski 2016-11-14 693 mutex_lock(&owner->rpm_lock);
92798b4566b1ad Marek Szyprowski 2016-11-14 694 if (data->domain) {
92798b4566b1ad Marek Szyprowski 2016-11-14 695 dev_dbg(data->sysmmu, "restoring state\n");
47a574fffca102 Marek Szyprowski 2016-11-14 696 __sysmmu_enable(data);
622015e407b082 Marek Szyprowski 2015-05-19 697 }
9b265536c27116 Marek Szyprowski 2016-11-14 698 mutex_unlock(&owner->rpm_lock);
92798b4566b1ad Marek Szyprowski 2016-11-14 699 }
622015e407b082 Marek Szyprowski 2015-05-19 700 return 0;
622015e407b082 Marek Szyprowski 2015-05-19 701 }
622015e407b082 Marek Szyprowski 2015-05-19 702
622015e407b082 Marek Szyprowski 2015-05-19 703 static const struct dev_pm_ops sysmmu_pm_ops = {
9b265536c27116 Marek Szyprowski 2016-11-14 704 SET_RUNTIME_PM_OPS(exynos_sysmmu_suspend, exynos_sysmmu_resume, NULL)
2f5f44f205cc95 Marek Szyprowski 2016-11-14 705 SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
9b265536c27116 Marek Szyprowski 2016-11-14 706 pm_runtime_force_resume)
622015e407b082 Marek Szyprowski 2015-05-19 707 };
622015e407b082 Marek Szyprowski 2015-05-19 708
9d25e3cc83d731 Marek Szyprowski 2017-10-09 709 static const struct of_device_id sysmmu_of_match[] = {
6b21a5db36427d Cho KyongHo 2014-05-12 710 { .compatible = "samsung,exynos-sysmmu", },
6b21a5db36427d Cho KyongHo 2014-05-12 711 { },
6b21a5db36427d Cho KyongHo 2014-05-12 712 };
6b21a5db36427d Cho KyongHo 2014-05-12 713
6b21a5db36427d Cho KyongHo 2014-05-12 714 static struct platform_driver exynos_sysmmu_driver __refdata = {
2a96536e77b43c KyongHo Cho 2012-05-12 715 .probe = exynos_sysmmu_probe,
2a96536e77b43c KyongHo Cho 2012-05-12 716 .driver = {
2a96536e77b43c KyongHo Cho 2012-05-12 717 .name = "exynos-sysmmu",
6b21a5db36427d Cho KyongHo 2014-05-12 718 .of_match_table = sysmmu_of_match,
622015e407b082 Marek Szyprowski 2015-05-19 719 .pm = &sysmmu_pm_ops,
b54b874fbaf5e0 Marek Szyprowski 2016-05-20 720 .suppress_bind_attrs = true,
2a96536e77b43c KyongHo Cho 2012-05-12 721 }
2a96536e77b43c KyongHo Cho 2012-05-12 722 };
2a96536e77b43c KyongHo Cho 2012-05-12 723
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 724 static inline void update_pte(sysmmu_pte_t *ent, sysmmu_pte_t val)
2a96536e77b43c KyongHo Cho 2012-05-12 725 {
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 726 dma_sync_single_for_cpu(dma_dev, virt_to_phys(ent), sizeof(*ent),
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 727 DMA_TO_DEVICE);
6ae5343c26f9cb Ben Dooks 2016-06-08 @728 *ent = cpu_to_le32(val);
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 729 dma_sync_single_for_device(dma_dev, virt_to_phys(ent), sizeof(*ent),
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 730 DMA_TO_DEVICE);
2a96536e77b43c KyongHo Cho 2012-05-12 731 }
2a96536e77b43c KyongHo Cho 2012-05-12 732
e1fd1eaa3323b3 Joerg Roedel 2015-03-26 733 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type)
2a96536e77b43c KyongHo Cho 2012-05-12 734 {
bfa004893c55ea Marek Szyprowski 2015-05-19 735 struct exynos_iommu_domain *domain;
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 736 dma_addr_t handle;
66a7ed84b345d6 Cho KyongHo 2014-05-12 737 int i;
2a96536e77b43c KyongHo Cho 2012-05-12 738
740a01eee9ada9 Marek Szyprowski 2016-02-18 739 /* Check if correct PTE offsets are initialized */
740a01eee9ada9 Marek Szyprowski 2016-02-18 740 BUG_ON(PG_ENT_SHIFT < 0 || !dma_dev);
e1fd1eaa3323b3 Joerg Roedel 2015-03-26 741
bfa004893c55ea Marek Szyprowski 2015-05-19 742 domain = kzalloc(sizeof(*domain), GFP_KERNEL);
bfa004893c55ea Marek Szyprowski 2015-05-19 743 if (!domain)
e1fd1eaa3323b3 Joerg Roedel 2015-03-26 744 return NULL;
2a96536e77b43c KyongHo Cho 2012-05-12 745
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 746 if (type == IOMMU_DOMAIN_DMA) {
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 747 if (iommu_get_dma_cookie(&domain->domain) != 0)
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 748 goto err_pgtable;
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 749 } else if (type != IOMMU_DOMAIN_UNMANAGED) {
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 750 goto err_pgtable;
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 751 }
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 752
bfa004893c55ea Marek Szyprowski 2015-05-19 753 domain->pgtable = (sysmmu_pte_t *)__get_free_pages(GFP_KERNEL, 2);
bfa004893c55ea Marek Szyprowski 2015-05-19 754 if (!domain->pgtable)
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 755 goto err_dma_cookie;
2a96536e77b43c KyongHo Cho 2012-05-12 756
bfa004893c55ea Marek Szyprowski 2015-05-19 757 domain->lv2entcnt = (short *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, 1);
bfa004893c55ea Marek Szyprowski 2015-05-19 758 if (!domain->lv2entcnt)
2a96536e77b43c KyongHo Cho 2012-05-12 759 goto err_counter;
2a96536e77b43c KyongHo Cho 2012-05-12 760
f171abab8f1a75 Sachin Kamat 2014-08-04 761 /* Workaround for System MMU v3.3 to prevent caching 1MiB mapping */
e75276638c1423 Marek Szyprowski 2017-03-24 762 for (i = 0; i < NUM_LV1ENTRIES; i++)
e75276638c1423 Marek Szyprowski 2017-03-24 763 domain->pgtable[i] = ZERO_LV2LINK;
66a7ed84b345d6 Cho KyongHo 2014-05-12 764
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 765 handle = dma_map_single(dma_dev, domain->pgtable, LV1TABLE_SIZE,
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 766 DMA_TO_DEVICE);
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 767 /* For mapping page table entries we rely on dma == phys */
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 768 BUG_ON(handle != virt_to_phys(domain->pgtable));
0d6d3da46ac594 Marek Szyprowski 2017-01-09 769 if (dma_mapping_error(dma_dev, handle))
0d6d3da46ac594 Marek Szyprowski 2017-01-09 770 goto err_lv2ent;
2a96536e77b43c KyongHo Cho 2012-05-12 771
bfa004893c55ea Marek Szyprowski 2015-05-19 772 spin_lock_init(&domain->lock);
bfa004893c55ea Marek Szyprowski 2015-05-19 773 spin_lock_init(&domain->pgtablelock);
bfa004893c55ea Marek Szyprowski 2015-05-19 774 INIT_LIST_HEAD(&domain->clients);
2a96536e77b43c KyongHo Cho 2012-05-12 775
bfa004893c55ea Marek Szyprowski 2015-05-19 776 domain->domain.geometry.aperture_start = 0;
bfa004893c55ea Marek Szyprowski 2015-05-19 777 domain->domain.geometry.aperture_end = ~0UL;
bfa004893c55ea Marek Szyprowski 2015-05-19 778 domain->domain.geometry.force_aperture = true;
3177bb76a8c510 Joerg Roedel 2012-07-11 779
bfa004893c55ea Marek Szyprowski 2015-05-19 780 return &domain->domain;
2a96536e77b43c KyongHo Cho 2012-05-12 781
0d6d3da46ac594 Marek Szyprowski 2017-01-09 782 err_lv2ent:
0d6d3da46ac594 Marek Szyprowski 2017-01-09 783 free_pages((unsigned long)domain->lv2entcnt, 1);
2a96536e77b43c KyongHo Cho 2012-05-12 784 err_counter:
bfa004893c55ea Marek Szyprowski 2015-05-19 785 free_pages((unsigned long)domain->pgtable, 2);
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 786 err_dma_cookie:
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 787 if (type == IOMMU_DOMAIN_DMA)
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 788 iommu_put_dma_cookie(&domain->domain);
2a96536e77b43c KyongHo Cho 2012-05-12 789 err_pgtable:
bfa004893c55ea Marek Szyprowski 2015-05-19 790 kfree(domain);
e1fd1eaa3323b3 Joerg Roedel 2015-03-26 791 return NULL;
2a96536e77b43c KyongHo Cho 2012-05-12 792 }
2a96536e77b43c KyongHo Cho 2012-05-12 793
bfa004893c55ea Marek Szyprowski 2015-05-19 794 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain)
2a96536e77b43c KyongHo Cho 2012-05-12 795 {
bfa004893c55ea Marek Szyprowski 2015-05-19 796 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain);
469acebe4a6890 Marek Szyprowski 2015-05-19 797 struct sysmmu_drvdata *data, *next;
2a96536e77b43c KyongHo Cho 2012-05-12 798 unsigned long flags;
2a96536e77b43c KyongHo Cho 2012-05-12 799 int i;
2a96536e77b43c KyongHo Cho 2012-05-12 800
bfa004893c55ea Marek Szyprowski 2015-05-19 801 WARN_ON(!list_empty(&domain->clients));
2a96536e77b43c KyongHo Cho 2012-05-12 802
bfa004893c55ea Marek Szyprowski 2015-05-19 803 spin_lock_irqsave(&domain->lock, flags);
2a96536e77b43c KyongHo Cho 2012-05-12 804
bfa004893c55ea Marek Szyprowski 2015-05-19 805 list_for_each_entry_safe(data, next, &domain->clients, domain_node) {
e11723000f1641 Marek Szyprowski 2016-11-14 806 spin_lock(&data->lock);
b0d4c861a99d00 Marek Szyprowski 2016-11-14 807 __sysmmu_disable(data);
47a574fffca102 Marek Szyprowski 2016-11-14 808 data->pgtable = 0;
47a574fffca102 Marek Szyprowski 2016-11-14 809 data->domain = NULL;
469acebe4a6890 Marek Szyprowski 2015-05-19 810 list_del_init(&data->domain_node);
e11723000f1641 Marek Szyprowski 2016-11-14 811 spin_unlock(&data->lock);
2a96536e77b43c KyongHo Cho 2012-05-12 812 }
2a96536e77b43c KyongHo Cho 2012-05-12 813
bfa004893c55ea Marek Szyprowski 2015-05-19 814 spin_unlock_irqrestore(&domain->lock, flags);
2a96536e77b43c KyongHo Cho 2012-05-12 815
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 816 if (iommu_domain->type == IOMMU_DOMAIN_DMA)
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 817 iommu_put_dma_cookie(iommu_domain);
58c6f6a3dc97ed Marek Szyprowski 2016-02-18 818
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 819 dma_unmap_single(dma_dev, virt_to_phys(domain->pgtable), LV1TABLE_SIZE,
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 820 DMA_TO_DEVICE);
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 821
2a96536e77b43c KyongHo Cho 2012-05-12 822 for (i = 0; i < NUM_LV1ENTRIES; i++)
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 823 if (lv1ent_page(domain->pgtable + i)) {
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 824 phys_addr_t base = lv2table_base(domain->pgtable + i);
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 825
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 826 dma_unmap_single(dma_dev, base, LV2TABLE_SIZE,
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 827 DMA_TO_DEVICE);
734c3c732ca91a Cho KyongHo 2014-05-12 828 kmem_cache_free(lv2table_kmem_cache,
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 829 phys_to_virt(base));
5e3435eb7e1d8c Marek Szyprowski 2016-02-18 830 }
2a96536e77b43c KyongHo Cho 2012-05-12 831
bfa004893c55ea Marek Szyprowski 2015-05-19 832 free_pages((unsigned long)domain->pgtable, 2);
bfa004893c55ea Marek Szyprowski 2015-05-19 833 free_pages((unsigned long)domain->lv2entcnt, 1);
bfa004893c55ea Marek Szyprowski 2015-05-19 834 kfree(domain);
2a96536e77b43c KyongHo Cho 2012-05-12 835 }
2a96536e77b43c KyongHo Cho 2012-05-12 836
5fa61cbff16224 Marek Szyprowski 2016-02-18 837 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain,
5fa61cbff16224 Marek Szyprowski 2016-02-18 838 struct device *dev)
5fa61cbff16224 Marek Szyprowski 2016-02-18 839 {
5fa61cbff16224 Marek Szyprowski 2016-02-18 840 struct exynos_iommu_owner *owner = dev->archdata.iommu;
5fa61cbff16224 Marek Szyprowski 2016-02-18 841 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain);
5fa61cbff16224 Marek Szyprowski 2016-02-18 842 phys_addr_t pagetable = virt_to_phys(domain->pgtable);
5fa61cbff16224 Marek Szyprowski 2016-02-18 843 struct sysmmu_drvdata *data, *next;
5fa61cbff16224 Marek Szyprowski 2016-02-18 844 unsigned long flags;
5fa61cbff16224 Marek Szyprowski 2016-02-18 845
5fa61cbff16224 Marek Szyprowski 2016-02-18 @846 if (!has_sysmmu(dev) || owner->domain != iommu_domain)
5fa61cbff16224 Marek Szyprowski 2016-02-18 847 return;
5fa61cbff16224 Marek Szyprowski 2016-02-18 848
9b265536c27116 Marek Szyprowski 2016-11-14 849 mutex_lock(&owner->rpm_lock);
9b265536c27116 Marek Szyprowski 2016-11-14 850
9b265536c27116 Marek Szyprowski 2016-11-14 851 list_for_each_entry(data, &owner->controllers, owner_node) {
9b265536c27116 Marek Szyprowski 2016-11-14 852 pm_runtime_get_noresume(data->sysmmu);
9b265536c27116 Marek Szyprowski 2016-11-14 853 if (pm_runtime_active(data->sysmmu))
e11723000f1641 Marek Szyprowski 2016-11-14 854 __sysmmu_disable(data);
e11723000f1641 Marek Szyprowski 2016-11-14 855 pm_runtime_put(data->sysmmu);
e11723000f1641 Marek Szyprowski 2016-11-14 856 }
e11723000f1641 Marek Szyprowski 2016-11-14 857
5fa61cbff16224 Marek Szyprowski 2016-02-18 858 spin_lock_irqsave(&domain->lock, flags);
5fa61cbff16224 Marek Szyprowski 2016-02-18 859 list_for_each_entry_safe(data, next, &domain->clients, domain_node) {
e11723000f1641 Marek Szyprowski 2016-11-14 860 spin_lock(&data->lock);
47a574fffca102 Marek Szyprowski 2016-11-14 861 data->pgtable = 0;
47a574fffca102 Marek Szyprowski 2016-11-14 862 data->domain = NULL;
5fa61cbff16224 Marek Szyprowski 2016-02-18 863 list_del_init(&data->domain_node);
e11723000f1641 Marek Szyprowski 2016-11-14 864 spin_unlock(&data->lock);
5fa61cbff16224 Marek Szyprowski 2016-02-18 865 }
e11723000f1641 Marek Szyprowski 2016-11-14 866 owner->domain = NULL;
5fa61cbff16224 Marek Szyprowski 2016-02-18 867 spin_unlock_irqrestore(&domain->lock, flags);
5fa61cbff16224 Marek Szyprowski 2016-02-18 868
9b265536c27116 Marek Szyprowski 2016-11-14 869 mutex_unlock(&owner->rpm_lock);
5fa61cbff16224 Marek Szyprowski 2016-02-18 870
b0d4c861a99d00 Marek Szyprowski 2016-11-14 871 dev_dbg(dev, "%s: Detached IOMMU with pgtable %pa\n", __func__,
b0d4c861a99d00 Marek Szyprowski 2016-11-14 872 &pagetable);
5fa61cbff16224 Marek Szyprowski 2016-02-18 873 }
5fa61cbff16224 Marek Szyprowski 2016-02-18 874
:::::: The code at line 673 was first introduced by commit
:::::: 9b265536c271163ec4acc140ca0a40a732971cbf iommu/exynos: Add runtime pm support
:::::: TO: Marek Szyprowski <m.szyprowski(a)samsung.com>
:::::: CC: Joerg Roedel <jroedel(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [jfern:rcu/refperf 1/3] kernel/rcu/tree.c:3979:8: error: passing argument 4 of 'proc_create' from incompatible pointer type
by Rong Chen
Hi Joel,
We have a configuration file to set the properties, the definition is at
https://github.com/intel/lkp-tests/wiki/Repo-Spec,
the branches named as ".experimental." ".*dont-build" won't be tested by
default, or you can tell us the blacklist branch rule.
Best Regards,
Rong Chen
On 5/14/20 11:42 PM, joel(a)joelfernandes.org wrote:
> This is just a test WIP tree. Is there a way for me to mark some trees
> as not for kbuild testing?
>
> Thanks for the testing though!
>
>
> On May 14, 2020 11:08:12 AM EDT, kbuild test robot <lkp(a)intel.com> wrote:
>
> tree:https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git rcu/refperf
> head: df3410c1f7436cf0a91127b2629a33923cc62140
> commit: e9577008869a8d050252b346823d54ab84af4021 [1/3] test
> config: i386-randconfig-r015-20200514 (attached as .config)
> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
> reproduce:
> git checkout e9577008869a8d050252b346823d54ab84af4021
> # save the attached .config to linux build tree
> make ARCH=i386
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp(a)intel.com>
>
> All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>
> kernel/rcu/tree.c: In function 'rcu_pr_kthread':
> kernel/rcu/tree.c:3852:35: warning: unused variable 'spincnt2' [-Wunused-variable]
> unsigned long spincnt, spincnt1, spincnt2, x=0;
> ^~~~~~~~
> kernel/rcu/tree.c:3852:25: warning: unused variable 'spincnt1' [-Wunused-variable]
> unsigned long spincnt, spincnt1, spincnt2, x=0;
> ^~~~~~~~
> kernel/rcu/tree.c:3851:7: warning: unused variable 'work' [-Wunused-variable]
> char work, *workp = this_cpu_ptr(&rcu_data.rcu_pr_has_work);
> ^~~~
> kernel/rcu/tree.c:3850:16: warning: unused variable 'statusp' [-Wunused-variable]
> unsigned int *statusp = this_cpu_ptr(&rcu_data.rcu_pr_kthread_status);
> ^~~~~~~
> kernel/rcu/tree.c: In function 'rcu_spawn_pr_kthreads':
>
> kernel/rcu/tree.c:3979:8: error: passing argument 4 of
> 'proc_create' from incompatible pointer type
> [-Werror=incompatible-pointer-types]
>
> &pr_ops);
> ^
> In file included from kernel/rcu/tree.c:23:0:
> include/linux/proc_fs.h:79:24: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
> struct proc_dir_entry *proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct proc_ops *proc_ops);
> ^~~~~~~~~~~
> kernel/rcu/tree.c: In function 'pr_proc_write':
>
> kernel/rcu/tree.c:3957:1: warning: control reaches end of
> non-void function [-Wreturn-type]
>
> }
> ^
> cc1: some warnings being treated as errors
>
> vim +/proc_create +3979 kernel/rcu/tree.c
>
> 3935
> 3936 ssize_t pr_proc_write(struct file * f, const char __user * b, size_t s, loff_t * off)
> 3937 {
> 3938 u64 before, after;
> 3939
> 3940 WRITE_ONCE(work_type, PERCPU_RWSEM);
> 3941 repeat:
> 3942 smp_mb();
> 3943
> 3944 before = ktime_get_mono_fast_ns();
> 3945 do_one_pr_test();
> 3946 after = ktime_get_mono_fast_ns();
> 3947
> 3948 pr_err("Total time: %lu us , type: %s\n", (unsigned long)((after - before) / 1000),
> 3949 (work_type == PERCPU_RWSEM ? "percpu-rwsem" : "rwsem") );
> 3950
> 3951 if (work_type != RWSEM) {
> 3952 work_type = RWSEM;
> 3953 msleep(100);
> 3954 goto repeat;
> 3955 }
> 3956
>
> 3957 }
>
> 3958
> 3959 static const struct file_operations pr_ops = {
> 3960 .write = pr_proc_write,
> 3961 .llseek = default_llseek,
> 3962 };
> 3963
> 3964 /*
> 3965 * Spawn boost kthreads -- called as soon as the scheduler is running.
> 3966 */
> 3967 static void __init rcu_spawn_pr_kthreads(void)
> 3968 {
> 3969 int cpu;
> 3970
> 3971 for_each_possible_cpu(cpu)
> 3972 per_cpu(rcu_data.rcu_pr_has_work, cpu) = 0;
> 3973
> 3974 if (WARN_ONCE(smpboot_register_percpu_thread(&rcu_pr_thread_spec),
> 3975 "%s: Could not start rcub kthread, OOM is now expected behavior\n", __func__))
> 3976 return;
> 3977
> 3978 proc_create("prw_test", 0777, NULL,
>
> 3979 &pr_ops);
>
> 3980
> 3981 /*
> 3982 for_each_online_cpu(cpu) {
> 3983 pr_err("waking up thread on online cpu %d\n", cpu);
> 3984 per_cpu(rcu_data.rcu_pr_has_work, cpu) = 1;
> 3985 smp_mb();
> 3986 wake_up_process(per_cpu(rcu_data.pr_kthread, cpu));
> 3987 }
> 3988 */
> 3989 }
> 3990
> ------------------------------------------------------------------------
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
2 years, 4 months
Re: [PATCH] clk/ti/adpll: Add a NULL check for devm_kasprintf()
by kbuild test robot
Hi Xu,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on clk/clk-next]
[also build test WARNING on v5.7-rc6 next-20200515]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Xu-Wang/clk-ti-adpll-Add-a-NULL-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 135b877874fae96b4372c8a3fbfaa8ff44ff86e3)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/clk/ti/adpll.c:200:11: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'const char *' [-Wint-conversion]
return -ENOMEM;
^~~~~~~
1 warning generated.
vim +200 drivers/clk/ti/adpll.c
181
182 static const char *ti_adpll_clk_get_name(struct ti_adpll_data *d,
183 int output_index,
184 const char *postfix)
185 {
186 const char *name;
187 int err;
188
189 if (output_index >= 0) {
190 err = of_property_read_string_index(d->np,
191 "clock-output-names",
192 output_index,
193 &name);
194 if (err)
195 return NULL;
196 } else {
197 name = devm_kasprintf(d->dev, GFP_KERNEL, "%08lx.adpll.%s",
198 d->pa, postfix);
199 if (!name)
> 200 return -ENOMEM;
201 }
202
203 return name;
204 }
205
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[input:next 2481/2485] drivers/input/misc/iqs269a.c:1829:1: error: type defaults to 'int' in declaration of 'module_i2c_driver'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
head: 918e2844d940da7c624262a7aa327615d3eb5abd
commit: 04e49867fad1f4a0739862bb15133f96ace1d190 [2481/2485] Input: add support for Azoteq IQS269A
config: sparc-randconfig-r036-20200518 (attached as .config)
compiler: sparc-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
git checkout 04e49867fad1f4a0739862bb15133f96ace1d190
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/input/misc/iqs269a.c:1829:1: warning: data definition has no type or storage class
1829 | module_i2c_driver(iqs269_i2c_driver);
| ^~~~~~~~~~~~~~~~~
>> drivers/input/misc/iqs269a.c:1829:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]
>> drivers/input/misc/iqs269a.c:1829:1: warning: parameter names (without types) in function declaration
drivers/input/misc/iqs269a.c:1821:26: warning: 'iqs269_i2c_driver' defined but not used [-Wunused-variable]
1821 | static struct i2c_driver iqs269_i2c_driver = {
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_byte_reg_read':
>> drivers/base/regmap/regmap-i2c.c:25:8: error: implicit declaration of function 'i2c_smbus_read_byte_data' [-Werror=implicit-function-declaration]
25 | ret = i2c_smbus_read_byte_data(i2c, reg);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_byte_reg_write':
>> drivers/base/regmap/regmap-i2c.c:43:9: error: implicit declaration of function 'i2c_smbus_write_byte_data' [-Werror=implicit-function-declaration]
43 | return i2c_smbus_write_byte_data(i2c, reg, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_word_reg_read':
>> drivers/base/regmap/regmap-i2c.c:61:8: error: implicit declaration of function 'i2c_smbus_read_word_data' [-Werror=implicit-function-declaration]
61 | ret = i2c_smbus_read_word_data(i2c, reg);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_word_reg_write':
>> drivers/base/regmap/regmap-i2c.c:79:9: error: implicit declaration of function 'i2c_smbus_write_word_data' [-Werror=implicit-function-declaration]
79 | return i2c_smbus_write_word_data(i2c, reg, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_word_read_swapped':
>> drivers/base/regmap/regmap-i2c.c:97:8: error: implicit declaration of function 'i2c_smbus_read_word_swapped' [-Werror=implicit-function-declaration]
97 | ret = i2c_smbus_read_word_swapped(i2c, reg);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_smbus_word_write_swapped':
>> drivers/base/regmap/regmap-i2c.c:115:9: error: implicit declaration of function 'i2c_smbus_write_word_swapped' [-Werror=implicit-function-declaration]
115 | return i2c_smbus_write_word_swapped(i2c, reg, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_i2c_write':
>> drivers/base/regmap/regmap-i2c.c:129:8: error: implicit declaration of function 'i2c_master_send' [-Werror=implicit-function-declaration]
129 | ret = i2c_master_send(i2c, data, count);
| ^~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_i2c_gather_write':
>> drivers/base/regmap/regmap-i2c.c:150:7: error: implicit declaration of function 'i2c_check_functionality' [-Werror=implicit-function-declaration]
150 | if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_NOSTART))
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/base/regmap/regmap-i2c.c:163:8: error: implicit declaration of function 'i2c_transfer' [-Werror=implicit-function-declaration]
163 | ret = i2c_transfer(i2c->adapter, xfer, 2);
| ^~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_i2c_smbus_i2c_write':
>> drivers/base/regmap/regmap-i2c.c:218:9: error: implicit declaration of function 'i2c_smbus_write_i2c_block_data' [-Werror=implicit-function-declaration]
218 | return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/regmap/regmap-i2c.c: In function 'regmap_i2c_smbus_i2c_read':
>> drivers/base/regmap/regmap-i2c.c:233:8: error: implicit declaration of function 'i2c_smbus_read_i2c_block_data' [-Werror=implicit-function-declaration]
233 | ret = i2c_smbus_read_i2c_block_data(i2c, ((u8 *)reg)[0], val_size, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1829 drivers/input/misc/iqs269a.c
1820
1821 static struct i2c_driver iqs269_i2c_driver = {
1822 .driver = {
1823 .name = "iqs269a",
1824 .of_match_table = iqs269_of_match,
1825 .pm = &iqs269_pm,
1826 },
1827 .probe_new = iqs269_probe,
1828 };
> 1829 module_i2c_driver(iqs269_i2c_driver);
1830
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[lkp] [+4007 bytes kernel size regression] [i386-tinyconfig] [652db5cdcb] iov_iter: Add ITER_MAPPING
by kbuild test robot
FYI, we noticed a +4007 bytes kernel size regression due to commit:
commit: 652db5cdcb574c6f8dee8693abb4e0ebc3d1245e (iov_iter: Add ITER_MAPPING)
url: https://github.com/0day-ci/linux/commits/David-Howells/fscache-cachefiles...
Details as below (size data is obtained by `nm --size-sort vmlinux`):
db3d1801: afs: Make afs_zap_data() static
652db5cd: iov_iter: Add ITER_MAPPING
+-------------------------------------+----------+----------+-------+
| symbol | db3d1801 | 652db5cd | delta |
+-------------------------------------+----------+----------+-------+
| bzImage | 440320 | 441632 | 1312 |
| nm.T.iov_iter_get_pages | 589 | 939 | 350 |
| nm.T.iov_iter_get_pages_alloc | 715 | 1062 | 347 |
| nm.T.csum_and_copy_to_iter | 1027 | 1304 | 277 |
| nm.T.csum_and_copy_from_iter | 844 | 1094 | 250 |
| nm.T.csum_and_copy_from_iter_full | 654 | 900 | 246 |
| nm.T.iov_iter_for_each_range | 352 | 582 | 230 |
| nm.T._copy_to_iter | 778 | 996 | 218 |
| nm.T._copy_from_iter | 560 | 772 | 212 |
| nm.T._copy_from_iter_nocache | 560 | 772 | 212 |
| nm.T.iov_iter_copy_from_user_atomic | 425 | 635 | 210 |
| nm.T.iov_iter_npages | 445 | 654 | 209 |
| nm.T.iov_iter_advance | 436 | 638 | 202 |
| nm.T._copy_from_iter_full | 399 | 595 | 196 |
| nm.T._copy_from_iter_full_nocache | 399 | 595 | 196 |
| nm.T.iov_iter_gap_alignment | 328 | 516 | 188 |
| nm.T.iov_iter_alignment | 329 | 494 | 165 |
| nm.T.iov_iter_zero | 661 | 817 | 156 |
| nm.T.iov_iter_mapping | 0 | 47 | 47 |
| nm.t.xas_retry | 0 | 30 | 30 |
| nm.t.memzero_page | 0 | 25 | 25 |
| nm.t.csum_block_add | 0 | 23 | 23 |
| nm.T.iov_iter_revert | 200 | 210 | 10 |
| nm.T.dup_iter | 70 | 78 | 8 |
| nm.T.iov_iter_single_seg_count | 41 | 44 | 3 |
| nm.t.csum_and_memcpy | 43 | 40 | -3 |
+-------------------------------------+----------+----------+-------+
Thanks,
Kbuild test robot
2 years, 4 months
Re: [PATCH] clk/ti/adpll: Add a NULL check for devm_kasprintf()
by kbuild test robot
Hi Xu,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on clk/clk-next]
[also build test WARNING on v5.7-rc6 next-20200515]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Xu-Wang/clk-ti-adpll-Add-a-NULL-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: i386-allyesconfig (attached as .config)
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
# save the attached .config to linux build tree
make C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/clk/ti/adpll.c:200:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected char const * @@ got t * @@
>> drivers/clk/ti/adpll.c:200:32: sparse: expected char const *
>> drivers/clk/ti/adpll.c:200:32: sparse: got int
vim +200 drivers/clk/ti/adpll.c
181
182 static const char *ti_adpll_clk_get_name(struct ti_adpll_data *d,
183 int output_index,
184 const char *postfix)
185 {
186 const char *name;
187 int err;
188
189 if (output_index >= 0) {
190 err = of_property_read_string_index(d->np,
191 "clock-output-names",
192 output_index,
193 &name);
194 if (err)
195 return NULL;
196 } else {
197 name = devm_kasprintf(d->dev, GFP_KERNEL, "%08lx.adpll.%s",
198 d->pa, postfix);
199 if (!name)
> 200 return -ENOMEM;
201 }
202
203 return name;
204 }
205
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [RESEND][V5 PATCH 2/2] ASoC: max98390: Added Amplifier Driver
by kbuild test robot
Hi Steve,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on asoc/for-next]
[also build test WARNING on v5.7-rc6 next-20200515]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Steve-Lee/dt-bindings-Added-devi...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: i386-randconfig-a004-20200518 (attached as .config)
compiler: gcc-4.9 (Ubuntu 4.9.3-13ubuntu2) 4.9.3
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/linux/dynamic_debug.h:6:0,
from include/linux/printk.h:326,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from sound/soc/codecs/max98390.c:9:
sound/soc/codecs/max98390.c: In function 'max98390_dsm_init':
>> include/linux/jump_label.h:471:59: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
else if (__builtin_types_compatible_p(typeof(*x), struct static_key_false)) ^
include/linux/dynamic_debug.h:105:2: note: in expansion of macro 'static_branch_unlikely'
static_branch_unlikely(&descriptor.key.dd_key_false)
^
include/linux/dynamic_debug.h:124:6: note: in expansion of macro 'DYNAMIC_DEBUG_BRANCH'
if (DYNAMIC_DEBUG_BRANCH(id)) ^
include/linux/dynamic_debug.h:143:2: note: in expansion of macro '__dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
^
include/linux/dynamic_debug.h:157:2: note: in expansion of macro '_dynamic_func_call'
_dynamic_func_call(fmt,__dynamic_dev_dbg, ^
include/linux/dev_printk.h:114:2: note: in expansion of macro 'dynamic_dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^
sound/soc/codecs/max98390.c:780:2: note: in expansion of macro 'dev_dbg'
dev_dbg(component->dev,
^
vim +471 include/linux/jump_label.h
11276d5306b8e5 Peter Zijlstra 2015-07-24 465
11276d5306b8e5 Peter Zijlstra 2015-07-24 466 #define static_branch_unlikely(x) \
11276d5306b8e5 Peter Zijlstra 2015-07-24 467 ({ \
11276d5306b8e5 Peter Zijlstra 2015-07-24 468 bool branch; \
11276d5306b8e5 Peter Zijlstra 2015-07-24 469 if (__builtin_types_compatible_p(typeof(*x), struct static_key_true)) \
11276d5306b8e5 Peter Zijlstra 2015-07-24 470 branch = arch_static_branch_jump(&(x)->key, false); \
11276d5306b8e5 Peter Zijlstra 2015-07-24 @471 else if (__builtin_types_compatible_p(typeof(*x), struct static_key_false)) \
11276d5306b8e5 Peter Zijlstra 2015-07-24 472 branch = arch_static_branch(&(x)->key, false); \
11276d5306b8e5 Peter Zijlstra 2015-07-24 473 else \
11276d5306b8e5 Peter Zijlstra 2015-07-24 474 branch = ____wrong_branch_error(); \
81dcf89f03204d Peter Zijlstra 2018-01-18 475 unlikely(branch); \
11276d5306b8e5 Peter Zijlstra 2015-07-24 476 })
11276d5306b8e5 Peter Zijlstra 2015-07-24 477
:::::: The code at line 471 was first introduced by commit
:::::: 11276d5306b8e5b438a36bbff855fe792d7eaa61 locking/static_keys: Add a new static_key interface
:::::: TO: Peter Zijlstra <peterz(a)infradead.org>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[sashal-linux-stable:queue-4.14 4/79] Warning: ffffffff819d76b1: 0f ff 48 8d ud0 -0x73(%rax),%ecx
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.14
head: 7a7ddea1b419e20931152e388252c661b6fca95c
commit: 3b2b85fced2523780fe74960a54a96a0bca33985 [4/79] net: macsec: preserve ingress frame ordering
config: x86_64-randconfig-a013-20200517 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 135b877874fae96b4372c8a3fbfaa8ff44ff86e3)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 3b2b85fced2523780fe74960a54a96a0bca33985
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> Warning: ffffffff819d76b1: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d79db: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d8090: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d8431: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d8442: 0f ff 49 8d ud0 -0x73(%rcx),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d8cdd: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d7080: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d7228: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
--
>> Warning: ffffffff819d7287: 0f ff 48 8d ud0 -0x73(%rax),%ecx
Warning: objdump says 4 bytes, but insn_get_length() says 2
Warning: arch/x86/tools/test_get_len found difference at <memcpy_page_flushcache>:ffffffff819d6b50
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months