[intel-lts:5.15/linux 2470/2488] drivers/net/bonding/bond_main.c:2177:36: error: initialized field overwritten
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.15/linux
head: 91b52769309e2c4d3d4230266426b5eb65418bef
commit: bb9ef3cb40b9748d9a676d8d381668f0ca3a9a9f [2470/2488] net/core: XDP metadata BTF netlink API
config: m68k-randconfig-c024-20220213 (https://download.01.org/0day-ci/archive/20220213/202202132120.GBB9KEvk-lk...)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel/linux-intel-lts/commit/bb9ef3cb40b9748d9a676d8d3...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.15/linux
git checkout bb9ef3cb40b9748d9a676d8d381668f0ca3a9a9f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/bonding/bond_main.c: In function 'bond_enslave':
>> drivers/net/bonding/bond_main.c:2177:36: error: initialized field overwritten [-Werror=override-init]
2177 | .extack = extack,
| ^~~~~~
drivers/net/bonding/bond_main.c:2177:36: note: (near initialization for 'xdp.<anonymous>.extack')
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/limits.h:6,
from include/linux/kernel.h:7,
from drivers/net/bonding/bond_main.c:34:
drivers/net/bonding/bond_main.c: In function '__bond_release_one':
>> include/linux/stddef.h:8:14: error: initialized field overwritten [-Werror=override-init]
8 | #define NULL ((void *)0)
| ^
drivers/net/bonding/bond_main.c:2321:36: note: in expansion of macro 'NULL'
2321 | .extack = NULL,
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'xdp.<anonymous>.extack')
8 | #define NULL ((void *)0)
| ^
drivers/net/bonding/bond_main.c:2321:36: note: in expansion of macro 'NULL'
2321 | .extack = NULL,
| ^~~~
drivers/net/bonding/bond_main.c: In function 'bond_xdp_set':
drivers/net/bonding/bond_main.c:5187:28: error: initialized field overwritten [-Werror=override-init]
5187 | .extack = extack,
| ^~~~~~
drivers/net/bonding/bond_main.c:5187:28: note: (near initialization for 'xdp.<anonymous>.extack')
cc1: all warnings being treated as errors
vim +2177 drivers/net/bonding/bond_main.c
8a8efa22f51b3c Amerigo Wang 2011-02-17 2091
fbe168ba91f7c3 Michal Kubeček 2014-11-13 2092 if (!(bond_dev->features & NETIF_F_LRO))
fbe168ba91f7c3 Michal Kubeček 2014-11-13 2093 dev_disable_lro(slave_dev);
fbe168ba91f7c3 Michal Kubeček 2014-11-13 2094
35d48903e97819 Jiri Pirko 2011-03-22 2095 res = netdev_rx_handler_register(slave_dev, bond_handle_frame,
35d48903e97819 Jiri Pirko 2011-03-22 2096 new_slave);
35d48903e97819 Jiri Pirko 2011-03-22 2097 if (res) {
e2a7420df2e013 Jarod Wilson 2019-06-07 2098 slave_dbg(bond_dev, slave_dev, "Error %d calling netdev_rx_handler_register\n", res);
5831d66e8097ae Veaceslav Falico 2013-09-25 2099 goto err_detach;
35d48903e97819 Jiri Pirko 2011-03-22 2100 }
35d48903e97819 Jiri Pirko 2011-03-22 2101
42ab19ee902929 David Ahern 2017-10-04 2102 res = bond_master_upper_dev_link(bond, new_slave, extack);
1f718f0f4f9714 Veaceslav Falico 2013-09-25 2103 if (res) {
e2a7420df2e013 Jarod Wilson 2019-06-07 2104 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_master_upper_dev_link\n", res);
1f718f0f4f9714 Veaceslav Falico 2013-09-25 2105 goto err_unregister;
1f718f0f4f9714 Veaceslav Falico 2013-09-25 2106 }
1f718f0f4f9714 Veaceslav Falico 2013-09-25 2107
32d4c5647aad13 Tobias Waldekranz 2021-01-13 2108 bond_lower_state_changed(new_slave);
32d4c5647aad13 Tobias Waldekranz 2021-01-13 2109
07699f9a7c8d10 sfeldma(a)cumulusnetworks.com 2014-01-16 2110 res = bond_sysfs_slave_add(new_slave);
07699f9a7c8d10 sfeldma(a)cumulusnetworks.com 2014-01-16 2111 if (res) {
e2a7420df2e013 Jarod Wilson 2019-06-07 2112 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res);
07699f9a7c8d10 sfeldma(a)cumulusnetworks.com 2014-01-16 2113 goto err_upper_unlink;
07699f9a7c8d10 sfeldma(a)cumulusnetworks.com 2014-01-16 2114 }
07699f9a7c8d10 sfeldma(a)cumulusnetworks.com 2014-01-16 2115
ae42cc62a9f07f Xin Long 2018-03-26 2116 /* If the mode uses primary, then the following is handled by
ae42cc62a9f07f Xin Long 2018-03-26 2117 * bond_change_active_slave().
ae42cc62a9f07f Xin Long 2018-03-26 2118 */
ae42cc62a9f07f Xin Long 2018-03-26 2119 if (!bond_uses_primary(bond)) {
ae42cc62a9f07f Xin Long 2018-03-26 2120 /* set promiscuity level to new slave */
ae42cc62a9f07f Xin Long 2018-03-26 2121 if (bond_dev->flags & IFF_PROMISC) {
ae42cc62a9f07f Xin Long 2018-03-26 2122 res = dev_set_promiscuity(slave_dev, 1);
ae42cc62a9f07f Xin Long 2018-03-26 2123 if (res)
ae42cc62a9f07f Xin Long 2018-03-26 2124 goto err_sysfs_del;
ae42cc62a9f07f Xin Long 2018-03-26 2125 }
ae42cc62a9f07f Xin Long 2018-03-26 2126
ae42cc62a9f07f Xin Long 2018-03-26 2127 /* set allmulti level to new slave */
ae42cc62a9f07f Xin Long 2018-03-26 2128 if (bond_dev->flags & IFF_ALLMULTI) {
ae42cc62a9f07f Xin Long 2018-03-26 2129 res = dev_set_allmulti(slave_dev, 1);
9f5a90c107741b Xin Long 2018-03-26 2130 if (res) {
9f5a90c107741b Xin Long 2018-03-26 2131 if (bond_dev->flags & IFF_PROMISC)
9f5a90c107741b Xin Long 2018-03-26 2132 dev_set_promiscuity(slave_dev, -1);
ae42cc62a9f07f Xin Long 2018-03-26 2133 goto err_sysfs_del;
ae42cc62a9f07f Xin Long 2018-03-26 2134 }
9f5a90c107741b Xin Long 2018-03-26 2135 }
ae42cc62a9f07f Xin Long 2018-03-26 2136
ae42cc62a9f07f Xin Long 2018-03-26 2137 netif_addr_lock_bh(bond_dev);
ae42cc62a9f07f Xin Long 2018-03-26 2138 dev_mc_sync_multiple(slave_dev, bond_dev);
ae42cc62a9f07f Xin Long 2018-03-26 2139 dev_uc_sync_multiple(slave_dev, bond_dev);
ae42cc62a9f07f Xin Long 2018-03-26 2140 netif_addr_unlock_bh(bond_dev);
ae42cc62a9f07f Xin Long 2018-03-26 2141
ae42cc62a9f07f Xin Long 2018-03-26 2142 if (BOND_MODE(bond) == BOND_MODE_8023AD) {
ae42cc62a9f07f Xin Long 2018-03-26 2143 /* add lacpdu mc addr to mc list */
ae42cc62a9f07f Xin Long 2018-03-26 2144 u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
ae42cc62a9f07f Xin Long 2018-03-26 2145
ae42cc62a9f07f Xin Long 2018-03-26 2146 dev_mc_add(slave_dev, lacpdu_multicast);
ae42cc62a9f07f Xin Long 2018-03-26 2147 }
ae42cc62a9f07f Xin Long 2018-03-26 2148 }
ae42cc62a9f07f Xin Long 2018-03-26 2149
5378c2e6ea236d Veaceslav Falico 2013-10-21 2150 bond->slave_cnt++;
5378c2e6ea236d Veaceslav Falico 2013-10-21 2151 bond_compute_features(bond);
5378c2e6ea236d Veaceslav Falico 2013-10-21 2152 bond_set_carrier(bond);
5378c2e6ea236d Veaceslav Falico 2013-10-21 2153
ec0865a94991d1 Veaceslav Falico 2014-05-15 2154 if (bond_uses_primary(bond)) {
f80889a5b79cae dingtianhong 2014-02-12 2155 block_netpoll_tx();
5378c2e6ea236d Veaceslav Falico 2013-10-21 2156 bond_select_active_slave(bond);
f80889a5b79cae dingtianhong 2014-02-12 2157 unblock_netpoll_tx();
5378c2e6ea236d Veaceslav Falico 2013-10-21 2158 }
1f718f0f4f9714 Veaceslav Falico 2013-09-25 2159
e79c1055749e31 Debabrata Banerjee 2018-05-14 2160 if (bond_mode_can_use_xmit_hash(bond))
ee6377147409a0 Mahesh Bandewar 2014-10-04 2161 bond_update_slave_arr(bond, NULL);
ee6377147409a0 Mahesh Bandewar 2014-10-04 2162
21706ee8a47d3e Debabrata Banerjee 2018-05-09 2163
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2164 if (!slave_dev->netdev_ops->ndo_bpf ||
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2165 !slave_dev->netdev_ops->ndo_xdp_xmit) {
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2166 if (bond->xdp_prog) {
6569fa2d4e0147 Jonathan Toppins 2021-08-10 2167 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
6569fa2d4e0147 Jonathan Toppins 2021-08-10 2168 "Slave does not support XDP");
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2169 res = -EOPNOTSUPP;
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2170 goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2171 }
6d5f1ef838683e Jussi Maki 2021-09-06 2172 } else if (bond->xdp_prog) {
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2173 struct netdev_bpf xdp = {
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2174 .command = XDP_SETUP_PROG,
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2175 .flags = 0,
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2176 .prog = bond->xdp_prog,
9e2ee5c7e7c35d Jussi Maki 2021-07-31 @2177 .extack = extack,
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2178 };
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2179
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2180 if (dev_xdp_prog_count(slave_dev) > 0) {
6569fa2d4e0147 Jonathan Toppins 2021-08-10 2181 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2182 "Slave has XDP program loaded, please unload before enslaving");
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2183 res = -EOPNOTSUPP;
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2184 goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2185 }
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2186
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2187 res = slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp);
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2188 if (res < 0) {
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2189 /* ndo_bpf() sets extack error message */
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2190 slave_dbg(bond_dev, slave_dev, "Error %d calling ndo_bpf\n", res);
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2191 goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2192 }
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2193 if (bond->xdp_prog)
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2194 bpf_prog_inc(bond->xdp_prog);
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2195 }
9e2ee5c7e7c35d Jussi Maki 2021-07-31 2196
e2a7420df2e013 Jarod Wilson 2019-06-07 2197 slave_info(bond_dev, slave_dev, "Enslaving as %s interface with %s link\n",
90194264ceffdf Joe Perches 2014-02-15 2198 bond_is_active_slave(new_slave) ? "an active" : "a backup",
90194264ceffdf Joe Perches 2014-02-15 2199 new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
^1da177e4c3f41 Linus Torvalds 2005-04-16 2200
^1da177e4c3f41 Linus Torvalds 2005-04-16 2201 /* enslave is successful */
69e6113343cfe9 Moni Shoua 2015-02-03 2202 bond_queue_slave_event(new_slave);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2203 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2204
:::::: The code at line 2177 was first introduced by commit
:::::: 9e2ee5c7e7c35d195e2aa0692a7241d47a433d1e net, bonding: Add XDP support to the bonding driver
:::::: TO: Jussi Maki <joamaki(a)gmail.com>
:::::: CC: Daniel Borkmann <daniel(a)iogearbox.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
[linux-next:master 4413/5417] include/linux/fortify-string.h:275:25: error: call to '__read_overflow2_field' declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 6d9bd4ad4ca08b1114e814c2c42383b8b13be631
commit: 9b106a9037d705d0c5cbc747b6fed7cbb33b0e00 [4413/5417] fortify: Detect struct member overflows in memcpy() at compile-time
config: arm-randconfig-c002-20220213 (https://download.01.org/0day-ci/archive/20220213/202202132148.O500YcwH-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://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 9b106a9037d705d0c5cbc747b6fed7cbb33b0e00
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/nfc/pn533/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/string.h:253,
from include/linux/bitmap.h:11,
from include/linux/cpumask.h:12,
from include/linux/smp.h:13,
from include/linux/lockdep.h:14,
from include/linux/rcupdate.h:29,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/nfc/pn533/pn533.c:9:
In function 'fortify_memcpy_chk',
inlined from 'pn533_target_found_felica.part.0' at drivers/nfc/pn533/pn533.c:781:2:
>> include/linux/fortify-string.h:275:25: error: call to '__read_overflow2_field' declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Werror=attribute-warning]
275 | __read_overflow2_field(q_size_field, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/__read_overflow2_field +275 include/linux/fortify-string.h
213
214 /*
215 * To make sure the compiler can enforce protection against buffer overflows,
216 * memcpy(), memmove(), and memset() must not be used beyond individual
217 * struct members. If you need to copy across multiple members, please use
218 * struct_group() to create a named mirror of an anonymous struct union.
219 * (e.g. see struct sk_buff.) Read overflow checking is currently only
220 * done when a write overflow is also present, or when building with W=1.
221 *
222 * Mitigation coverage matrix
223 * Bounds checking at:
224 * +-------+-------+-------+-------+
225 * | Compile time | Run time |
226 * memcpy() argument sizes: | write | read | write | read |
227 * dest source length +-------+-------+-------+-------+
228 * memcpy(known, known, constant) | y | y | n/a | n/a |
229 * memcpy(known, unknown, constant) | y | n | n/a | V |
230 * memcpy(known, known, dynamic) | n | n | B | B |
231 * memcpy(known, unknown, dynamic) | n | n | B | V |
232 * memcpy(unknown, known, constant) | n | y | V | n/a |
233 * memcpy(unknown, unknown, constant) | n | n | V | V |
234 * memcpy(unknown, known, dynamic) | n | n | V | B |
235 * memcpy(unknown, unknown, dynamic) | n | n | V | V |
236 * +-------+-------+-------+-------+
237 *
238 * y = perform deterministic compile-time bounds checking
239 * n = cannot perform deterministic compile-time bounds checking
240 * n/a = no run-time bounds checking needed since compile-time deterministic
241 * B = can perform run-time bounds checking (currently unimplemented)
242 * V = vulnerable to run-time overflow (will need refactoring to solve)
243 *
244 */
245 __FORTIFY_INLINE void fortify_memcpy_chk(__kernel_size_t size,
246 const size_t p_size,
247 const size_t q_size,
248 const size_t p_size_field,
249 const size_t q_size_field,
250 const char *func)
251 {
252 if (__builtin_constant_p(size)) {
253 /*
254 * Length argument is a constant expression, so we
255 * can perform compile-time bounds checking where
256 * buffer sizes are known.
257 */
258
259 /* Error when size is larger than enclosing struct. */
260 if (p_size > p_size_field && p_size < size)
261 __write_overflow();
262 if (q_size > q_size_field && q_size < size)
263 __read_overflow2();
264
265 /* Warn when write size argument larger than dest field. */
266 if (p_size_field < size)
267 __write_overflow_field(p_size_field, size);
268 /*
269 * Warn for source field over-read when building with W=1
270 * or when an over-write happened, so both can be fixed at
271 * the same time.
272 */
273 if ((IS_ENABLED(KBUILD_EXTRA_WARN1) || p_size_field < size) &&
274 q_size_field < size)
> 275 __read_overflow2_field(q_size_field, size);
276 }
277 /*
278 * At this point, length argument may not be a constant expression,
279 * so run-time bounds checking can be done where buffer sizes are
280 * known. (This is not an "else" because the above checks may only
281 * be compile-time warnings, and we want to still warn for run-time
282 * overflows.)
283 */
284
285 /*
286 * Always stop accesses beyond the struct that contains the
287 * field, when the buffer's remaining size is known.
288 * (The -1 test is to optimize away checks where the buffer
289 * lengths are unknown.)
290 */
291 if ((p_size != (size_t)(-1) && p_size < size) ||
292 (q_size != (size_t)(-1) && q_size < size))
293 fortify_panic(func);
294 }
295
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
drivers/md/dm-integrity.c:2567:1: warning: the frame size of 1040 bytes is larger than 1024 bytes
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b81b1829e7e39f6cebdf6e4d5484eacbceda8554
commit: db87a7199229b75c9996bf78117eceb81854fce2 powerpc/bug: Remove specific powerpc BUG_ON() and WARN_ON() on PPC32
date: 6 months ago
config: powerpc-randconfig-r035-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131837.WoH0aQil-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://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 db87a7199229b75c9996bf78117eceb81854fce2
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/md/ lib/zstd/
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/md/dm-integrity.c: In function 'do_journal_write':
>> drivers/md/dm-integrity.c:2567:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2567 | }
| ^
vim +2567 drivers/md/dm-integrity.c
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2425
7eada909bfd7ac Mikulas Patocka 2017-01-04 2426 static void do_journal_write(struct dm_integrity_c *ic, unsigned write_start,
7eada909bfd7ac Mikulas Patocka 2017-01-04 2427 unsigned write_sections, bool from_replay)
7eada909bfd7ac Mikulas Patocka 2017-01-04 2428 {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2429 unsigned i, j, n;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2430 struct journal_completion comp;
a7c3e62bdc71d3 Mikulas Patocka 2017-07-19 2431 struct blk_plug plug;
a7c3e62bdc71d3 Mikulas Patocka 2017-07-19 2432
a7c3e62bdc71d3 Mikulas Patocka 2017-07-19 2433 blk_start_plug(&plug);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2434
7eada909bfd7ac Mikulas Patocka 2017-01-04 2435 comp.ic = ic;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2436 comp.in_flight = (atomic_t)ATOMIC_INIT(1);
b5e8ad92c3ac0b Arnd Bergmann 2017-08-15 2437 init_completion(&comp.comp);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2438
7eada909bfd7ac Mikulas Patocka 2017-01-04 2439 i = write_start;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2440 for (n = 0; n < write_sections; n++, i++, wraparound_section(ic, &i)) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2441 #ifndef INTERNAL_VERIFY
7eada909bfd7ac Mikulas Patocka 2017-01-04 2442 if (unlikely(from_replay))
7eada909bfd7ac Mikulas Patocka 2017-01-04 2443 #endif
7eada909bfd7ac Mikulas Patocka 2017-01-04 2444 rw_section_mac(ic, i, false);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2445 for (j = 0; j < ic->journal_section_entries; j++) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2446 struct journal_entry *je = access_journal_entry(ic, i, j);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2447 sector_t sec, area, offset;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2448 unsigned k, l, next_loop;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2449 sector_t metadata_block;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2450 unsigned metadata_offset;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2451 struct journal_io *io;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2452
7eada909bfd7ac Mikulas Patocka 2017-01-04 2453 if (journal_entry_is_unused(je))
7eada909bfd7ac Mikulas Patocka 2017-01-04 2454 continue;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2455 BUG_ON(unlikely(journal_entry_is_inprogress(je)) && !from_replay);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2456 sec = journal_entry_get_sector(je);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2457 if (unlikely(from_replay)) {
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2458 if (unlikely(sec & (unsigned)(ic->sectors_per_block - 1))) {
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2459 dm_integrity_io_error(ic, "invalid sector in journal", -EIO);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2460 sec &= ~(sector_t)(ic->sectors_per_block - 1);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2461 }
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2462 }
f6f72f32c22c0b Mikulas Patocka 2020-03-22 2463 if (unlikely(sec >= ic->provided_data_sectors))
f6f72f32c22c0b Mikulas Patocka 2020-03-22 2464 continue;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2465 get_area_and_offset(ic, sec, &area, &offset);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2466 restore_last_bytes(ic, access_journal_data(ic, i, j), je);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2467 for (k = j + 1; k < ic->journal_section_entries; k++) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2468 struct journal_entry *je2 = access_journal_entry(ic, i, k);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2469 sector_t sec2, area2, offset2;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2470 if (journal_entry_is_unused(je2))
7eada909bfd7ac Mikulas Patocka 2017-01-04 2471 break;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2472 BUG_ON(unlikely(journal_entry_is_inprogress(je2)) && !from_replay);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2473 sec2 = journal_entry_get_sector(je2);
f6f72f32c22c0b Mikulas Patocka 2020-03-22 2474 if (unlikely(sec2 >= ic->provided_data_sectors))
f6f72f32c22c0b Mikulas Patocka 2020-03-22 2475 break;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2476 get_area_and_offset(ic, sec2, &area2, &offset2);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2477 if (area2 != area || offset2 != offset + ((k - j) << ic->sb->log2_sectors_per_block))
7eada909bfd7ac Mikulas Patocka 2017-01-04 2478 break;
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2479 restore_last_bytes(ic, access_journal_data(ic, i, k), je2);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2480 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2481 next_loop = k - 1;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2482
6f1c819c219f78 Kent Overstreet 2018-05-20 2483 io = mempool_alloc(&ic->journal_io_mempool, GFP_NOIO);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2484 io->comp = ∁
7eada909bfd7ac Mikulas Patocka 2017-01-04 2485 io->range.logical_sector = sec;
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2486 io->range.n_sectors = (k - j) << ic->sb->log2_sectors_per_block;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2487
7eada909bfd7ac Mikulas Patocka 2017-01-04 2488 spin_lock_irq(&ic->endio_wait.lock);
8b3bbd490d880d Mikulas Patocka 2019-04-29 2489 add_new_range_and_wait(ic, &io->range);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2490
7eada909bfd7ac Mikulas Patocka 2017-01-04 2491 if (likely(!from_replay)) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2492 struct journal_node *section_node = &ic->journal_tree[i * ic->journal_section_entries];
7eada909bfd7ac Mikulas Patocka 2017-01-04 2493
7eada909bfd7ac Mikulas Patocka 2017-01-04 2494 /* don't write if there is newer committed sector */
7eada909bfd7ac Mikulas Patocka 2017-01-04 2495 while (j < k && find_newer_committed_node(ic, §ion_node[j])) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2496 struct journal_entry *je2 = access_journal_entry(ic, i, j);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2497
7eada909bfd7ac Mikulas Patocka 2017-01-04 2498 journal_entry_set_unused(je2);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2499 remove_journal_node(ic, §ion_node[j]);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2500 j++;
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2501 sec += ic->sectors_per_block;
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2502 offset += ic->sectors_per_block;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2503 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2504 while (j < k && find_newer_committed_node(ic, §ion_node[k - 1])) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2505 struct journal_entry *je2 = access_journal_entry(ic, i, k - 1);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2506
7eada909bfd7ac Mikulas Patocka 2017-01-04 2507 journal_entry_set_unused(je2);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2508 remove_journal_node(ic, §ion_node[k - 1]);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2509 k--;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2510 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2511 if (j == k) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2512 remove_range_unlocked(ic, &io->range);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2513 spin_unlock_irq(&ic->endio_wait.lock);
6f1c819c219f78 Kent Overstreet 2018-05-20 2514 mempool_free(io, &ic->journal_io_mempool);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2515 goto skip_io;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2516 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2517 for (l = j; l < k; l++) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2518 remove_journal_node(ic, §ion_node[l]);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2519 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2520 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2521 spin_unlock_irq(&ic->endio_wait.lock);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2522
7eada909bfd7ac Mikulas Patocka 2017-01-04 2523 metadata_block = get_metadata_sector_and_offset(ic, area, offset, &metadata_offset);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2524 for (l = j; l < k; l++) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2525 int r;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2526 struct journal_entry *je2 = access_journal_entry(ic, i, l);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2527
7eada909bfd7ac Mikulas Patocka 2017-01-04 2528 if (
7eada909bfd7ac Mikulas Patocka 2017-01-04 2529 #ifndef INTERNAL_VERIFY
7eada909bfd7ac Mikulas Patocka 2017-01-04 2530 unlikely(from_replay) &&
7eada909bfd7ac Mikulas Patocka 2017-01-04 2531 #endif
7eada909bfd7ac Mikulas Patocka 2017-01-04 2532 ic->internal_hash) {
6d39a1241ebc3b Kees Cook 2018-08-07 2533 char test_tag[max_t(size_t, HASH_MAX_DIGESTSIZE, MAX_TAG_SIZE)];
7eada909bfd7ac Mikulas Patocka 2017-01-04 2534
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2535 integrity_sector_checksum(ic, sec + ((l - j) << ic->sb->log2_sectors_per_block),
7eada909bfd7ac Mikulas Patocka 2017-01-04 2536 (char *)access_journal_data(ic, i, l), test_tag);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2537 if (unlikely(memcmp(test_tag, journal_entry_tag(ic, je2), ic->tag_size)))
7eada909bfd7ac Mikulas Patocka 2017-01-04 2538 dm_integrity_io_error(ic, "tag mismatch when replaying journal", -EILSEQ);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2539 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2540
7eada909bfd7ac Mikulas Patocka 2017-01-04 2541 journal_entry_set_unused(je2);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2542 r = dm_integrity_rw_tag(ic, journal_entry_tag(ic, je2), &metadata_block, &metadata_offset,
7eada909bfd7ac Mikulas Patocka 2017-01-04 2543 ic->tag_size, TAG_WRITE);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2544 if (unlikely(r)) {
7eada909bfd7ac Mikulas Patocka 2017-01-04 2545 dm_integrity_io_error(ic, "reading tags", r);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2546 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2547 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2548
7eada909bfd7ac Mikulas Patocka 2017-01-04 2549 atomic_inc(&comp.in_flight);
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2550 copy_from_journal(ic, i, j << ic->sb->log2_sectors_per_block,
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2551 (k - j) << ic->sb->log2_sectors_per_block,
9d609f85b7eb96 Mikulas Patocka 2017-04-18 2552 get_data_sector(ic, area, offset),
7eada909bfd7ac Mikulas Patocka 2017-01-04 2553 complete_copy_from_journal, io);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2554 skip_io:
7eada909bfd7ac Mikulas Patocka 2017-01-04 2555 j = next_loop;
7eada909bfd7ac Mikulas Patocka 2017-01-04 2556 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2557 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2558
7eada909bfd7ac Mikulas Patocka 2017-01-04 2559 dm_bufio_write_dirty_buffers_async(ic->bufio);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2560
a7c3e62bdc71d3 Mikulas Patocka 2017-07-19 2561 blk_finish_plug(&plug);
a7c3e62bdc71d3 Mikulas Patocka 2017-07-19 2562
7eada909bfd7ac Mikulas Patocka 2017-01-04 2563 complete_journal_op(&comp);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2564 wait_for_completion_io(&comp.comp);
7eada909bfd7ac Mikulas Patocka 2017-01-04 2565
9b5948267adc9e Mikulas Patocka 2021-01-08 2566 dm_integrity_flush_buffers(ic, true);
7eada909bfd7ac Mikulas Patocka 2017-01-04 @2567 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 2568
:::::: The code at line 2567 was first introduced by commit
:::::: 7eada909bfd7ac90a4522e56aa3179d1fd68cd14 dm: add integrity target
:::::: TO: Mikulas Patocka <mpatocka(a)redhat.com>
:::::: CC: Mike Snitzer <snitzer(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
lib/zstd/common/entropy_common.c:257:1: warning: the frame size of 1056 bytes is larger than 1024 bytes
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b81b1829e7e39f6cebdf6e4d5484eacbceda8554
commit: e0c1b49f5b674cca7b10549c53b3791d0bbc90a8 lib: zstd: Upgrade to latest upstream zstd version 1.4.10
date: 3 months ago
config: powerpc-randconfig-r035-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131904.0y0h7bnY-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://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 e0c1b49f5b674cca7b10549c53b3791d0bbc90a8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/mtd/devices/ lib/zstd/
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 >>):
lib/zstd/common/entropy_common.c: In function 'HUF_readStats':
>> lib/zstd/common/entropy_common.c:257:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
257 | }
| ^
vim +257 lib/zstd/common/entropy_common.c
242
243
244 /*! HUF_readStats() :
245 Read compact Huffman tree, saved by HUF_writeCTable().
246 `huffWeight` is destination buffer.
247 `rankStats` is assumed to be a table of at least HUF_TABLELOG_MAX U32.
248 @return : size read from `src` , or an error Code .
249 Note : Needed by HUF_readCTable() and HUF_readDTableX?() .
250 */
251 size_t HUF_readStats(BYTE* huffWeight, size_t hwSize, U32* rankStats,
252 U32* nbSymbolsPtr, U32* tableLogPtr,
253 const void* src, size_t srcSize)
254 {
255 U32 wksp[HUF_READ_STATS_WORKSPACE_SIZE_U32];
256 return HUF_readStats_wksp(huffWeight, hwSize, rankStats, nbSymbolsPtr, tableLogPtr, src, srcSize, wksp, sizeof(wksp), /* bmi2 */ 0);
> 257 }
258
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
[frank-w-bpi-r2-4.14:5.17-r2pro-hdmiv5-gpu 109/109] sound/soc/generic/simple-card.c:661:17: error: ISO C90 forbids mixed declarations and code
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.17-r2pro-hdmiv5-gpu
head: 1699cddf654f06e318ea18f3cc11d29bb0e0d135
commit: 1699cddf654f06e318ea18f3cc11d29bb0e0d135 [109/109] debug for headphone soundcard
config: parisc-randconfig-r011-20220213 (https://download.01.org/0day-ci/archive/20220213/202202132134.TWs7ySpP-lk...)
compiler: hppa-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/frank-w/BPI-R2-4.14/commit/1699cddf654f06e318ea18f3cc1...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.17-r2pro-hdmiv5-gpu
git checkout 1699cddf654f06e318ea18f3cc11d29bb0e0d135
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc SHELL=/bin/bash sound/soc/generic/
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 >>):
sound/soc/generic/simple-card.c: In function 'asoc_simple_probe':
>> sound/soc/generic/simple-card.c:661:17: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
661 | struct asoc_simple_card_info *cinfo;
| ^~~~~~
cc1: all warnings being treated as errors
vim +661 sound/soc/generic/simple-card.c
8d1bd113a19440 Katsuhiro Suzuki 2018-06-11 613
b0a821daf0d04e Amir Goldstein 2019-05-16 614 static int asoc_simple_probe(struct platform_device *pdev)
f2390880ec0264 Kuninori Morimoto 2012-04-08 615 {
e59289cda8dec0 Kuninori Morimoto 2019-03-20 616 struct asoc_simple_priv *priv;
f89983ef61677a Kuninori Morimoto 2012-12-25 617 struct device *dev = &pdev->dev;
dcee9bfe890451 Kuninori Morimoto 2017-03-15 618 struct device_node *np = dev->of_node;
5be509576cf634 Kuninori Morimoto 2017-03-15 619 struct snd_soc_card *card;
ec1af6c64db94e Thierry Reding 2021-04-19 620 struct link_info *li;
65a5056b21202e Kuninori Morimoto 2019-03-20 621 int ret;
1699cddf654f06 Frank Wunderlich 2022-02-13 622 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
0dd4fc3c2f663b Xiubo Li 2014-09-10 623 /* Allocate the private data and the DAI link array */
b0133d9c4d7600 Kuninori Morimoto 2016-08-26 624 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
ca65b492c7a265 Jean-Francois Moine 2014-01-15 625 if (!priv)
ca919fe4b972b9 Xiubo Li 2014-01-14 626 return -ENOMEM;
ca919fe4b972b9 Xiubo Li 2014-01-14 627
d947cdfd4be29c Kuninori Morimoto 2018-12-20 628 card = simple_priv_to_card(priv);
d947cdfd4be29c Kuninori Morimoto 2018-12-20 629 card->owner = THIS_MODULE;
d947cdfd4be29c Kuninori Morimoto 2018-12-20 630 card->dev = dev;
2d01a84605a55c Kuninori Morimoto 2018-12-20 631 card->probe = simple_soc_probe;
907f0a3051869a Guido Günther 2021-06-22 632 card->driver_name = "simple-card";
d947cdfd4be29c Kuninori Morimoto 2018-12-20 633
ec1af6c64db94e Thierry Reding 2021-04-19 634 li = devm_kzalloc(dev, sizeof(*li), GFP_KERNEL);
ec1af6c64db94e Thierry Reding 2021-04-19 635 if (!li)
ec1af6c64db94e Thierry Reding 2021-04-19 636 return -ENOMEM;
ec1af6c64db94e Thierry Reding 2021-04-19 637
ec1af6c64db94e Thierry Reding 2021-04-19 638 ret = simple_get_dais_count(priv, li);
1699cddf654f06 Frank Wunderlich 2022-02-13 639 dev_err(dev,"DEBUG: Passed %s %d ret:%d\n",__FUNCTION__,__LINE__,ret);
0f687d826736a5 Thierry Reding 2021-04-16 640 if (ret < 0)
0f687d826736a5 Thierry Reding 2021-04-16 641 return ret;
0f687d826736a5 Thierry Reding 2021-04-16 642
ec1af6c64db94e Thierry Reding 2021-04-19 643 if (!li->link)
da215354eb55c3 Kuninori Morimoto 2018-12-14 644 return -EINVAL;
da215354eb55c3 Kuninori Morimoto 2018-12-14 645
ec1af6c64db94e Thierry Reding 2021-04-19 646 ret = asoc_simple_init_priv(priv, li);
1699cddf654f06 Frank Wunderlich 2022-02-13 647 dev_err(dev,"DEBUG: Passed %s %d ret:%d\n",__FUNCTION__,__LINE__,ret);
65a5056b21202e Kuninori Morimoto 2019-03-20 648 if (ret < 0)
65a5056b21202e Kuninori Morimoto 2019-03-20 649 return ret;
1699cddf654f06 Frank Wunderlich 2022-02-13 650 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
201a0eac7fe5e7 Jean-Francois Moine 2014-01-15 651 if (np && of_device_is_available(np)) {
1699cddf654f06 Frank Wunderlich 2022-02-13 652 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
ec1af6c64db94e Thierry Reding 2021-04-19 653 ret = simple_parse_of(priv, li);
fa558c2801fc17 Kuninori Morimoto 2013-11-20 654 if (ret < 0) {
7a0299e13bc740 Kuninori Morimoto 2021-12-14 655 dev_err_probe(dev, ret, "parse error\n");
e512e001dafa54 Jean-Francois Moine 2014-03-11 656 goto err;
fa558c2801fc17 Kuninori Morimoto 2013-11-20 657 }
6a91a17bd7b92b Jean-Francois Moine 2014-03-20 658
fa558c2801fc17 Kuninori Morimoto 2013-11-20 659 } else {
1699cddf654f06 Frank Wunderlich 2022-02-13 660 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
ca65b492c7a265 Jean-Francois Moine 2014-01-15 @661 struct asoc_simple_card_info *cinfo;
f107294c6422e7 Kuninori Morimoto 2019-06-06 662 struct snd_soc_dai_link_component *cpus;
710af9196ce614 Kuninori Morimoto 2018-08-31 663 struct snd_soc_dai_link_component *codecs;
e58f41e41185c6 Kuninori Morimoto 2018-08-31 664 struct snd_soc_dai_link_component *platform;
65a5056b21202e Kuninori Morimoto 2019-03-20 665 struct snd_soc_dai_link *dai_link = priv->dai_link;
65a5056b21202e Kuninori Morimoto 2019-03-20 666 struct simple_dai_props *dai_props = priv->dai_props;
65a5056b21202e Kuninori Morimoto 2019-03-20 667
ca65b492c7a265 Jean-Francois Moine 2014-01-15 668 cinfo = dev->platform_data;
ca65b492c7a265 Jean-Francois Moine 2014-01-15 669 if (!cinfo) {
f89983ef61677a Kuninori Morimoto 2012-12-25 670 dev_err(dev, "no info for asoc-simple-card\n");
f2390880ec0264 Kuninori Morimoto 2012-04-08 671 return -EINVAL;
f2390880ec0264 Kuninori Morimoto 2012-04-08 672 }
1699cddf654f06 Frank Wunderlich 2022-02-13 673 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
f2390880ec0264 Kuninori Morimoto 2012-04-08 674 if (!cinfo->name ||
fa558c2801fc17 Kuninori Morimoto 2013-11-20 675 !cinfo->codec_dai.name ||
7722f830a45f7f Jean-Francois Moine 2014-01-15 676 !cinfo->codec ||
7722f830a45f7f Jean-Francois Moine 2014-01-15 677 !cinfo->platform ||
7722f830a45f7f Jean-Francois Moine 2014-01-15 678 !cinfo->cpu_dai.name) {
f89983ef61677a Kuninori Morimoto 2012-12-25 679 dev_err(dev, "insufficient asoc_simple_card_info settings\n");
f2390880ec0264 Kuninori Morimoto 2012-04-08 680 return -EINVAL;
f2390880ec0264 Kuninori Morimoto 2012-04-08 681 }
2bee991460a838 Jean-Francois Moine 2014-01-15 682
f107294c6422e7 Kuninori Morimoto 2019-06-06 683 cpus = dai_link->cpus;
f107294c6422e7 Kuninori Morimoto 2019-06-06 684 cpus->dai_name = cinfo->cpu_dai.name;
f107294c6422e7 Kuninori Morimoto 2019-06-06 685
710af9196ce614 Kuninori Morimoto 2018-08-31 686 codecs = dai_link->codecs;
710af9196ce614 Kuninori Morimoto 2018-08-31 687 codecs->name = cinfo->codec;
710af9196ce614 Kuninori Morimoto 2018-08-31 688 codecs->dai_name = cinfo->codec_dai.name;
710af9196ce614 Kuninori Morimoto 2018-08-31 689
910fdcabedd235 Kuninori Morimoto 2019-01-21 690 platform = dai_link->platforms;
e58f41e41185c6 Kuninori Morimoto 2018-08-31 691 platform->name = cinfo->platform;
e58f41e41185c6 Kuninori Morimoto 2018-08-31 692
5be509576cf634 Kuninori Morimoto 2017-03-15 693 card->name = (cinfo->card) ? cinfo->card : cinfo->name;
5ca8ba4180a6f6 Jean-Francois Moine 2014-01-15 694 dai_link->name = cinfo->name;
5ca8ba4180a6f6 Jean-Francois Moine 2014-01-15 695 dai_link->stream_name = cinfo->name;
1efb53a220b78f Lars-Peter Clausen 2015-03-24 696 dai_link->dai_fmt = cinfo->daifmt;
ad934ca8010843 Kuninori Morimoto 2019-03-20 697 dai_link->init = asoc_simple_dai_init;
65a5056b21202e Kuninori Morimoto 2019-03-20 698 memcpy(dai_props->cpu_dai, &cinfo->cpu_dai,
65a5056b21202e Kuninori Morimoto 2019-03-20 699 sizeof(*dai_props->cpu_dai));
65a5056b21202e Kuninori Morimoto 2019-03-20 700 memcpy(dai_props->codec_dai, &cinfo->codec_dai,
65a5056b21202e Kuninori Morimoto 2019-03-20 701 sizeof(*dai_props->codec_dai));
7722f830a45f7f Jean-Francois Moine 2014-01-15 702 }
1699cddf654f06 Frank Wunderlich 2022-02-13 703 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
5be509576cf634 Kuninori Morimoto 2017-03-15 704 snd_soc_card_set_drvdata(card, priv);
1699cddf654f06 Frank Wunderlich 2022-02-13 705 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
0580dde5943868 Kuninori Morimoto 2019-03-20 706 asoc_simple_debug_info(priv);
1699cddf654f06 Frank Wunderlich 2022-02-13 707 dev_err(dev,"DEBUG: Passed %s %d\n",__FUNCTION__,__LINE__);
5be509576cf634 Kuninori Morimoto 2017-03-15 708 ret = devm_snd_soc_register_card(dev, card);
1699cddf654f06 Frank Wunderlich 2022-02-13 709 dev_err(dev,"DEBUG: Passed %s %d ret:%d\n",__FUNCTION__,__LINE__,ret);
c6d112e442fed7 Kuninori Morimoto 2017-05-19 710 if (ret < 0)
c6d112e442fed7 Kuninori Morimoto 2017-05-19 711 goto err;
c6d112e442fed7 Kuninori Morimoto 2017-05-19 712
ec1af6c64db94e Thierry Reding 2021-04-19 713 devm_kfree(dev, li);
c6d112e442fed7 Kuninori Morimoto 2017-05-19 714 return 0;
e512e001dafa54 Jean-Francois Moine 2014-03-11 715 err:
ad11e59f52d6fc Kuninori Morimoto 2019-03-20 716 asoc_simple_clean_reference(card);
387f5823f40044 Kuninori Morimoto 2016-08-26 717
e512e001dafa54 Jean-Francois Moine 2014-03-11 718 return ret;
f2390880ec0264 Kuninori Morimoto 2012-04-08 719 }
f2390880ec0264 Kuninori Morimoto 2012-04-08 720
:::::: The code at line 661 was first introduced by commit
:::::: ca65b492c7a265b220f763fd68bf87391213248f ASoC: simple-card: simplify code
:::::: TO: Jean-Francois Moine <moinejf(a)free.fr>
:::::: CC: Mark Brown <broonie(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week