[linux-next:master 12693/13311] drivers/ntb/hw/idt/ntb_hw_idt.c:1041:27: warning: stack frame size of 1056 bytes in function 'idt_scan_mws'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 9317f948b0b188b8d2fded75957e6d42c460df1b
commit: bd06731ef42b0b0fb321a06c182ffd83029f69f5 [12693/13311] ubsan: enable for all*config builds
config: powerpc-randconfig-r036-20201216 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 71601d2ac9954cb59c443cb3ae442cb106df35d4)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout bd06731ef42b0b0fb321a06c182ffd83029f69f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/ntb/hw/idt/ntb_hw_idt.c:2409:28: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat]
"\t%hhu-%hhu.\t", idx, idx + cnt - 1);
~~~~ ^~~~~~~~~~~~~
%d
drivers/ntb/hw/idt/ntb_hw_idt.c:2438:29: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat]
"\t%hhu-%hhu.\t", idx, idx + cnt - 1);
~~~~ ^~~~~~~~~~~~~
%d
drivers/ntb/hw/idt/ntb_hw_idt.c:2484:15: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat]
idx, data, src, ndev->peers[src].port);
^~~
>> drivers/ntb/hw/idt/ntb_hw_idt.c:1041:27: warning: stack frame size of 1056 bytes in function 'idt_scan_mws' [-Wframe-larger-than=]
static struct idt_mw_cfg *idt_scan_mws(struct idt_ntb_dev *ndev, int port,
^
4 warnings generated.
vim +/idt_scan_mws +1041 drivers/ntb/hw/idt/ntb_hw_idt.c
bf2a952d31d2cd2 Serge Semin 2017-04-12 1029
bf2a952d31d2cd2 Serge Semin 2017-04-12 1030 /*
bf2a952d31d2cd2 Serge Semin 2017-04-12 1031 * idt_scan_mws() - scan memory windows of the port
bf2a952d31d2cd2 Serge Semin 2017-04-12 1032 * @ndev: IDT NTB hardware driver descriptor
bf2a952d31d2cd2 Serge Semin 2017-04-12 1033 * @port: Port to get number of memory windows for
bf2a952d31d2cd2 Serge Semin 2017-04-12 1034 * @mw_cnt: Out - number of memory windows
bf2a952d31d2cd2 Serge Semin 2017-04-12 1035 *
bf2a952d31d2cd2 Serge Semin 2017-04-12 1036 * It walks over BAR setup registers of the specified port and determines
bf2a952d31d2cd2 Serge Semin 2017-04-12 1037 * the memory windows parameters if any activated.
bf2a952d31d2cd2 Serge Semin 2017-04-12 1038 *
bf2a952d31d2cd2 Serge Semin 2017-04-12 1039 * Return: array of memory windows
bf2a952d31d2cd2 Serge Semin 2017-04-12 1040 */
bf2a952d31d2cd2 Serge Semin 2017-04-12 @1041 static struct idt_mw_cfg *idt_scan_mws(struct idt_ntb_dev *ndev, int port,
bf2a952d31d2cd2 Serge Semin 2017-04-12 1042 unsigned char *mw_cnt)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1043 {
bf2a952d31d2cd2 Serge Semin 2017-04-12 1044 struct idt_mw_cfg mws[IDT_MAX_NR_MWS], *ret_mws;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1045 const struct idt_ntb_bar *bars;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1046 enum idt_mw_type mw_type;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1047 unsigned char widx, bidx, en_cnt;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1048 bool bar_64bit = false;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1049 int aprt_size;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1050 u32 data;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1051
bf2a952d31d2cd2 Serge Semin 2017-04-12 1052 /* Retrieve the array of the BARs registers */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1053 bars = portdata_tbl[port].bars;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1054
bf2a952d31d2cd2 Serge Semin 2017-04-12 1055 /* Scan all the BARs belonging to the port */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1056 *mw_cnt = 0;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1057 for (bidx = 0; bidx < IDT_BAR_CNT; bidx += 1 + bar_64bit) {
bf2a952d31d2cd2 Serge Semin 2017-04-12 1058 /* Read BARSETUP register value */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1059 data = idt_sw_read(ndev, bars[bidx].setup);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1060
bf2a952d31d2cd2 Serge Semin 2017-04-12 1061 /* Skip disabled BARs */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1062 if (!(data & IDT_BARSETUP_EN)) {
bf2a952d31d2cd2 Serge Semin 2017-04-12 1063 bar_64bit = false;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1064 continue;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1065 }
bf2a952d31d2cd2 Serge Semin 2017-04-12 1066
bf2a952d31d2cd2 Serge Semin 2017-04-12 1067 /* Skip next BARSETUP if current one has 64bit addressing */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1068 bar_64bit = IS_FLD_SET(BARSETUP_TYPE, data, 64);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1069
bf2a952d31d2cd2 Serge Semin 2017-04-12 1070 /* Skip configuration space mapping BARs */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1071 if (data & IDT_BARSETUP_MODE_CFG)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1072 continue;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1073
bf2a952d31d2cd2 Serge Semin 2017-04-12 1074 /* Retrieve MW type/entries count and aperture size */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1075 mw_type = GET_FIELD(BARSETUP_ATRAN, data);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1076 en_cnt = idt_get_mw_count(mw_type);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1077 aprt_size = (u64)1 << GET_FIELD(BARSETUP_SIZE, data);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1078
bf2a952d31d2cd2 Serge Semin 2017-04-12 1079 /* Save configurations of all available memory windows */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1080 for (widx = 0; widx < en_cnt; widx++, (*mw_cnt)++) {
bf2a952d31d2cd2 Serge Semin 2017-04-12 1081 /*
bf2a952d31d2cd2 Serge Semin 2017-04-12 1082 * IDT can expose a limited number of MWs, so it's bug
bf2a952d31d2cd2 Serge Semin 2017-04-12 1083 * to have more than the driver expects
bf2a952d31d2cd2 Serge Semin 2017-04-12 1084 */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1085 if (*mw_cnt >= IDT_MAX_NR_MWS)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1086 return ERR_PTR(-EINVAL);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1087
bf2a952d31d2cd2 Serge Semin 2017-04-12 1088 /* Save basic MW info */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1089 mws[*mw_cnt].type = mw_type;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1090 mws[*mw_cnt].bar = bidx;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1091 mws[*mw_cnt].idx = widx;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1092 /* It's always DWORD aligned */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1093 mws[*mw_cnt].addr_align = IDT_TRANS_ALIGN;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1094 /* DIR and LUT approachs differently configure MWs */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1095 if (mw_type == IDT_MW_DIR)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1096 mws[*mw_cnt].size_max = aprt_size;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1097 else if (mw_type == IDT_MW_LUT12)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1098 mws[*mw_cnt].size_max = aprt_size / 16;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1099 else
bf2a952d31d2cd2 Serge Semin 2017-04-12 1100 mws[*mw_cnt].size_max = aprt_size / 32;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1101 mws[*mw_cnt].size_align = (mw_type == IDT_MW_DIR) ?
bf2a952d31d2cd2 Serge Semin 2017-04-12 1102 IDT_DIR_SIZE_ALIGN : mws[*mw_cnt].size_max;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1103 }
bf2a952d31d2cd2 Serge Semin 2017-04-12 1104 }
bf2a952d31d2cd2 Serge Semin 2017-04-12 1105
bf2a952d31d2cd2 Serge Semin 2017-04-12 1106 /* Allocate memory for memory window descriptors */
1b7619828d0c341 Gustavo A. R. Silva 2018-08-27 1107 ret_mws = devm_kcalloc(&ndev->ntb.pdev->dev, *mw_cnt, sizeof(*ret_mws),
1b7619828d0c341 Gustavo A. R. Silva 2018-08-27 1108 GFP_KERNEL);
1b7619828d0c341 Gustavo A. R. Silva 2018-08-27 1109 if (!ret_mws)
bf2a952d31d2cd2 Serge Semin 2017-04-12 1110 return ERR_PTR(-ENOMEM);
bf2a952d31d2cd2 Serge Semin 2017-04-12 1111
bf2a952d31d2cd2 Serge Semin 2017-04-12 1112 /* Copy the info of detected memory windows */
bf2a952d31d2cd2 Serge Semin 2017-04-12 1113 memcpy(ret_mws, mws, (*mw_cnt)*sizeof(*ret_mws));
bf2a952d31d2cd2 Serge Semin 2017-04-12 1114
bf2a952d31d2cd2 Serge Semin 2017-04-12 1115 return ret_mws;
bf2a952d31d2cd2 Serge Semin 2017-04-12 1116 }
bf2a952d31d2cd2 Serge Semin 2017-04-12 1117
:::::: The code at line 1041 was first introduced by commit
:::::: bf2a952d31d2cd28bb3454f15645a76fda70addd NTB: Add IDT 89HPESxNTx PCIe-switches support
:::::: TO: Serge Semin <fancer.lancer(a)gmail.com>
:::::: CC: Jon Mason <jdmason(a)kudzu.us>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
net/ipv4/netfilter/arp_tables.c:1382:56: sparse: sparse: incorrect type in initializer (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d01e7f10dae29eba0f9ada82b65d24e035d5b2f9
commit: cc00bcaa589914096edef7fb87ca5cee4a166b5c netfilter: x_tables: Switch synchronization to RCU
date: 8 days ago
config: s390-randconfig-s032-20201216 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout cc00bcaa589914096edef7fb87ca5cee4a166b5c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
net/ipv4/netfilter/arp_tables.c:1057:48: sparse: sparse: array of flexible structures
net/ipv4/netfilter/arp_tables.c:1359:44: sparse: sparse: array of flexible structures
>> net/ipv4/netfilter/arp_tables.c:1382:56: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct xt_table_info const *private @@ got struct xt_table_info [noderef] __rcu *private @@
net/ipv4/netfilter/arp_tables.c:1382:56: sparse: expected struct xt_table_info const *private
net/ipv4/netfilter/arp_tables.c:1382:56: sparse: got struct xt_table_info [noderef] __rcu *private
net/ipv4/netfilter/arp_tables.c:40:16: sparse: sparse: Initializer entry defined twice
net/ipv4/netfilter/arp_tables.c:40:16: sparse: also defined here
net/ipv4/netfilter/arp_tables.c:40:16: sparse: sparse: Initializer entry defined twice
net/ipv4/netfilter/arp_tables.c:40:16: sparse: also defined here
vim +1382 net/ipv4/netfilter/arp_tables.c
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1361
79df341ab6c0b1e Alexey Dobriyan 2008-01-31 1362 static int compat_get_entries(struct net *net,
79df341ab6c0b1e Alexey Dobriyan 2008-01-31 1363 struct compat_arpt_get_entries __user *uptr,
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1364 int *len)
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1365 {
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1366 int ret;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1367 struct compat_arpt_get_entries get;
4abff0775d5e4fe Jan Engelhardt 2008-04-14 1368 struct xt_table *t;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1369
d7cdf81657776ca Pablo Neira Ayuso 2016-05-03 1370 if (*len < sizeof(get))
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1371 return -EINVAL;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1372 if (copy_from_user(&get, uptr, sizeof(get)) != 0)
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1373 return -EFAULT;
d7cdf81657776ca Pablo Neira Ayuso 2016-05-03 1374 if (*len != sizeof(struct compat_arpt_get_entries) + get.size)
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1375 return -EINVAL;
d7cdf81657776ca Pablo Neira Ayuso 2016-05-03 1376
b301f2538759933 Pablo Neira Ayuso 2016-03-24 1377 get.name[sizeof(get.name) - 1] = '\0';
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1378
ee999d8b9573df1 Jan Engelhardt 2008-10-08 1379 xt_compat_lock(NFPROTO_ARP);
ee999d8b9573df1 Jan Engelhardt 2008-10-08 1380 t = xt_find_table_lock(net, NFPROTO_ARP, get.name);
03d13b6868a261f Florian Westphal 2017-12-08 1381 if (!IS_ERR(t)) {
5452e425adfdfc4 Jan Engelhardt 2008-04-14 @1382 const struct xt_table_info *private = t->private;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1383 struct xt_table_info info;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1384
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1385 ret = compat_table_info(private, &info);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1386 if (!ret && get.size == info.size) {
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1387 ret = compat_copy_entries_to_user(private->size,
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1388 t, uptr->entrytable);
d7cdf81657776ca Pablo Neira Ayuso 2016-05-03 1389 } else if (!ret)
544473c1664f3a6 Patrick McHardy 2008-04-14 1390 ret = -EAGAIN;
d7cdf81657776ca Pablo Neira Ayuso 2016-05-03 1391
ee999d8b9573df1 Jan Engelhardt 2008-10-08 1392 xt_compat_flush_offsets(NFPROTO_ARP);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1393 module_put(t->me);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1394 xt_table_unlock(t);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1395 } else
03d13b6868a261f Florian Westphal 2017-12-08 1396 ret = PTR_ERR(t);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1397
ee999d8b9573df1 Jan Engelhardt 2008-10-08 1398 xt_compat_unlock(NFPROTO_ARP);
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1399 return ret;
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1400 }
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1401 #endif
d6a2ba07c31b049 Patrick McHardy 2007-12-17 1402
:::::: The code at line 1382 was first introduced by commit
:::::: 5452e425adfdfc4647b618e303f73d48f2405b0e [NETFILTER]: annotate {arp,ip,ip6,x}tables with const
:::::: TO: Jan Engelhardt <jengelh(a)computergmbh.de>
:::::: CC: Patrick McHardy <kaber(a)trash.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
Re: [PATCH 1/3] Add TX sending hardware timestamp.
by Philip Li
On Thu, Dec 10, 2020 at 12:41:32PM +0000, Geva, Erez wrote:
>
> On 10/12/2020 04:11, kernel test robot wrote:
> > Hi Erez,
> >
> > Thank you for the patch! Yet something to improve:
> >
> Thanks for the robot,
> as we rarely use clang for kernel. It is very helpful.
>
> > [auto build test ERROR on b65054597872ce3aefbc6a666385eabdf9e288da]
> >
> > url: https://github.com/0day-ci/linux/commits/Erez-Geva/Add-sending-TX-hardwar...
> I can not find this commit
>
> > base: b65054597872ce3aefbc6a666385eabdf9e288da
> > config: mips-randconfig-r026-20201209 (attached as .config)
> > compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1968804ac726e7674d5de22bc2204b45857da344)
> However the clang in
> https://download.01.org/0day-ci/cross-package/clang-latest/clang.tar.xz is version 11
Sorry that these are issues at our side, including the branch/commit missing.
The push to download.01.org failed and did not really work, we will look for
recovering them.
>
> > reproduce (this is a W=1 build):
> > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> Your make cross script tries to download the clang every time.
> Please separate the download (which is ~400 MB and 2 GB after open) from the compilation.
Hi Erez, thanks for your feedback, we will improve the reproduction
side per these suggestions.
>
> Please use "wget" follow your own instructions in this email.
>
> > chmod +x ~/bin/make.cross
> > # install mips cross compiling tool for clang build
> > # apt-get install binutils-mips-linux-gnu
> > # https://github.com/0day-ci/linux/commit/8a8f634bc74db16dc551cfcf3b63c1183...
> > git remote add linux-review https://github.com/0day-ci/linux
> > git fetch --no-tags linux-review Erez-Geva/Add-sending-TX-hardware-timestamp-for-TC-ETF-Qdisc/20201210-000521
> This branch is absent
>
> > git checkout 8a8f634bc74db16dc551cfcf3b63c1183f98eaac
> This commit as well
>
> > # save the attached .config to linux build tree
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
> >
> I use Debian 10.7.
> I usually compile with GCC. I have not see any errors.
>
> When I use clang 11 from download.01.org I get a crash right away.
> Please add a proper instructions how to use clang on Debian or provide
> a Docker container with updated clang for testing.
>
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp(a)intel.com>
> >
> > All errors (new ones prefixed by >>):
> >
> >>> net/core/sock.c:2383:7: error: use of undeclared identifier 'SCM_HW_TXTIME'; did you mean 'SOCK_HW_TXTIME'?
> > case SCM_HW_TXTIME:
> > ^~~~~~~~~~~~~
> > SOCK_HW_TXTIME
> > include/net/sock.h:862:2: note: 'SOCK_HW_TXTIME' declared here
> > SOCK_HW_TXTIME,
> > ^
> > 1 error generated.
> >
> > vim +2383 net/core/sock.c
> >
> > 2351
> > 2352 int __sock_cmsg_send(struct sock *sk, struct msghdr *msg, struct cmsghdr *cmsg,
> > 2353 struct sockcm_cookie *sockc)
> > 2354 {
> > 2355 u32 tsflags;
> > 2356
> > 2357 switch (cmsg->cmsg_type) {
> > 2358 case SO_MARK:
> > 2359 if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN))
> > 2360 return -EPERM;
> > 2361 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u32)))
> > 2362 return -EINVAL;
> > 2363 sockc->mark = *(u32 *)CMSG_DATA(cmsg);
> > 2364 break;
> > 2365 case SO_TIMESTAMPING_OLD:
> > 2366 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u32)))
> > 2367 return -EINVAL;
> > 2368
> > 2369 tsflags = *(u32 *)CMSG_DATA(cmsg);
> > 2370 if (tsflags & ~SOF_TIMESTAMPING_TX_RECORD_MASK)
> > 2371 return -EINVAL;
> > 2372
> > 2373 sockc->tsflags &= ~SOF_TIMESTAMPING_TX_RECORD_MASK;
> > 2374 sockc->tsflags |= tsflags;
> > 2375 break;
> > 2376 case SCM_TXTIME:
> > 2377 if (!sock_flag(sk, SOCK_TXTIME))
> > 2378 return -EINVAL;
> > 2379 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u64)))
> > 2380 return -EINVAL;
> > 2381 sockc->transmit_time = get_unaligned((u64 *)CMSG_DATA(cmsg));
> > 2382 break;
> >> 2383 case SCM_HW_TXTIME:
> > 2384 if (!sock_flag(sk, SOCK_HW_TXTIME))
> > 2385 return -EINVAL;
> > 2386 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u64)))
> > 2387 return -EINVAL;
> > 2388 sockc->transmit_hw_time = get_unaligned((u64 *)CMSG_DATA(cmsg));
> > 2389 break;
> > 2390 /* SCM_RIGHTS and SCM_CREDENTIALS are semantically in SOL_UNIX. */
> > 2391 case SCM_RIGHTS:
> > 2392 case SCM_CREDENTIALS:
> > 2393 break;
> > 2394 default:
> > 2395 return -EINVAL;
> > 2396 }
> > 2397 return 0;
> > 2398 }
> > 2399 EXPORT_SYMBOL(__sock_cmsg_send);
> > 2400
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> >
>
> Please improve the robot, so we can comply and properly support clang compilation.
Got it, we will keep improving the bot.
>
> Thanks
> Erez
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org
1 year, 9 months
sound/soc/fsl/imx-hdmi.c:165:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true
by kernel test robot
Hi Shengjiu,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d01e7f10dae29eba0f9ada82b65d24e035d5b2f9
commit: 6a5f850aa83a1d844d27e3e53ca2f247e55d438b ASoC: fsl: Add imx-hdmi machine driver
date: 8 days ago
config: arm-randconfig-r022-20201216 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 71601d2ac9954cb59c443cb3ae442cb106df35d4)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6a5f850aa83a1d844d27e3e53ca2f247e55d438b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> sound/soc/fsl/imx-hdmi.c:165:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/fsl/imx-hdmi.c:212:9: note: uninitialized use occurs here
return ret;
^~~
sound/soc/fsl/imx-hdmi.c:165:2: note: remove the 'if' if its condition is always false
if ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/fsl/imx-hdmi.c:165:6: warning: variable 'ret' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
if ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in)) {
^~~~~~~~~~~~~~~~~~~~~
sound/soc/fsl/imx-hdmi.c:212:9: note: uninitialized use occurs here
return ret;
^~~
sound/soc/fsl/imx-hdmi.c:165:6: note: remove the '||' if its condition is always false
if ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in)) {
^~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/fsl/imx-hdmi.c:110:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
2 warnings generated.
vim +165 sound/soc/fsl/imx-hdmi.c
100
101 static int imx_hdmi_probe(struct platform_device *pdev)
102 {
103 struct device_node *np = pdev->dev.of_node;
104 bool hdmi_out = of_property_read_bool(np, "hdmi-out");
105 bool hdmi_in = of_property_read_bool(np, "hdmi-in");
106 struct snd_soc_dai_link_component *dlc;
107 struct platform_device *cpu_pdev;
108 struct device_node *cpu_np;
109 struct imx_hdmi_data *data;
110 int ret;
111
112 dlc = devm_kzalloc(&pdev->dev, 3 * sizeof(*dlc), GFP_KERNEL);
113 if (!dlc)
114 return -ENOMEM;
115
116 cpu_np = of_parse_phandle(np, "audio-cpu", 0);
117 if (!cpu_np) {
118 dev_err(&pdev->dev, "cpu dai phandle missing or invalid\n");
119 ret = -EINVAL;
120 goto fail;
121 }
122
123 cpu_pdev = of_find_device_by_node(cpu_np);
124 if (!cpu_pdev) {
125 dev_err(&pdev->dev, "failed to find SAI platform device\n");
126 ret = -EINVAL;
127 goto fail;
128 }
129
130 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
131 if (!data) {
132 ret = -ENOMEM;
133 goto fail;
134 }
135
136 data->dai.cpus = &dlc[0];
137 data->dai.num_cpus = 1;
138 data->dai.platforms = &dlc[1];
139 data->dai.num_platforms = 1;
140 data->dai.codecs = &dlc[2];
141 data->dai.num_codecs = 1;
142
143 data->dai.name = "i.MX HDMI";
144 data->dai.stream_name = "i.MX HDMI";
145 data->dai.cpus->dai_name = dev_name(&cpu_pdev->dev);
146 data->dai.platforms->of_node = cpu_np;
147 data->dai.ops = &imx_hdmi_ops;
148 data->dai.playback_only = true;
149 data->dai.capture_only = false;
150 data->dai.init = imx_hdmi_init;
151
152 if (of_node_name_eq(cpu_np, "sai")) {
153 data->cpu_priv.sysclk_id[1] = FSL_SAI_CLK_MAST1;
154 data->cpu_priv.sysclk_id[0] = FSL_SAI_CLK_MAST1;
155 }
156
157 if (of_device_is_compatible(np, "fsl,imx-audio-sii902x")) {
158 data->dai_fmt = SND_SOC_DAIFMT_LEFT_J;
159 data->cpu_priv.slot_width = 24;
160 } else {
161 data->dai_fmt = SND_SOC_DAIFMT_I2S;
162 data->cpu_priv.slot_width = 32;
163 }
164
> 165 if ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in)) {
166 dev_err(&pdev->dev, "Invalid HDMI DAI link\n");
167 goto fail;
168 }
169
170 if (hdmi_out) {
171 data->dai.playback_only = true;
172 data->dai.capture_only = false;
173 data->dai.codecs->dai_name = "i2s-hifi";
174 data->dai.codecs->name = "hdmi-audio-codec.1";
175 data->dai.dai_fmt = data->dai_fmt |
176 SND_SOC_DAIFMT_NB_NF |
177 SND_SOC_DAIFMT_CBS_CFS;
178 }
179
180 if (hdmi_in) {
181 data->dai.playback_only = false;
182 data->dai.capture_only = true;
183 data->dai.codecs->dai_name = "i2s-hifi";
184 data->dai.codecs->name = "hdmi-audio-codec.2";
185 data->dai.dai_fmt = data->dai_fmt |
186 SND_SOC_DAIFMT_NB_NF |
187 SND_SOC_DAIFMT_CBM_CFM;
188 }
189
190 data->card.dapm_widgets = imx_hdmi_widgets;
191 data->card.num_dapm_widgets = ARRAY_SIZE(imx_hdmi_widgets);
192 data->card.dev = &pdev->dev;
193 data->card.owner = THIS_MODULE;
194 ret = snd_soc_of_parse_card_name(&data->card, "model");
195 if (ret)
196 goto fail;
197
198 data->card.num_links = 1;
199 data->card.dai_link = &data->dai;
200
201 snd_soc_card_set_drvdata(&data->card, data);
202 ret = devm_snd_soc_register_card(&pdev->dev, &data->card);
203 if (ret) {
204 dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
205 goto fail;
206 }
207
208 fail:
209 if (cpu_np)
210 of_node_put(cpu_np);
211
212 return ret;
213 }
214
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
Re: [PATCH] arm64/smp: Remove unused irq variable in arch_show_interrupts()
by kernel test robot
Hi Geert,
I love your patch! Yet something to improve:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on v5.10 next-20201215]
[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/Geert-Uytterhoeven/arm64-smp-Rem...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/846fff4a14d7c14a353d85b97cf8fbd62...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Geert-Uytterhoeven/arm64-smp-Remove-unused-irq-variable-in-arch_show_interrupts/20201215-183804
git checkout 846fff4a14d7c14a353d85b97cf8fbd625f4a887
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/arm64/kernel/smp.c: In function 'arch_show_interrupts':
>> arch/arm64/kernel/smp.c:811:42: error: 'irq' undeclared (first use in this function); did you mean 'rq'?
811 | seq_printf(p, "%10u ", kstat_irqs_cpu(irq, cpu));
| ^~~
| rq
arch/arm64/kernel/smp.c:811:42: note: each undeclared identifier is reported only once for each function it appears in
arch/arm64/kernel/smp.c: At top level:
arch/arm64/kernel/smp.c:837:6: warning: no previous prototype for 'arch_irq_work_raise' [-Wmissing-prototypes]
837 | void arch_irq_work_raise(void)
| ^~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/smp.c:857:6: warning: no previous prototype for 'panic_smp_self_stop' [-Wmissing-prototypes]
857 | void panic_smp_self_stop(void)
| ^~~~~~~~~~~~~~~~~~~
vim +811 arch/arm64/kernel/smp.c
a263881525310e1 Marc Zyngier 2020-06-20 802
a263881525310e1 Marc Zyngier 2020-06-20 803 int arch_show_interrupts(struct seq_file *p, int prec)
08e875c16a16c95 Catalin Marinas 2012-03-05 804 {
08e875c16a16c95 Catalin Marinas 2012-03-05 805 unsigned int cpu, i;
08e875c16a16c95 Catalin Marinas 2012-03-05 806
08e875c16a16c95 Catalin Marinas 2012-03-05 807 for (i = 0; i < NR_IPI; i++) {
45ed695ac10a23c Nicolas Pitre 2014-07-25 808 seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i,
08e875c16a16c95 Catalin Marinas 2012-03-05 809 prec >= 4 ? " " : "");
67317c2689567c2 Sudeep Holla 2013-11-07 810 for_each_online_cpu(cpu)
a263881525310e1 Marc Zyngier 2020-06-20 @811 seq_printf(p, "%10u ", kstat_irqs_cpu(irq, cpu));
08e875c16a16c95 Catalin Marinas 2012-03-05 812 seq_printf(p, " %s\n", ipi_types[i]);
08e875c16a16c95 Catalin Marinas 2012-03-05 813 }
08e875c16a16c95 Catalin Marinas 2012-03-05 814
a263881525310e1 Marc Zyngier 2020-06-20 815 seq_printf(p, "%*s: %10lu\n", prec, "Err", irq_err_count);
a263881525310e1 Marc Zyngier 2020-06-20 816 return 0;
08e875c16a16c95 Catalin Marinas 2012-03-05 817 }
08e875c16a16c95 Catalin Marinas 2012-03-05 818
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
Re: [PATCH v2 2/2] drm: automatic legacy gamma support
by kernel test robot
Hi Tomi,
I love your patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on linus/master v5.10-rc7]
[cannot apply to drm-tip/drm-tip anholt/for-next next-20201210]
[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/Tomi-Valkeinen/drm-fix-and-clean...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-m021-20201209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
drivers/gpu/drm/drm_color_mgmt.c:307 drm_crtc_legacy_gamma_set() error: potential null dereference 'blob'. (drm_property_create_blob returns null)
Old smatch warnings:
drivers/gpu/drm/drm_color_mgmt.c:214 drm_mode_crtc_set_gamma_size() warn: double check that we're allocating correct size: 2 vs 6
vim +/blob +307 drivers/gpu/drm/drm_color_mgmt.c
253
254 /**
255 * drm_crtc_legacy_gamma_set - set the legacy gamma correction table
256 * @crtc: CRTC object
257 * @red: red correction table
258 * @green: green correction table
259 * @blue: green correction table
260 * @size: size of the tables
261 * @ctx: lock acquire context
262 *
263 * Implements support for legacy gamma correction table for drivers
264 * that have set drm_crtc_funcs.gamma_set or that support color management
265 * through the DEGAMMA_LUT/GAMMA_LUT properties. See
266 * drm_crtc_enable_color_mgmt() and the containing chapter for
267 * how the atomic color management and gamma tables work.
268 *
269 * This function sets the gamma using the first one available:
270 * - drm_crtc_funcs.gamma_set()
271 * - GAMMA_LUT
272 * - DEGAMMA_LUT
273 */
274 int drm_crtc_legacy_gamma_set(struct drm_crtc *crtc,
275 u16 *red, u16 *green, u16 *blue,
276 uint32_t size,
277 struct drm_modeset_acquire_ctx *ctx)
278 {
279 struct drm_device *dev = crtc->dev;
280 struct drm_atomic_state *state;
281 struct drm_crtc_state *crtc_state;
282 struct drm_property_blob *blob = NULL;
283 struct drm_color_lut *blob_data;
284 int i, ret = 0;
285 bool replaced;
286
287 if (crtc->funcs->gamma_set)
288 return crtc->funcs->gamma_set(crtc, red, green, blue, size, ctx);
289
290 if (!crtc->has_gamma_prop && !crtc->has_degamma_prop)
291 return -ENODEV;
292
293 state = drm_atomic_state_alloc(crtc->dev);
294 if (!state)
295 return -ENOMEM;
296
297 blob = drm_property_create_blob(dev,
298 sizeof(struct drm_color_lut) * size,
299 NULL);
300 if (IS_ERR(blob)) {
301 ret = PTR_ERR(blob);
302 blob = NULL;
303 goto fail;
304 }
305
306 /* Prepare GAMMA_LUT with the legacy values. */
> 307 blob_data = blob->data;
308 for (i = 0; i < size; i++) {
309 blob_data[i].red = red[i];
310 blob_data[i].green = green[i];
311 blob_data[i].blue = blue[i];
312 }
313
314 state->acquire_ctx = ctx;
315 crtc_state = drm_atomic_get_crtc_state(state, crtc);
316 if (IS_ERR(crtc_state)) {
317 ret = PTR_ERR(crtc_state);
318 goto fail;
319 }
320
321 /* Set GAMMA/DEGAMMA_LUT and reset DEGAMMA/GAMMA_LUT and CTM */
322 replaced = drm_property_replace_blob(&crtc_state->degamma_lut,
323 crtc->has_gamma_prop ? NULL : blob);
324 replaced |= drm_property_replace_blob(&crtc_state->ctm, NULL);
325 replaced |= drm_property_replace_blob(&crtc_state->gamma_lut,
326 crtc->has_gamma_prop ? blob : NULL);
327 crtc_state->color_mgmt_changed |= replaced;
328
329 ret = drm_atomic_commit(state);
330
331 fail:
332 drm_atomic_state_put(state);
333 drm_property_blob_put(blob);
334 return ret;
335 }
336 EXPORT_SYMBOL(drm_crtc_legacy_gamma_set);
337
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[kbuild] Re: [PATCH 1/7] vfio: iommu_type1: Clear added dirty bit when unwind pin
by Dan Carpenter
Hi Keqian,
url: https://github.com/0day-ci/linux/commits/Keqian-Zhu/vfio-iommu_type1-Some...
base: https://github.com/awilliam/linux-vfio.git next
config: x86_64-randconfig-m001-20201215 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/vfio/vfio_iommu_type1.c:648 vfio_iommu_type1_pin_pages() warn: variable dereferenced before check 'iommu' (see line 640)
vim +/iommu +648 drivers/vfio/vfio_iommu_type1.c
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 631 static int vfio_iommu_type1_pin_pages(void *iommu_data,
95fc87b44104d9a Kirti Wankhede 2020-05-29 632 struct iommu_group *iommu_group,
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 633 unsigned long *user_pfn,
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 634 int npage, int prot,
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 635 unsigned long *phys_pfn)
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 636 {
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 637 struct vfio_iommu *iommu = iommu_data;
95fc87b44104d9a Kirti Wankhede 2020-05-29 638 struct vfio_group *group;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 639 int i, j, ret;
2b172c0ea2a6daf Keqian Zhu 2020-12-10 @640 unsigned long pgshift = __ffs(iommu->pgsize_bitmap);
^^^^^^^^^^^^^^^^^^^^
The patch introduces a new dereference.
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 641 unsigned long remote_vaddr;
2b172c0ea2a6daf Keqian Zhu 2020-12-10 642 unsigned long bitmap_offset;
2b172c0ea2a6daf Keqian Zhu 2020-12-10 643 unsigned long *bitmap_added;
2b172c0ea2a6daf Keqian Zhu 2020-12-10 644 dma_addr_t iova;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 645 struct vfio_dma *dma;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 646 bool do_accounting;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 647
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 @648 if (!iommu || !user_pfn || !phys_pfn)
^^^^^^
Checked too late.
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 649 return -EINVAL;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 650
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 651 /* Supported for v2 version only */
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 652 if (!iommu->v2)
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 653 return -EACCES;
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 654
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 655 mutex_lock(&iommu->lock);
a54eb55045ae9b3 Kirti Wankhede 2016-11-17 656
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
1 year, 9 months
drivers/mtd/tests/subpagetest.c:426:1: error: could not split insn
by kernel test robot
Hi Willy,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 148842c98a24e508aecb929718818fbf4c2a6ff3
commit: 3744741adab6d9195551ce30e65e726c7a408421 random32: add noise from network and scheduling activity
date: 7 weeks ago
config: csky-randconfig-r004-20201215 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 3744741adab6d9195551ce30e65e726c7a408421
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=csky
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/mtd/tests/subpagetest.c: In function 'mtd_subpagetest_init':
>> drivers/mtd/tests/subpagetest.c:426:1: error: could not split insn
426 | }
| ^
(insn:TI 453 2652 455 (set (reg/v:SI 3 a3 [orig:304 a ] [304])
(xor:SI (reg:SI 1 a1 [orig:717 net_rand_noise ] [717])
(const:SI (plus:SI (symbol_ref:SI ("*.LANCHOR0") [flags 0x182])
(const_int 12 [0xc]))))) "include/linux/prandom.h":66:4 152 {cskyv2_xorsi3}
(expr_list:REG_DEAD (reg:SI 1 a1 [orig:717 net_rand_noise ] [717])
(nil)))
during RTL pass: final
drivers/mtd/tests/subpagetest.c:426:1: internal compiler error: in final_scan_insn_1, at final.c:3074
0x510da0 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/rtl-error.c:108
0x503d22 final_scan_insn_1
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/final.c:3074
0x73f8bf final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/final.c:3153
0x73fbac final_1
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/final.c:2021
0x740618 rest_of_handle_final
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/final.c:4659
0x740618 execute
/tmp/build-crosstools-xh-9.3.0-2.34/gcc/gcc-9.3.0/gcc/final.c:4737
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
vim +426 drivers/mtd/tests/subpagetest.c
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 267
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 268 static int __init mtd_subpagetest_init(void)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 269 {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 270 int err = 0;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 271 uint32_t i;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 272 uint64_t tmp;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 273
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 274 printk(KERN_INFO "\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 275 printk(KERN_INFO "=================================================\n");
7406060e292c389 drivers/mtd/tests/mtd_subpagetest.c Wolfram Sang 2011-10-30 276
7406060e292c389 drivers/mtd/tests/mtd_subpagetest.c Wolfram Sang 2011-10-30 277 if (dev < 0) {
064a7694b534720 drivers/mtd/tests/mtd_subpagetest.c Masanari Iida 2012-11-09 278 pr_info("Please specify a valid mtd-device via module parameter\n");
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 279 pr_crit("CAREFUL: This test wipes all data on the specified MTD device!\n");
7406060e292c389 drivers/mtd/tests/mtd_subpagetest.c Wolfram Sang 2011-10-30 280 return -EINVAL;
7406060e292c389 drivers/mtd/tests/mtd_subpagetest.c Wolfram Sang 2011-10-30 281 }
7406060e292c389 drivers/mtd/tests/mtd_subpagetest.c Wolfram Sang 2011-10-30 282
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 283 pr_info("MTD device: %d\n", dev);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 284
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 285 mtd = get_mtd_device(NULL, dev);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 286 if (IS_ERR(mtd)) {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 287 err = PTR_ERR(mtd);
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 288 pr_err("error: cannot get MTD device\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 289 return err;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 290 }
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 291
818b97392932ac4 drivers/mtd/tests/subpagetest.c Huang Shijie 2013-09-25 292 if (!mtd_type_is_nand(mtd)) {
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 293 pr_info("this test requires NAND flash\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 294 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 295 }
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 296
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 297 subpgsize = mtd->writesize >> mtd->subpage_sft;
7b7e905ec2ec511 drivers/mtd/tests/mtd_subpagetest.c Roman Tereshonkov 2011-02-03 298 tmp = mtd->size;
7b7e905ec2ec511 drivers/mtd/tests/mtd_subpagetest.c Roman Tereshonkov 2011-02-03 299 do_div(tmp, mtd->erasesize);
7b7e905ec2ec511 drivers/mtd/tests/mtd_subpagetest.c Roman Tereshonkov 2011-02-03 300 ebcnt = tmp;
7b7e905ec2ec511 drivers/mtd/tests/mtd_subpagetest.c Roman Tereshonkov 2011-02-03 301 pgcnt = mtd->erasesize / mtd->writesize;
7b7e905ec2ec511 drivers/mtd/tests/mtd_subpagetest.c Roman Tereshonkov 2011-02-03 302
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 303 pr_info("MTD device size %llu, eraseblock size %u, "
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 304 "page size %u, subpage size %u, count of eraseblocks %u, "
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 305 "pages per eraseblock %u, OOB size %u\n",
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 306 (unsigned long long)mtd->size, mtd->erasesize,
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 307 mtd->writesize, subpgsize, ebcnt, pgcnt, mtd->oobsize);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 308
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 309 err = -ENOMEM;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 310 bufsize = subpgsize * 32;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 311 writebuf = kmalloc(bufsize, GFP_KERNEL);
33777e6676ca606 drivers/mtd/tests/mtd_subpagetest.c Brian Norris 2013-05-02 312 if (!writebuf)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 313 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 314 readbuf = kmalloc(bufsize, GFP_KERNEL);
33777e6676ca606 drivers/mtd/tests/mtd_subpagetest.c Brian Norris 2013-05-02 315 if (!readbuf)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 316 goto out;
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 317 bbt = kzalloc(ebcnt, GFP_KERNEL);
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 318 if (!bbt)
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 319 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 320
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 321 err = mtdtest_scan_for_bad_eraseblocks(mtd, bbt, 0, ebcnt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 322 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 323 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 324
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 325 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 326 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 327 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 328
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 329 pr_info("writing whole device\n");
a312b78b0ad6abb drivers/mtd/tests/mtd_subpagetest.c Akinobu Mita 2013-02-27 330 prandom_seed_state(&rnd_state, 1);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 331 for (i = 0; i < ebcnt; ++i) {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 332 if (bbt[i])
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 333 continue;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 334 err = write_eraseblock(i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 335 if (unlikely(err))
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 336 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 337 if (i % 256 == 0)
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 338 pr_info("written up to eraseblock %u\n", i);
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 339
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 340 err = mtdtest_relax();
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 341 if (err)
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 342 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 343 }
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 344 pr_info("written %u eraseblocks\n", i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 345
a312b78b0ad6abb drivers/mtd/tests/mtd_subpagetest.c Akinobu Mita 2013-02-27 346 prandom_seed_state(&rnd_state, 1);
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 347 pr_info("verifying all eraseblocks\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 348 for (i = 0; i < ebcnt; ++i) {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 349 if (bbt[i])
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 350 continue;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 351 err = verify_eraseblock(i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 352 if (unlikely(err))
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 353 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 354 if (i % 256 == 0)
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 355 pr_info("verified up to eraseblock %u\n", i);
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 356
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 357 err = mtdtest_relax();
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 358 if (err)
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 359 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 360 }
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 361 pr_info("verified %u eraseblocks\n", i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 362
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 363 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 364 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 365 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 366
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 367 err = verify_all_eraseblocks_ff();
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 368 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 369 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 370
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 371 /* Write all eraseblocks */
a312b78b0ad6abb drivers/mtd/tests/mtd_subpagetest.c Akinobu Mita 2013-02-27 372 prandom_seed_state(&rnd_state, 3);
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 373 pr_info("writing whole device\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 374 for (i = 0; i < ebcnt; ++i) {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 375 if (bbt[i])
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 376 continue;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 377 err = write_eraseblock2(i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 378 if (unlikely(err))
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 379 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 380 if (i % 256 == 0)
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 381 pr_info("written up to eraseblock %u\n", i);
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 382
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 383 err = mtdtest_relax();
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 384 if (err)
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 385 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 386 }
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 387 pr_info("written %u eraseblocks\n", i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 388
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 389 /* Check all eraseblocks */
a312b78b0ad6abb drivers/mtd/tests/mtd_subpagetest.c Akinobu Mita 2013-02-27 390 prandom_seed_state(&rnd_state, 3);
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 391 pr_info("verifying all eraseblocks\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 392 for (i = 0; i < ebcnt; ++i) {
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 393 if (bbt[i])
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 394 continue;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 395 err = verify_eraseblock2(i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 396 if (unlikely(err))
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 397 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 398 if (i % 256 == 0)
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 399 pr_info("verified up to eraseblock %u\n", i);
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 400
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 401 err = mtdtest_relax();
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 402 if (err)
2a6a28e7922c07c drivers/mtd/tests/subpagetest.c Richard Weinberger 2015-03-29 403 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 404 }
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 405 pr_info("verified %u eraseblocks\n", i);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 406
725cd71c0245d1a drivers/mtd/tests/subpagetest.c Akinobu Mita 2013-08-03 407 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 408 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 409 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 410
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 411 err = verify_all_eraseblocks_ff();
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 412 if (err)
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 413 goto out;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 414
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 415 pr_info("finished with %d errors\n", errcnt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 416
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 417 out:
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 418 kfree(bbt);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 419 kfree(readbuf);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 420 kfree(writebuf);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 421 put_mtd_device(mtd);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 422 if (err)
cd66a2df7c29e51 drivers/mtd/tests/mtd_subpagetest.c Vikram Narayanan 2012-10-10 423 pr_info("error %d occurred\n", err);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 424 printk(KERN_INFO "=================================================\n");
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 425 return err;
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 @426 }
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 427 module_init(mtd_subpagetest_init);
bf60862a58f7cd8 drivers/mtd/tests/mtd_subpagetest.c Artem Bityutskiy 2008-12-08 428
:::::: The code at line 426 was first introduced by commit
:::::: bf60862a58f7cd881cfe86a3b2aceaea4a22b3b0 MTD: tests: add mtd_subpagetest
:::::: TO: Artem Bityutskiy <Artem.Bityutskiy(a)nokia.com>
:::::: CC: Artem Bityutskiy <Artem.Bityutskiy(a)nokia.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[android-common:android11-5.4 8965/10049] ld.lld: error: undefined symbol: i2c_transfer
by kernel test robot
Hi Greg,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android11-5.4
head: ed5c049cade042d2c4f45a98399317fd513e53a7
commit: 9c8aa25e2955df58dae59e409ec1bc7f850935d9 [8965/10049] ANDROID: GKI: fix symbol_get/put() build error on arm64 defconfig
config: x86_64-randconfig-a014-20201215 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a29ecca7819a6ed4250d3689b12b1f664bb790d7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android11-5.4
git checkout 9c8aa25e2955df58dae59e409ec1bc7f850935d9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> ld.lld: error: undefined symbol: i2c_transfer
>>> referenced by tda8290.c:584 (drivers/media/tuners/tda8290.c:584)
>>> media/tuners/tda8290.o:(tda829x_attach) in archive drivers/built-in.a
>>> referenced by tda8290.c:601 (drivers/media/tuners/tda8290.c:601)
>>> media/tuners/tda8290.o:(tda829x_attach) in archive drivers/built-in.a
>>> referenced by tda8290.c:621 (drivers/media/tuners/tda8290.c:621)
>>> media/tuners/tda8290.o:(tda829x_attach) in archive drivers/built-in.a
>>> referenced 67 more times
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months