Re: [PATCH] USB: serial: add support for MaxLinear XR21V1412
by kernel test robot
Hi Angelo,
I love your patch! Perhaps something to improve:
[auto build test WARNING on usb-serial/usb-next]
[also build test WARNING on peter.chen-usb/ci-for-usb-next balbi-usb/testing/next usb/usb-testing v5.8-rc5 next-20200713]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Angelo-Dureghello/USB-serial-add...
base: https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git usb-next
config: parisc-randconfig-s031-20200714 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/usb/serial/xr21v1412.c:149:42: sparse: sparse: Using plain integer as NULL pointer
vim +149 drivers/usb/serial/xr21v1412.c
136
137 static int xr21v1412_xr_set_register(struct usb_device *udev, u16 reg, u16 val)
138 {
139 int retry = REG_SET_RETRY;
140 int status, size;
141
142 while (retry--) {
143 status = usb_control_msg(udev,
144 usb_sndctrlpipe(udev, 0),
145 REQ_SET_REG,
146 REQ_TYPE_XR_SET_REG,
147 val & 0xff,
148 reg,
> 149 0,
150 0,
151 USB_CTRL_SET_TIMEOUT);
152 if (status < 0) {
153 status = usb_translate_errors(status);
154 if (status == -EIO)
155 continue;
156 } else if (status != size) {
157 /* Retry on short transfers */
158 status = -EIO;
159 continue;
160 } else {
161 status = 0;
162 }
163
164 break;
165 }
166
167 if (status) {
168 dev_err(&udev->dev, "failed to set register 0x%x: %d\n",
169 reg, status);
170 }
171
172 return status;
173 }
174
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v2 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper
by kernel test robot
Hi Jarkko,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.8-rc5]
[cannot apply to tip/perf/core tip/x86/core jeyu/modules-next next-20200714]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jarkko-Sakkinen/kprobes-Remove-M...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 0dc589da873b58b70f4caf4b070fb0cf70fdd1dc
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:19,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/riscv/kernel/text.c:6:
arch/riscv/kernel/text.c: In function 'text_alloc':
>> arch/riscv/kernel/text.c:12:33: error: '_end' undeclared (first use in this function); did you mean 'va_end'?
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~~
include/linux/kernel.h:851:22: note: in definition of macro '__typecheck'
851 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
include/linux/kernel.h:875:24: note: in expansion of macro '__safe_cmp'
875 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/kernel.h:891:19: note: in expansion of macro '__careful_cmp'
891 | #define max(x, y) __careful_cmp(x, y, >)
| ^~~~~~~~~~~~~
arch/riscv/kernel/text.c:12:3: note: in expansion of macro 'max'
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~
arch/riscv/kernel/text.c:12:7: note: in expansion of macro 'PFN_ALIGN'
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~~~~~~~
arch/riscv/kernel/text.c:15:39: note: in expansion of macro 'VMALLOC_MODULE_START'
15 | return __vmalloc_node_range(size, 1, VMALLOC_MODULE_START,
| ^~~~~~~~~~~~~~~~~~~~
arch/riscv/kernel/text.c:12:33: note: each undeclared identifier is reported only once for each function it appears in
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~~
include/linux/kernel.h:851:22: note: in definition of macro '__typecheck'
851 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
include/linux/kernel.h:875:24: note: in expansion of macro '__safe_cmp'
875 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/kernel.h:891:19: note: in expansion of macro '__careful_cmp'
891 | #define max(x, y) __careful_cmp(x, y, >)
| ^~~~~~~~~~~~~
arch/riscv/kernel/text.c:12:3: note: in expansion of macro 'max'
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~
arch/riscv/kernel/text.c:12:7: note: in expansion of macro 'PFN_ALIGN'
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~~~~~~~
arch/riscv/kernel/text.c:15:39: note: in expansion of macro 'VMALLOC_MODULE_START'
15 | return __vmalloc_node_range(size, 1, VMALLOC_MODULE_START,
| ^~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:875:2: error: first argument to '__builtin_choose_expr' not a constant
875 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:891:19: note: in expansion of macro '__careful_cmp'
891 | #define max(x, y) __careful_cmp(x, y, >)
| ^~~~~~~~~~~~~
arch/riscv/kernel/text.c:12:3: note: in expansion of macro 'max'
12 | max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
| ^~~
arch/riscv/kernel/text.c:15:39: note: in expansion of macro 'VMALLOC_MODULE_START'
15 | return __vmalloc_node_range(size, 1, VMALLOC_MODULE_START,
| ^~~~~~~~~~~~~~~~~~~~
>> arch/riscv/kernel/text.c:19:1: warning: control reaches end of non-void function [-Wreturn-type]
19 | }
| ^
vim +12 arch/riscv/kernel/text.c
> 6 #include <linux/mm.h>
7 #include <linux/moduleloader.h>
8 #include <linux/vmalloc.h>
9
10 #if defined(CONFIG_MMU) && defined(CONFIG_64BIT)
11 #define VMALLOC_MODULE_START \
> 12 max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)
13 void *text_alloc(unsigned long size)
14 {
15 return __vmalloc_node_range(size, 1, VMALLOC_MODULE_START,
16 VMALLOC_END, GFP_KERNEL,
17 PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE,
18 __builtin_return_address(0));
> 19 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v2 4/4] btrfs: assert sizes of ioctl structures
by kernel test robot
Hi Johannes,
I love your patch! Yet something to improve:
[auto build test ERROR on v5.8-rc5]
[cannot apply to kdave/for-next btrfs/next next-20200713]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Johannes-Thumshirn/Two-furhter-a...
base: 11ba468877bb23f28956a35e896356252d63c983
config: x86_64-randconfig-a016-20200713 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 02946de3802d3bc65bc9f2eb9b8d4969b5a7add8)
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
# 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 error/warnings (new ones prefixed by >>):
In file included from <built-in>:1:
In file included from ./usr/include/linux/btrfs_tree.h:5:
>> ./usr/include/linux/btrfs.h:35:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_vol_args) == 4096);
^
>> ./usr/include/linux/btrfs.h:35:15: error: expected ')'
./usr/include/linux/btrfs.h:35:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_vol_args) == 4096);
^
>> ./usr/include/linux/btrfs.h:35:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_vol_args) == 4096);
^
int
./usr/include/linux/btrfs.h:192:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_scrub_args) == 1024);
^
./usr/include/linux/btrfs.h:192:15: error: expected ')'
./usr/include/linux/btrfs.h:192:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_scrub_args) == 1024);
^
./usr/include/linux/btrfs.h:192:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_scrub_args) == 1024);
^
int
./usr/include/linux/btrfs.h:245:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_dev_info_args) == 4096);
^
./usr/include/linux/btrfs.h:245:15: error: expected ')'
./usr/include/linux/btrfs.h:245:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_dev_info_args) == 4096);
^
./usr/include/linux/btrfs.h:245:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_dev_info_args) == 4096);
^
int
./usr/include/linux/btrfs.h:274:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_fs_info_args) == 1024);
^
./usr/include/linux/btrfs.h:274:15: error: expected ')'
./usr/include/linux/btrfs.h:274:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_fs_info_args) == 1024);
^
./usr/include/linux/btrfs.h:274:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_fs_info_args) == 1024);
^
int
./usr/include/linux/btrfs.h:457:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_balance_args) == 1024);
^
./usr/include/linux/btrfs.h:457:15: error: expected ')'
./usr/include/linux/btrfs.h:457:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_balance_args) == 1024);
^
./usr/include/linux/btrfs.h:457:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_balance_args) == 1024);
^
int
./usr/include/linux/btrfs.h:465:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_args) == 4096);
^
./usr/include/linux/btrfs.h:465:15: error: expected ')'
./usr/include/linux/btrfs.h:465:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_args) == 4096);
^
./usr/include/linux/btrfs.h:465:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_args) == 4096);
^
int
./usr/include/linux/btrfs.h:481:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_user_args) == 4096);
^
./usr/include/linux/btrfs.h:481:15: error: expected ')'
./usr/include/linux/btrfs.h:481:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_user_args) == 4096);
^
./usr/include/linux/btrfs.h:481:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_ino_lookup_user_args) == 4096);
^
int
./usr/include/linux/btrfs.h:560:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_search_args) == 4096);
^
./usr/include/linux/btrfs.h:560:15: error: expected ')'
./usr/include/linux/btrfs.h:560:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_search_args) == 4096);
^
./usr/include/linux/btrfs.h:560:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_search_args) == 4096);
^
int
./usr/include/linux/btrfs.h:718:15: error: expected parameter declarator
static_assert(sizeof(struct btrfs_ioctl_get_dev_stats) == 1032);
^
./usr/include/linux/btrfs.h:718:15: error: expected ')'
./usr/include/linux/btrfs.h:718:14: note: to match this '('
static_assert(sizeof(struct btrfs_ioctl_get_dev_stats) == 1032);
^
./usr/include/linux/btrfs.h:718:1: warning: declaration specifier missing, defaulting to 'int'
static_assert(sizeof(struct btrfs_ioctl_get_dev_stats) == 1032);
^
int
9 warnings and 18 errors generated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[djwong-xfs:repair-xattrs 44/141] fs/xfs/xfs_dquot.c:262:2: warning: variable 'blftype' is used uninitialized whenever switch default is taken
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git repair-xattrs
head: 3e70ca2b22ea70af0d1579536c4377530abcc8ee
commit: 78e538ffa882a05793dd6d8a0a10a01e2136023c [44/141] xfs: split the incore dquot type into a separate field
config: arm64-randconfig-r032-20200714 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 02946de3802d3bc65bc9f2eb9b8d4969b5a7add8)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout 78e538ffa882a05793dd6d8a0a10a01e2136023c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> fs/xfs/xfs_dquot.c:262:2: warning: variable 'blftype' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
fs/xfs/xfs_dquot.c:267:30: note: uninitialized use occurs here
xfs_trans_dquot_buf(tp, bp, blftype);
^~~~~~~
fs/xfs/xfs_dquot.c:224:23: note: initialize the variable 'blftype' to silence this warning
unsigned int blftype;
^
= 0
>> fs/xfs/xfs_dquot.c:262:2: warning: variable 'qflag' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
fs/xfs/xfs_dquot.c:285:23: note: uninitialized use occurs here
if (!(mp->m_qflags & qflag))
^~~~~
fs/xfs/xfs_dquot.c:223:21: note: initialize the variable 'qflag' to silence this warning
unsigned int qflag;
^
= 0
2 warnings generated.
vim +/blftype +262 fs/xfs/xfs_dquot.c
208
209 /*
210 * initialize a buffer full of dquots and log the whole thing
211 */
212 STATIC void
213 xfs_qm_init_dquot_blk(
214 struct xfs_trans *tp,
215 struct xfs_mount *mp,
216 xfs_dqid_t id,
217 xfs_dqtype_t type,
218 struct xfs_buf *bp)
219 {
220 struct xfs_quotainfo *q = mp->m_quotainfo;
221 struct xfs_dqblk *d;
222 xfs_dqid_t curid;
223 unsigned int qflag;
224 unsigned int blftype;
225 int i;
226
227 ASSERT(tp);
228 ASSERT(xfs_buf_islocked(bp));
229
230 d = bp->b_addr;
231
232 /*
233 * ID of the first dquot in the block - id's are zero based.
234 */
235 curid = id - (id % q->qi_dqperchunk);
236 memset(d, 0, BBTOB(q->qi_dqchunklen));
237 for (i = 0; i < q->qi_dqperchunk; i++, d++, curid++) {
238 d->dd_diskdq.d_magic = cpu_to_be16(XFS_DQUOT_MAGIC);
239 d->dd_diskdq.d_version = XFS_DQUOT_VERSION;
240 d->dd_diskdq.d_id = cpu_to_be32(curid);
241 d->dd_diskdq.d_flags = xfs_dquot_type_to_disk(type);
242 if (xfs_sb_version_hascrc(&mp->m_sb)) {
243 uuid_copy(&d->dd_uuid, &mp->m_sb.sb_meta_uuid);
244 xfs_update_cksum((char *)d, sizeof(struct xfs_dqblk),
245 XFS_DQUOT_CRC_OFF);
246 }
247 }
248
249 switch (type) {
250 case XFS_DQTYPE_USER:
251 qflag = XFS_UQUOTA_CHKD;
252 blftype = XFS_BLF_UDQUOT_BUF;
253 break;
254 case XFS_DQTYPE_PROJ:
255 qflag = XFS_PQUOTA_CHKD;
256 blftype = XFS_BLF_PDQUOT_BUF;
257 break;
258 case XFS_DQTYPE_GROUP:
259 qflag = XFS_GQUOTA_CHKD;
260 blftype = XFS_BLF_GDQUOT_BUF;
261 break;
> 262 default:
263 ASSERT(0);
264 break;
265 }
266
267 xfs_trans_dquot_buf(tp, bp, blftype);
268
269 /*
270 * quotacheck uses delayed writes to update all the dquots on disk in an
271 * efficient manner instead of logging the individual dquot changes as
272 * they are made. However if we log the buffer allocated here and crash
273 * after quotacheck while the logged initialisation is still in the
274 * active region of the log, log recovery can replay the dquot buffer
275 * initialisation over the top of the checked dquots and corrupt quota
276 * accounting.
277 *
278 * To avoid this problem, quotacheck cannot log the initialised buffer.
279 * We must still dirty the buffer and write it back before the
280 * allocation transaction clears the log. Therefore, mark the buffer as
281 * ordered instead of logging it directly. This is safe for quotacheck
282 * because it detects and repairs allocated but initialized dquot blocks
283 * in the quota inodes.
284 */
285 if (!(mp->m_qflags & qflag))
286 xfs_trans_ordered_buf(tp, bp);
287 else
288 xfs_trans_log_buf(tp, bp, 0, BBTOB(q->qi_dqchunklen) - 1);
289 }
290
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[lkp] [+2259 bytes kernel size regression] [i386-tinyconfig] [034675018b] linux-next
by kernel test robot
FYI, we noticed a +2259 bytes kernel size regression due to commit:
commit: 034675018b7ffa7c01226bb1627372cff4fd72e4 (linux-next)
https://github.com/hnaz/linux-mm master
Details as below (size data is obtained by `nm --size-sort vmlinux`):
edb5f5f6: ipc: uninline functions
03467501: linux-next
+------------------------------------------+----------+----------+-------+
| symbol | edb5f5f6 | 03467501 | delta |
+------------------------------------------+----------+----------+-------+
| nm.t.do_execveat_common | 0 | 1462 | 1462 |
| bzImage | 442528 | 443712 | 1184 |
| nm.T.seq_read_iter | 0 | 774 | 774 |
| nm.T.__xas_store | 0 | 765 | 765 |
| nm.t.bdi_init | 0 | 381 | 381 |
| nm.T.mul_u64_u64_div_u64 | 0 | 259 | 259 |
| nm.T.copy_thread | 0 | 238 | 238 |
| nm.t.perf_event_text_poke_output | 0 | 219 | 219 |
| nm.T.__close_range | 0 | 201 | 201 |
| nm.T.device_link_add | 556 | 715 | 159 |
| nm.T._anon_inode_getfile | 0 | 148 | 148 |
| nm.t.devlink_add_symlinks | 0 | 141 | 141 |
| nm.t.devlink_remove_symlinks | 0 | 138 | 138 |
| nm.T.fw_devlink_resume | 47 | 172 | 125 |
| nm.t.__wait_on_page_locked_async | 0 | 121 | 121 |
| nm.t.text_poke_bp_batch | 242 | 363 | 121 |
| nm.T.get_callchain_entry | 0 | 120 | 120 |
| nm.T.perf_event_text_poke | 0 | 119 | 119 |
| nm.T.__receive_fd | 0 | 118 | 118 |
| nm.T.vfs_read | 148 | 265 | 117 |
| nm.T.vfs_write | 194 | 305 | 111 |
| nm.t.driver_deferred_probe_trigger | 12 | 122 | 110 |
| nm.t._anon_inode_getfd | 0 | 98 | 98 |
| nm.T.device_is_dependent | 0 | 98 | 98 |
| nm.T.vfs_generate_unique_id | 0 | 92 | 92 |
| nm.T.generic_file_buffered_read | 1275 | 1362 | 87 |
| nm.t.vfs_readv | 0 | 81 | 81 |
| nm.T.intel_pmu_lbr_sched_task | 554 | 635 | 81 |
| nm.t.intel_get_event_constraints | 446 | 526 | 80 |
| nm.t.__devm_ioremap_resource | 131 | 200 | 69 |
| nm.T.sched_dl_overflow | 587 | 655 | 68 |
| nm.t.really_probe | 485 | 550 | 65 |
| nm.T.clear_bdi_congested | 0 | 64 | 64 |
| nm.T.unshare_fd | 0 | 64 | 64 |
| nm.d.devlink_class | 0 | 60 | 60 |
| nm.t.state_synced_show | 0 | 59 | 59 |
| nm.T.vm_area_dup | 58 | 117 | 59 |
| nm.T.x86_perf_get_lbr | 0 | 57 | 57 |
| nm.t.__kobject_del | 0 | 55 | 55 |
| nm.T.__checkparam_dl | 92 | 147 | 55 |
| nm.t.inode_io_list_del_locked | 0 | 53 | 53 |
| nm.t.devlink_class_init | 0 | 52 | 52 |
| nm.W.memcmp_pages | 0 | 51 | 51 |
| nm.T.thread_group_exited | 0 | 51 | 51 |
| nm.t.intel_set_masks | 0 | 49 | 49 |
| nm.t.auto_remove_on_show | 0 | 48 | 48 |
| nm.t.redirty_tail_locked | 0 | 48 | 48 |
| nm.T._do_fork | 298 | 344 | 46 |
| nm.T.sched_init | 304 | 348 | 44 |
| nm.T.sched_set_normal | 0 | 42 | 42 |
| nm.t.status_show | 0 | 42 | 42 |
| nm.D.vlbr_constraint | 0 | 40 | 40 |
| nm.t.x86_nofsgsbase_setup | 0 | 40 | 40 |
| nm.t.ns_ioctl | 114 | 153 | 39 |
| nm.t.is_sb_event | 0 | 38 | 38 |
| nm.t.pick_file | 0 | 37 | 37 |
| nm.T.get_fs_root_rcu | 0 | 35 | 35 |
| nm.t.queue_io | 104 | 135 | 31 |
| nm.T.find_get_pages_range_tag | 326 | 357 | 31 |
| nm.T.dup_fd | 357 | 388 | 31 |
| nm.T.__kernel_write | 127 | 156 | 29 |
| nm.t.runtime_pm_show | 0 | 28 | 28 |
| nm.t.sync_state_only_show | 0 | 28 | 28 |
| nm.T.device_add | 850 | 878 | 28 |
| nm.T.__kernel_read | 122 | 149 | 27 |
| nm.T.xas_find_marked | 395 | 422 | 27 |
| nm.T.sched_set_fifo | 0 | 26 | 26 |
| nm.T.sched_set_fifo_low | 0 | 26 | 26 |
| nm.T.intel_pmu_lbr_read | 833 | 858 | 25 |
| nm.T.set_bdi_congested | 0 | 24 | 24 |
| nm.t.direct_splice_actor | 23 | 45 | 22 |
| nm.T.vfs_create_mount | 140 | 162 | 22 |
| nm.d.devlink_attrs | 0 | 20 | 20 |
| nm.d.devlink_class_intf | 0 | 20 | 20 |
| nm.r.devlink_group | 0 | 20 | 20 |
| nm.d.platform_dev_group | 0 | 20 | 20 |
| nm.t.free_vmap_block | 57 | 77 | 20 |
| nm.T.device_del | 494 | 514 | 20 |
| nm.T.anon_inode_getfd_secure | 0 | 19 | 19 |
| nm.T.anon_inode_getfile_secure | 0 | 19 | 19 |
| nm.t.sw_perf_event_destroy | 75 | 94 | 19 |
| nm.T.intel_pmu_lbr_del | 98 | 117 | 19 |
| nm.T.intel_pmu_lbr_add | 152 | 171 | 19 |
| nm.t.__device_link_del | 54 | 72 | 18 |
| nm.T.device_links_check_suppliers | 188 | 206 | 18 |
| nm.t.clone_mnt | 420 | 438 | 18 |
| nm.t.numa_node_show | 0 | 17 | 17 |
| nm.t.do_splice_to | 117 | 134 | 17 |
| nm.t.x86_pmu_enable | 497 | 514 | 17 |
| nm.t.identify_cpu | 737 | 754 | 17 |
| nm.d.dev_attr_auto_remove_on | 0 | 16 | 16 |
| nm.d.dev_attr_numa_node | 0 | 16 | 16 |
| nm.d.dev_attr_runtime_pm | 0 | 16 | 16 |
| nm.d.dev_attr_state_synced | 0 | 16 | 16 |
| nm.d.dev_attr_status | 0 | 16 | 16 |
| nm.d.dev_attr_sync_state_only | 0 | 16 | 16 |
| nm.T.release_dentry_name_snapshot | 35 | 51 | 16 |
| nm.T.tag_pages_for_writeback | 207 | 223 | 16 |
| nm.t.cr4_set_bits | 0 | 15 | 15 |
| nm.t.platform_dev_attrs_visible | 0 | 15 | 15 |
| nm.T.device_links_driver_bound | 253 | 268 | 15 |
| nm.T.bdi_put | 22 | 36 | 14 |
| nm.t._free_event | 431 | 445 | 14 |
| nm.T.check_bugs | 1443 | 1457 | 14 |
| nm.t.perf_event_alloc | 1637 | 1651 | 14 |
| nm.T.__ia32_sys_close_range | 0 | 13 | 13 |
| nm.T.xa_extract | 493 | 506 | 13 |
| nm.t.__setup_x86_nofsgsbase_setup | 0 | 12 | 12 |
| nm.t.device_link_drop_managed | 33 | 45 | 12 |
| nm.t.__device_links_no_driver | 101 | 113 | 12 |
| nm.T.intel_pmu_lbr_enable_all | 117 | 129 | 12 |
| nm.T.device_release_driver_internal | 272 | 284 | 12 |
| nm.T.do_splice | 1162 | 1174 | 12 |
| nm.R.sys_call_table | 1760 | 1772 | 12 |
| nm.t.__setup_str_x86_nofsgsbase_setup | 0 | 11 | 11 |
| nm.T.intel_pmu_lbr_disable_all | 39 | 50 | 11 |
| nm.t.kobject_release | 57 | 68 | 11 |
| nm.T.perf_event_ksymbol | 167 | 178 | 11 |
| nm.t.writeback_sb_inodes | 628 | 639 | 11 |
| nm.T.__lock_page_async | 0 | 10 | 10 |
| nm.T.device_links_no_driver | 73 | 82 | 9 |
| nm.T.devm_kmalloc | 74 | 83 | 9 |
| nm.T.device_links_busy | 86 | 95 | 9 |
| nm.T.device_links_driver_cleanup | 95 | 104 | 9 |
| nm.T.device_links_unbind_consumers | 122 | 131 | 9 |
| nm.d.deferred_fw_devlink | 0 | 8 | 8 |
| nm.t.devlink_dev_release | 0 | 8 | 8 |
| nm.d.devlink_groups | 0 | 8 | 8 |
| nm.T.put_callchain_entry | 0 | 8 | 8 |
| nm.b.vfs_identifier_offset | 0 | 8 | 8 |
| nm.b.vfs_last_identifier | 0 | 8 | 8 |
| nm.d.mnt_id_ida | 8 | 16 | 8 |
| nm.t.alloc_super | 563 | 571 | 8 |
| nm.T.ida_alloc_range | 638 | 645 | 7 |
| nm.W.__ia32_sys_fsinfo | 0 | 6 | 6 |
| nm.W.__ia32_sys_watch_mount | 0 | 6 | 6 |
| nm.W.__ia32_sys_watch_sb | 0 | 6 | 6 |
| nm.r.idt_descr | 0 | 6 | 6 |
| nm.t.device_link_put_kref | 29 | 35 | 6 |
| nm.t.__device_links_queue_sync_state | 103 | 109 | 6 |
| nm.T.wb_workfn | 538 | 544 | 6 |
| nm.T.devm_kfree | 34 | 39 | 5 |
| nm.T.exit_mmap | 204 | 209 | 5 |
| nm.t.alloc_vfsmnt | 264 | 269 | 5 |
| nm.d.nr_text_poke_events | 0 | 4 | 4 |
| nm.D.sysctl_sched_dl_period_max | 0 | 4 | 4 |
| nm.D.sysctl_sched_dl_period_min | 0 | 4 | 4 |
| nm.d.platform_dev_attrs | 12 | 16 | 4 |
| nm.T.x86_perf_event_set_period | 442 | 446 | 4 |
| nm.D.cpu_hw_events | 3800 | 3804 | 4 |
| nm.T.unshare_files | 69 | 72 | 3 |
| nm.t.device_reorder_to_tail | 82 | 85 | 3 |
| nm.T.intel_pmu_store_pebs_lbrs | 258 | 261 | 3 |
| nm.T.ksys_unshare | 421 | 424 | 3 |
| nm.t.copy_process | 3366 | 3369 | 3 |
| nm.t.__device_link_free_srcu | 44 | 46 | 2 |
| nm.T.__wait_rcu_gp | 159 | 160 | 1 |
| nm.T.__mark_inode_dirty | 292 | 293 | 1 |
| nm.t.enqueue_task | 47 | 46 | -1 |
| nm.W.mem_encrypt_free_decrypted_mem | 1 | 0 | -1 |
| nm.T.intel_pmu_init | 4080 | 4078 | -2 |
| nm.T.do_execve | 23 | 20 | -3 |
| nm.T.resume_console | 35 | 32 | -3 |
| nm.t.__schedule | 567 | 564 | -3 |
| nm.t.get_rr_interval_idle | 3 | 0 | -3 |
| nm.R.dl_sched_class | 68 | 64 | -4 |
| nm.R.fair_sched_class | 68 | 64 | -4 |
| nm.R.idle_sched_class | 68 | 64 | -4 |
| nm.R.rt_sched_class | 68 | 64 | -4 |
| nm.t.pebs_update_state | 541 | 537 | -4 |
| nm.b.exclusive_console | 4 | 0 | -4 |
| nm.T.free_initmem | 30 | 25 | -5 |
| nm.t.__writeback_single_inode | 221 | 216 | -5 |
| nm.T.__ia32_sys_pidfd_getfd | 260 | 255 | -5 |
| nm.t.shrink_node | 553 | 548 | -5 |
| nm.T.account_page_redirty | 66 | 60 | -6 |
| nm.T.account_page_dirtied | 111 | 105 | -6 |
| nm.R.idt_descr | 6 | 0 | -6 |
| nm.T.yield_to | 114 | 107 | -7 |
| nm.t.try_enable_new_console | 210 | 203 | -7 |
| nm.b.exclusive_console_stop_seq | 8 | 0 | -8 |
| nm.d.umh_list | 8 | 0 | -8 |
| nm.T.software_node_unregister_node_group | 38 | 26 | -12 |
| nm.t.wb_writeback | 249 | 237 | -12 |
| nm.D.noop_backing_dev_info | 372 | 360 | -12 |
| nm.d.umh_list_lock | 12 | 0 | -12 |
| nm.T.do_exit | 1521 | 1508 | -13 |
| nm.T.do_execveat | 19 | 5 | -14 |
| nm.t.shrink_page_list | 1922 | 1908 | -14 |
| nm.T.legacy_clone_args_valid | 16 | 0 | -16 |
| nm.T.__ia32_sys_clone | 116 | 98 | -18 |
| nm.t.release_bdi | 86 | 67 | -19 |
| nm.T.copy_mount_options | 134 | 115 | -19 |
| nm.r.platform_dev_group | 20 | 0 | -20 |
| nm.T.set_wb_congested | 20 | 0 | -20 |
| nm.T.check_preempt_curr | 87 | 66 | -21 |
| nm.T.do_execve_file | 22 | 0 | -22 |
| nm.t.wb_congested_put | 25 | 0 | -25 |
| nm.T.__close_fd | 54 | 27 | -27 |
| nm.T.register_console | 440 | 412 | -28 |
| nm.t.wb_congested | 28 | 0 | -28 |
| nm.T.d_path | 198 | 168 | -30 |
| nm.T.page_cache_async_readahead | 148 | 115 | -33 |
| nm.t.pidfd_poll | 81 | 46 | -35 |
| nm.T.generic_fadvise | 528 | 492 | -36 |
| nm.t.redirty_tail | 37 | 0 | -37 |
| nm.t.setup_irq_thread | 145 | 107 | -38 |
| nm.t.writeback_single_inode | 184 | 146 | -38 |
| nm.T.inode_io_list_del | 63 | 24 | -39 |
| nm.T.kobject_del | 63 | 17 | -46 |
| nm.t.call_usermodehelper_exec_async | 244 | 193 | -51 |
| nm.T.memcmp_pages | 51 | 0 | -51 |
| nm.t.umh_clean_and_save_pid | 52 | 0 | -52 |
| nm.t.intel_pmu_disable_event | 274 | 221 | -53 |
| nm.t.move_expired_inodes | 305 | 245 | -60 |
| nm.T.clear_wb_congested | 60 | 0 | -60 |
| nm.t.unshare_fd | 62 | 0 | -62 |
| nm.t.write_pipe_buf | 62 | 0 | -62 |
| nm.T.anon_inode_getfd | 84 | 17 | -67 |
| nm.t.do_splice_from | 71 | 0 | -71 |
| nm.T.vfs_readv | 81 | 0 | -81 |
| nm.T.anon_inode_getfile | 101 | 17 | -84 |
| nm.T.bdi_alloc | 132 | 44 | -88 |
| nm.T.get_perf_callchain | 389 | 296 | -93 |
| nm.t.device_is_dependent | 95 | 0 | -95 |
| nm.t.intel_pmu_enable_event | 528 | 432 | -96 |
| nm.T.__exit_umh | 102 | 0 | -102 |
| nm.t.default_bdi_init | 152 | 42 | -110 |
| nm.T.driver_deferred_probe_force_trigger | 112 | 0 | -112 |
| nm.T.console_unlock | 168 | 47 | -121 |
| nm.t.new_sync_read | 122 | 0 | -122 |
| nm.T.cputime_adjust | 395 | 269 | -126 |
| nm.t.new_sync_write | 129 | 0 | -129 |
| nm.T.call_usermodehelper_setup_file | 136 | 0 | -136 |
| nm.t.umh_pipe_setup | 187 | 0 | -187 |
| nm.T.fork_usermode_blob | 191 | 0 | -191 |
| nm.T.copy_thread_tls | 238 | 0 | -238 |
| nm.t.cgwb_bdi_init | 409 | 0 | -409 |
| nm.t.default_file_splice_read | 451 | 0 | -451 |
| nm.T.seq_read | 709 | 236 | -473 |
| nm.T.xas_store | 783 | 31 | -752 |
| nm.t.__do_execve_file | 1520 | 0 | -1520 |
+------------------------------------------+----------+----------+-------+
Thanks
2 years, 2 months
[lkp] [+2259 bytes kernel size regression] [i386-tinyconfig] [034675018b] linux-next
by kernel test robot
FYI, we noticed a +2259 bytes kernel size regression due to commit:
commit: 034675018b7ffa7c01226bb1627372cff4fd72e4 (linux-next)
https://github.com/hnaz/linux-mm master
Details as below (size data is obtained by `nm --size-sort vmlinux`):
edb5f5f6: ipc: uninline functions
03467501: linux-next
+------------------------------------------+----------+----------+-------+
| symbol | edb5f5f6 | 03467501 | delta |
+------------------------------------------+----------+----------+-------+
| nm.t.do_execveat_common | 0 | 1462 | 1462 |
| bzImage | 442528 | 443712 | 1184 |
| nm.T.seq_read_iter | 0 | 774 | 774 |
| nm.T.__xas_store | 0 | 765 | 765 |
| nm.t.bdi_init | 0 | 381 | 381 |
| nm.T.mul_u64_u64_div_u64 | 0 | 259 | 259 |
| nm.T.copy_thread | 0 | 238 | 238 |
| nm.t.perf_event_text_poke_output | 0 | 219 | 219 |
| nm.T.__close_range | 0 | 201 | 201 |
| nm.T.device_link_add | 556 | 715 | 159 |
| nm.T._anon_inode_getfile | 0 | 148 | 148 |
| nm.t.devlink_add_symlinks | 0 | 141 | 141 |
| nm.t.devlink_remove_symlinks | 0 | 138 | 138 |
| nm.T.fw_devlink_resume | 47 | 172 | 125 |
| nm.t.__wait_on_page_locked_async | 0 | 121 | 121 |
| nm.t.text_poke_bp_batch | 242 | 363 | 121 |
| nm.T.get_callchain_entry | 0 | 120 | 120 |
| nm.T.perf_event_text_poke | 0 | 119 | 119 |
| nm.T.__receive_fd | 0 | 118 | 118 |
| nm.T.vfs_read | 148 | 265 | 117 |
| nm.T.vfs_write | 194 | 305 | 111 |
| nm.t.driver_deferred_probe_trigger | 12 | 122 | 110 |
| nm.t._anon_inode_getfd | 0 | 98 | 98 |
| nm.T.device_is_dependent | 0 | 98 | 98 |
| nm.T.vfs_generate_unique_id | 0 | 92 | 92 |
| nm.T.generic_file_buffered_read | 1275 | 1362 | 87 |
| nm.t.vfs_readv | 0 | 81 | 81 |
| nm.T.intel_pmu_lbr_sched_task | 554 | 635 | 81 |
| nm.t.intel_get_event_constraints | 446 | 526 | 80 |
| nm.t.__devm_ioremap_resource | 131 | 200 | 69 |
| nm.T.sched_dl_overflow | 587 | 655 | 68 |
| nm.t.really_probe | 485 | 550 | 65 |
| nm.T.clear_bdi_congested | 0 | 64 | 64 |
| nm.T.unshare_fd | 0 | 64 | 64 |
| nm.d.devlink_class | 0 | 60 | 60 |
| nm.t.state_synced_show | 0 | 59 | 59 |
| nm.T.vm_area_dup | 58 | 117 | 59 |
| nm.T.x86_perf_get_lbr | 0 | 57 | 57 |
| nm.t.__kobject_del | 0 | 55 | 55 |
| nm.T.__checkparam_dl | 92 | 147 | 55 |
| nm.t.inode_io_list_del_locked | 0 | 53 | 53 |
| nm.t.devlink_class_init | 0 | 52 | 52 |
| nm.W.memcmp_pages | 0 | 51 | 51 |
| nm.T.thread_group_exited | 0 | 51 | 51 |
| nm.t.intel_set_masks | 0 | 49 | 49 |
| nm.t.auto_remove_on_show | 0 | 48 | 48 |
| nm.t.redirty_tail_locked | 0 | 48 | 48 |
| nm.T._do_fork | 298 | 344 | 46 |
| nm.T.sched_init | 304 | 348 | 44 |
| nm.T.sched_set_normal | 0 | 42 | 42 |
| nm.t.status_show | 0 | 42 | 42 |
| nm.D.vlbr_constraint | 0 | 40 | 40 |
| nm.t.x86_nofsgsbase_setup | 0 | 40 | 40 |
| nm.t.ns_ioctl | 114 | 153 | 39 |
| nm.t.is_sb_event | 0 | 38 | 38 |
| nm.t.pick_file | 0 | 37 | 37 |
| nm.T.get_fs_root_rcu | 0 | 35 | 35 |
| nm.t.queue_io | 104 | 135 | 31 |
| nm.T.find_get_pages_range_tag | 326 | 357 | 31 |
| nm.T.dup_fd | 357 | 388 | 31 |
| nm.T.__kernel_write | 127 | 156 | 29 |
| nm.t.runtime_pm_show | 0 | 28 | 28 |
| nm.t.sync_state_only_show | 0 | 28 | 28 |
| nm.T.device_add | 850 | 878 | 28 |
| nm.T.__kernel_read | 122 | 149 | 27 |
| nm.T.xas_find_marked | 395 | 422 | 27 |
| nm.T.sched_set_fifo | 0 | 26 | 26 |
| nm.T.sched_set_fifo_low | 0 | 26 | 26 |
| nm.T.intel_pmu_lbr_read | 833 | 858 | 25 |
| nm.T.set_bdi_congested | 0 | 24 | 24 |
| nm.t.direct_splice_actor | 23 | 45 | 22 |
| nm.T.vfs_create_mount | 140 | 162 | 22 |
| nm.d.devlink_attrs | 0 | 20 | 20 |
| nm.d.devlink_class_intf | 0 | 20 | 20 |
| nm.r.devlink_group | 0 | 20 | 20 |
| nm.d.platform_dev_group | 0 | 20 | 20 |
| nm.t.free_vmap_block | 57 | 77 | 20 |
| nm.T.device_del | 494 | 514 | 20 |
| nm.T.anon_inode_getfd_secure | 0 | 19 | 19 |
| nm.T.anon_inode_getfile_secure | 0 | 19 | 19 |
| nm.t.sw_perf_event_destroy | 75 | 94 | 19 |
| nm.T.intel_pmu_lbr_del | 98 | 117 | 19 |
| nm.T.intel_pmu_lbr_add | 152 | 171 | 19 |
| nm.t.__device_link_del | 54 | 72 | 18 |
| nm.T.device_links_check_suppliers | 188 | 206 | 18 |
| nm.t.clone_mnt | 420 | 438 | 18 |
| nm.t.numa_node_show | 0 | 17 | 17 |
| nm.t.do_splice_to | 117 | 134 | 17 |
| nm.t.x86_pmu_enable | 497 | 514 | 17 |
| nm.t.identify_cpu | 737 | 754 | 17 |
| nm.d.dev_attr_auto_remove_on | 0 | 16 | 16 |
| nm.d.dev_attr_numa_node | 0 | 16 | 16 |
| nm.d.dev_attr_runtime_pm | 0 | 16 | 16 |
| nm.d.dev_attr_state_synced | 0 | 16 | 16 |
| nm.d.dev_attr_status | 0 | 16 | 16 |
| nm.d.dev_attr_sync_state_only | 0 | 16 | 16 |
| nm.T.release_dentry_name_snapshot | 35 | 51 | 16 |
| nm.T.tag_pages_for_writeback | 207 | 223 | 16 |
| nm.t.cr4_set_bits | 0 | 15 | 15 |
| nm.t.platform_dev_attrs_visible | 0 | 15 | 15 |
| nm.T.device_links_driver_bound | 253 | 268 | 15 |
| nm.T.bdi_put | 22 | 36 | 14 |
| nm.t._free_event | 431 | 445 | 14 |
| nm.T.check_bugs | 1443 | 1457 | 14 |
| nm.t.perf_event_alloc | 1637 | 1651 | 14 |
| nm.T.__ia32_sys_close_range | 0 | 13 | 13 |
| nm.T.xa_extract | 493 | 506 | 13 |
| nm.t.__setup_x86_nofsgsbase_setup | 0 | 12 | 12 |
| nm.t.device_link_drop_managed | 33 | 45 | 12 |
| nm.t.__device_links_no_driver | 101 | 113 | 12 |
| nm.T.intel_pmu_lbr_enable_all | 117 | 129 | 12 |
| nm.T.device_release_driver_internal | 272 | 284 | 12 |
| nm.T.do_splice | 1162 | 1174 | 12 |
| nm.R.sys_call_table | 1760 | 1772 | 12 |
| nm.t.__setup_str_x86_nofsgsbase_setup | 0 | 11 | 11 |
| nm.T.intel_pmu_lbr_disable_all | 39 | 50 | 11 |
| nm.t.kobject_release | 57 | 68 | 11 |
| nm.T.perf_event_ksymbol | 167 | 178 | 11 |
| nm.t.writeback_sb_inodes | 628 | 639 | 11 |
| nm.T.__lock_page_async | 0 | 10 | 10 |
| nm.T.device_links_no_driver | 73 | 82 | 9 |
| nm.T.devm_kmalloc | 74 | 83 | 9 |
| nm.T.device_links_busy | 86 | 95 | 9 |
| nm.T.device_links_driver_cleanup | 95 | 104 | 9 |
| nm.T.device_links_unbind_consumers | 122 | 131 | 9 |
| nm.d.deferred_fw_devlink | 0 | 8 | 8 |
| nm.t.devlink_dev_release | 0 | 8 | 8 |
| nm.d.devlink_groups | 0 | 8 | 8 |
| nm.T.put_callchain_entry | 0 | 8 | 8 |
| nm.b.vfs_identifier_offset | 0 | 8 | 8 |
| nm.b.vfs_last_identifier | 0 | 8 | 8 |
| nm.d.mnt_id_ida | 8 | 16 | 8 |
| nm.t.alloc_super | 563 | 571 | 8 |
| nm.T.ida_alloc_range | 638 | 645 | 7 |
| nm.W.__ia32_sys_fsinfo | 0 | 6 | 6 |
| nm.W.__ia32_sys_watch_mount | 0 | 6 | 6 |
| nm.W.__ia32_sys_watch_sb | 0 | 6 | 6 |
| nm.r.idt_descr | 0 | 6 | 6 |
| nm.t.device_link_put_kref | 29 | 35 | 6 |
| nm.t.__device_links_queue_sync_state | 103 | 109 | 6 |
| nm.T.wb_workfn | 538 | 544 | 6 |
| nm.T.devm_kfree | 34 | 39 | 5 |
| nm.T.exit_mmap | 204 | 209 | 5 |
| nm.t.alloc_vfsmnt | 264 | 269 | 5 |
| nm.d.nr_text_poke_events | 0 | 4 | 4 |
| nm.D.sysctl_sched_dl_period_max | 0 | 4 | 4 |
| nm.D.sysctl_sched_dl_period_min | 0 | 4 | 4 |
| nm.d.platform_dev_attrs | 12 | 16 | 4 |
| nm.T.x86_perf_event_set_period | 442 | 446 | 4 |
| nm.D.cpu_hw_events | 3800 | 3804 | 4 |
| nm.T.unshare_files | 69 | 72 | 3 |
| nm.t.device_reorder_to_tail | 82 | 85 | 3 |
| nm.T.intel_pmu_store_pebs_lbrs | 258 | 261 | 3 |
| nm.T.ksys_unshare | 421 | 424 | 3 |
| nm.t.copy_process | 3366 | 3369 | 3 |
| nm.t.__device_link_free_srcu | 44 | 46 | 2 |
| nm.T.__wait_rcu_gp | 159 | 160 | 1 |
| nm.T.__mark_inode_dirty | 292 | 293 | 1 |
| nm.t.enqueue_task | 47 | 46 | -1 |
| nm.W.mem_encrypt_free_decrypted_mem | 1 | 0 | -1 |
| nm.T.intel_pmu_init | 4080 | 4078 | -2 |
| nm.T.do_execve | 23 | 20 | -3 |
| nm.T.resume_console | 35 | 32 | -3 |
| nm.t.__schedule | 567 | 564 | -3 |
| nm.t.get_rr_interval_idle | 3 | 0 | -3 |
| nm.R.dl_sched_class | 68 | 64 | -4 |
| nm.R.fair_sched_class | 68 | 64 | -4 |
| nm.R.idle_sched_class | 68 | 64 | -4 |
| nm.R.rt_sched_class | 68 | 64 | -4 |
| nm.t.pebs_update_state | 541 | 537 | -4 |
| nm.b.exclusive_console | 4 | 0 | -4 |
| nm.T.free_initmem | 30 | 25 | -5 |
| nm.t.__writeback_single_inode | 221 | 216 | -5 |
| nm.T.__ia32_sys_pidfd_getfd | 260 | 255 | -5 |
| nm.t.shrink_node | 553 | 548 | -5 |
| nm.T.account_page_redirty | 66 | 60 | -6 |
| nm.T.account_page_dirtied | 111 | 105 | -6 |
| nm.R.idt_descr | 6 | 0 | -6 |
| nm.T.yield_to | 114 | 107 | -7 |
| nm.t.try_enable_new_console | 210 | 203 | -7 |
| nm.b.exclusive_console_stop_seq | 8 | 0 | -8 |
| nm.d.umh_list | 8 | 0 | -8 |
| nm.T.software_node_unregister_node_group | 38 | 26 | -12 |
| nm.t.wb_writeback | 249 | 237 | -12 |
| nm.D.noop_backing_dev_info | 372 | 360 | -12 |
| nm.d.umh_list_lock | 12 | 0 | -12 |
| nm.T.do_exit | 1521 | 1508 | -13 |
| nm.T.do_execveat | 19 | 5 | -14 |
| nm.t.shrink_page_list | 1922 | 1908 | -14 |
| nm.T.legacy_clone_args_valid | 16 | 0 | -16 |
| nm.T.__ia32_sys_clone | 116 | 98 | -18 |
| nm.t.release_bdi | 86 | 67 | -19 |
| nm.T.copy_mount_options | 134 | 115 | -19 |
| nm.r.platform_dev_group | 20 | 0 | -20 |
| nm.T.set_wb_congested | 20 | 0 | -20 |
| nm.T.check_preempt_curr | 87 | 66 | -21 |
| nm.T.do_execve_file | 22 | 0 | -22 |
| nm.t.wb_congested_put | 25 | 0 | -25 |
| nm.T.__close_fd | 54 | 27 | -27 |
| nm.T.register_console | 440 | 412 | -28 |
| nm.t.wb_congested | 28 | 0 | -28 |
| nm.T.d_path | 198 | 168 | -30 |
| nm.T.page_cache_async_readahead | 148 | 115 | -33 |
| nm.t.pidfd_poll | 81 | 46 | -35 |
| nm.T.generic_fadvise | 528 | 492 | -36 |
| nm.t.redirty_tail | 37 | 0 | -37 |
| nm.t.setup_irq_thread | 145 | 107 | -38 |
| nm.t.writeback_single_inode | 184 | 146 | -38 |
| nm.T.inode_io_list_del | 63 | 24 | -39 |
| nm.T.kobject_del | 63 | 17 | -46 |
| nm.t.call_usermodehelper_exec_async | 244 | 193 | -51 |
| nm.T.memcmp_pages | 51 | 0 | -51 |
| nm.t.umh_clean_and_save_pid | 52 | 0 | -52 |
| nm.t.intel_pmu_disable_event | 274 | 221 | -53 |
| nm.t.move_expired_inodes | 305 | 245 | -60 |
| nm.T.clear_wb_congested | 60 | 0 | -60 |
| nm.t.unshare_fd | 62 | 0 | -62 |
| nm.t.write_pipe_buf | 62 | 0 | -62 |
| nm.T.anon_inode_getfd | 84 | 17 | -67 |
| nm.t.do_splice_from | 71 | 0 | -71 |
| nm.T.vfs_readv | 81 | 0 | -81 |
| nm.T.anon_inode_getfile | 101 | 17 | -84 |
| nm.T.bdi_alloc | 132 | 44 | -88 |
| nm.T.get_perf_callchain | 389 | 296 | -93 |
| nm.t.device_is_dependent | 95 | 0 | -95 |
| nm.t.intel_pmu_enable_event | 528 | 432 | -96 |
| nm.T.__exit_umh | 102 | 0 | -102 |
| nm.t.default_bdi_init | 152 | 42 | -110 |
| nm.T.driver_deferred_probe_force_trigger | 112 | 0 | -112 |
| nm.T.console_unlock | 168 | 47 | -121 |
| nm.t.new_sync_read | 122 | 0 | -122 |
| nm.T.cputime_adjust | 395 | 269 | -126 |
| nm.t.new_sync_write | 129 | 0 | -129 |
| nm.T.call_usermodehelper_setup_file | 136 | 0 | -136 |
| nm.t.umh_pipe_setup | 187 | 0 | -187 |
| nm.T.fork_usermode_blob | 191 | 0 | -191 |
| nm.T.copy_thread_tls | 238 | 0 | -238 |
| nm.t.cgwb_bdi_init | 409 | 0 | -409 |
| nm.t.default_file_splice_read | 451 | 0 | -451 |
| nm.T.seq_read | 709 | 236 | -473 |
| nm.T.xas_store | 783 | 31 | -752 |
| nm.t.__do_execve_file | 1520 | 0 | -1520 |
+------------------------------------------+----------+----------+-------+
Thanks
2 years, 2 months
Re: [PATCH bpf-next 4/4] bpf: try to use existing cgroup storage in bpf_prog_test_run_skb
by kernel test robot
Hi Dmitry,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Dmitry-Yakunin/bpf-cgroup-skb-im...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-randconfig-s022-20200714 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
net/bpf/test_run.c:25:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/bpf/test_run.c:25:17: sparse: struct bpf_prog_array [noderef] __rcu *
net/bpf/test_run.c:25:17: sparse: struct bpf_prog_array *
>> net/bpf/test_run.c:50:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array *[addressable] effective @@ got struct bpf_prog_array [noderef] __rcu * @@
>> net/bpf/test_run.c:50:56: sparse: expected struct bpf_prog_array *[addressable] effective
>> net/bpf/test_run.c:50:56: sparse: got struct bpf_prog_array [noderef] __rcu *
net/bpf/test_run.c:53:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array *[addressable] effective @@ got struct bpf_prog_array [noderef] __rcu * @@
net/bpf/test_run.c:53:64: sparse: expected struct bpf_prog_array *[addressable] effective
net/bpf/test_run.c:53:64: sparse: got struct bpf_prog_array [noderef] __rcu *
vim +50 net/bpf/test_run.c
38
39 static struct bpf_cgroup_storage **bpf_prog_find_active_storage(struct bpf_prog *prog)
40 {
41 struct bpf_prog_array_item *item;
42 struct cgroup *cgrp;
43
44 if (prog->type != BPF_PROG_TYPE_CGROUP_SKB)
45 return NULL;
46
47 cgrp = task_dfl_cgroup(current);
48
49 item = bpf_prog_find_active(prog,
> 50 cgrp->bpf.effective[BPF_CGROUP_INET_INGRESS]);
51 if (!item)
52 item = bpf_prog_find_active(prog,
53 cgrp->bpf.effective[BPF_CGROUP_INET_EGRESS]);
54
55 return item ? item->cgroup_storage : NULL;
56 }
57
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0dc589da873b58b70f4caf4b070fb0cf70fdd1dc
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: arc-randconfig-s032-20200714 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: expected unsigned int [usertype] value
drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: got restricted __le32 [usertype]
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: expected unsigned short [usertype] value
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: got restricted __le16 [usertype]
drivers/isdn/hardware/mISDN/hfcmulti.c:472:17: sparse: sparse: cast from restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:478:17: sparse: sparse: cast from restricted __le16
drivers/isdn/hardware/mISDN/hfcmulti.c:496:32: sparse: sparse: cast to restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:501:32: sparse: sparse: cast to restricted __le16
drivers/isdn/hardware/mISDN/hfcmulti.c:518:25: sparse: sparse: cast to restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:524:25: sparse: sparse: cast to restricted __le16
>> drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void * @@
>> drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: expected void const [noderef] __iomem *addr
drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: got void *
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:490:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
vim +1092 drivers/isdn/hardware/mISDN/hfcmulti.c
af69fb3a8ffa37 Karsten Keil 2008-07-27 1034
af69fb3a8ffa37 Karsten Keil 2008-07-27 1035
af69fb3a8ffa37 Karsten Keil 2008-07-27 1036 /*
af69fb3a8ffa37 Karsten Keil 2008-07-27 1037 * free hardware resources used by driver
af69fb3a8ffa37 Karsten Keil 2008-07-27 1038 */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1039 static void
af69fb3a8ffa37 Karsten Keil 2008-07-27 1040 release_io_hfcmulti(struct hfc_multi *hc)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1041 {
c31655fcf2c61f Hannes Eder 2008-12-12 1042 void __iomem *plx_acc_32;
c31655fcf2c61f Hannes Eder 2008-12-12 1043 u_int pv;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1044 u_long plx_flags;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1045
af69fb3a8ffa37 Karsten Keil 2008-07-27 1046 if (debug & DEBUG_HFCMULTI_INIT)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1047 printk(KERN_DEBUG "%s: entered\n", __func__);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1048
af69fb3a8ffa37 Karsten Keil 2008-07-27 1049 /* soft reset also masks all interrupts */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1050 hc->hw.r_cirm |= V_SRES;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1051 HFC_outb(hc, R_CIRM, hc->hw.r_cirm);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1052 udelay(1000);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1053 hc->hw.r_cirm &= ~V_SRES;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1054 HFC_outb(hc, R_CIRM, hc->hw.r_cirm);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1055 udelay(1000); /* instead of 'wait' that may cause locking */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1056
af69fb3a8ffa37 Karsten Keil 2008-07-27 1057 /* release Speech Design card, if PLX was initialized */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1058 if (test_bit(HFC_CHIP_PLXSD, &hc->chip) && hc->plx_membase) {
af69fb3a8ffa37 Karsten Keil 2008-07-27 1059 if (debug & DEBUG_HFCMULTI_PLXSD)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1060 printk(KERN_DEBUG "%s: release PLXSD card %d\n",
af69fb3a8ffa37 Karsten Keil 2008-07-27 1061 __func__, hc->id + 1);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1062 spin_lock_irqsave(&plx_lock, plx_flags);
c31655fcf2c61f Hannes Eder 2008-12-12 1063 plx_acc_32 = hc->plx_membase + PLX_GPIOC;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1064 writel(PLX_GPIOC_INIT, plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1065 pv = readl(plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1066 /* Termination off */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1067 pv &= ~PLX_TERM_ON;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1068 /* Disconnect the PCM */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1069 pv |= PLX_SLAVE_EN_N;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1070 pv &= ~PLX_MASTER_EN;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1071 pv &= ~PLX_SYNC_O_EN;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1072 /* Put the DSP in Reset */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1073 pv &= ~PLX_DSP_RES_N;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1074 writel(pv, plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1075 if (debug & DEBUG_HFCMULTI_INIT)
eac74af9b547e2 Karsten Keil 2009-05-22 1076 printk(KERN_DEBUG "%s: PCM off: PLX_GPIO=%x\n",
af69fb3a8ffa37 Karsten Keil 2008-07-27 1077 __func__, pv);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1078 spin_unlock_irqrestore(&plx_lock, plx_flags);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1079 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1080
af69fb3a8ffa37 Karsten Keil 2008-07-27 1081 /* disable memory mapped ports / io ports */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1082 test_and_clear_bit(HFC_CHIP_PLXSD, &hc->chip); /* prevent resync */
db9bb63a1b5b65 Karsten Keil 2009-05-22 1083 if (hc->pci_dev)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1084 pci_write_config_word(hc->pci_dev, PCI_COMMAND, 0);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1085 if (hc->pci_membase)
c31655fcf2c61f Hannes Eder 2008-12-12 1086 iounmap(hc->pci_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1087 if (hc->plx_membase)
c31655fcf2c61f Hannes Eder 2008-12-12 1088 iounmap(hc->plx_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1089 if (hc->pci_iobase)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1090 release_region(hc->pci_iobase, 8);
db9bb63a1b5b65 Karsten Keil 2009-05-22 1091 if (hc->xhfc_membase)
db9bb63a1b5b65 Karsten Keil 2009-05-22 @1092 iounmap((void *)hc->xhfc_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1093
af69fb3a8ffa37 Karsten Keil 2008-07-27 1094 if (hc->pci_dev) {
af69fb3a8ffa37 Karsten Keil 2008-07-27 1095 pci_disable_device(hc->pci_dev);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1096 pci_set_drvdata(hc->pci_dev, NULL);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1097 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1098 if (debug & DEBUG_HFCMULTI_INIT)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1099 printk(KERN_DEBUG "%s: done\n", __func__);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1100 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1101
:::::: The code at line 1092 was first introduced by commit
:::::: db9bb63a1b5b65df41d112a8c21adbbfc6a4ac08 mISDN: Add XHFC support for embedded Speech-Design board to hfcmulti
:::::: TO: Karsten Keil <keil(a)b1-systems.de>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/net/hamradio/mkiss.c:825:23: 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: 0dc589da873b58b70f4caf4b070fb0cf70fdd1dc
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: openrisc-randconfig-s032-20200714 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/hamradio/mkiss.c:825:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/net/hamradio/mkiss.c:825:23: sparse: expected int *__pu_addr
drivers/net/hamradio/mkiss.c:825:23: sparse: got int [noderef] __user *
drivers/net/hamradio/mkiss.c:829:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/hamradio/mkiss.c:829:21: sparse: expected int const *__gu_addr
drivers/net/hamradio/mkiss.c:829:21: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
--
>> drivers/hid/usbhid/hiddev.c:569:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:569:13: sparse: expected int const *__gu_addr
>> drivers/hid/usbhid/hiddev.c:569:13: sparse: got int [noderef] __user *
>> drivers/hid/usbhid/hiddev.c:617:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:617:21: sparse: expected int *__pu_addr
drivers/hid/usbhid/hiddev.c:617:21: sparse: got int [noderef] __user *
drivers/hid/usbhid/hiddev.c:656:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:656:21: sparse: expected int *__pu_addr
drivers/hid/usbhid/hiddev.c:656:21: sparse: got int [noderef] __user *
drivers/hid/usbhid/hiddev.c:664:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:664:29: sparse: expected int const *__gu_addr
drivers/hid/usbhid/hiddev.c:664:29: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
--
>> drivers/usb/atm/usbatm.c:893:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/usb/atm/usbatm.c:893:24: sparse: expected int *__pu_addr
>> drivers/usb/atm/usbatm.c:893:24: sparse: got int [noderef] __user *
--
>> fs/ubifs/ioctl.c:153:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
fs/ubifs/ioctl.c:153:24: sparse: expected int *__pu_addr
fs/ubifs/ioctl.c:153:24: sparse: got int [noderef] __user *
fs/ubifs/ioctl.c:162:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ubifs/ioctl.c:162:21: sparse: expected int const *__gu_addr
fs/ubifs/ioctl.c:162:21: sparse: got int [noderef] __user *
--
net/netrom/af_netrom.c:309:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
net/netrom/af_netrom.c:309:13: sparse: expected unsigned int const *__gu_addr
net/netrom/af_netrom.c:309:13: sparse: got unsigned int [noderef] __user *
net/netrom/af_netrom.c:359:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/netrom/af_netrom.c:359:13: sparse: expected int const *__gu_addr
net/netrom/af_netrom.c:359:13: sparse: got int [noderef] __user *optlen
>> net/netrom/af_netrom.c:392:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *optlen @@
net/netrom/af_netrom.c:392:13: sparse: expected int *__pu_addr
net/netrom/af_netrom.c:392:13: sparse: got int [noderef] __user *optlen
>> net/netrom/af_netrom.c:1211:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
net/netrom/af_netrom.c:1211:24: sparse: expected int *__pu_addr
>> net/netrom/af_netrom.c:1211:24: sparse: got int [noderef] __user *
net/netrom/af_netrom.c:1223:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
net/netrom/af_netrom.c:1223:24: sparse: expected int *__pu_addr
net/netrom/af_netrom.c:1223:24: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int
vim +825 drivers/net/hamradio/mkiss.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 804
815f62bf742718 Ralf Baechle 2005-08-24 805 /* Perform I/O control on an active ax25 channel. */
815f62bf742718 Ralf Baechle 2005-08-24 806 static int mkiss_ioctl(struct tty_struct *tty, struct file *file,
815f62bf742718 Ralf Baechle 2005-08-24 807 unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 808 {
815f62bf742718 Ralf Baechle 2005-08-24 809 struct mkiss *ax = mkiss_get(tty);
f40e0638237a2d Julia Lawall 2008-12-16 810 struct net_device *dev;
815f62bf742718 Ralf Baechle 2005-08-24 811 unsigned int tmp, err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 812
815f62bf742718 Ralf Baechle 2005-08-24 813 /* First make sure we're connected. */
815f62bf742718 Ralf Baechle 2005-08-24 814 if (ax == NULL)
815f62bf742718 Ralf Baechle 2005-08-24 815 return -ENXIO;
f40e0638237a2d Julia Lawall 2008-12-16 816 dev = ax->dev;
^1da177e4c3f41 Linus Torvalds 2005-04-16 817
815f62bf742718 Ralf Baechle 2005-08-24 818 switch (cmd) {
815f62bf742718 Ralf Baechle 2005-08-24 819 case SIOCGIFNAME:
815f62bf742718 Ralf Baechle 2005-08-24 820 err = copy_to_user((void __user *) arg, ax->dev->name,
815f62bf742718 Ralf Baechle 2005-08-24 821 strlen(ax->dev->name) + 1) ? -EFAULT : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 822 break;
815f62bf742718 Ralf Baechle 2005-08-24 823
815f62bf742718 Ralf Baechle 2005-08-24 824 case SIOCGIFENCAP:
815f62bf742718 Ralf Baechle 2005-08-24 @825 err = put_user(4, (int __user *) arg);
^1da177e4c3f41 Linus Torvalds 2005-04-16 826 break;
815f62bf742718 Ralf Baechle 2005-08-24 827
815f62bf742718 Ralf Baechle 2005-08-24 828 case SIOCSIFENCAP:
815f62bf742718 Ralf Baechle 2005-08-24 829 if (get_user(tmp, (int __user *) arg)) {
815f62bf742718 Ralf Baechle 2005-08-24 830 err = -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 831 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 832 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 833
815f62bf742718 Ralf Baechle 2005-08-24 834 ax->mode = tmp;
815f62bf742718 Ralf Baechle 2005-08-24 835 dev->addr_len = AX25_ADDR_LEN;
815f62bf742718 Ralf Baechle 2005-08-24 836 dev->hard_header_len = AX25_KISS_HEADER_LEN +
815f62bf742718 Ralf Baechle 2005-08-24 837 AX25_MAX_HEADER_LEN + 3;
815f62bf742718 Ralf Baechle 2005-08-24 838 dev->type = ARPHRD_AX25;
^1da177e4c3f41 Linus Torvalds 2005-04-16 839
815f62bf742718 Ralf Baechle 2005-08-24 840 err = 0;
815f62bf742718 Ralf Baechle 2005-08-24 841 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 842
815f62bf742718 Ralf Baechle 2005-08-24 843 case SIOCSIFHWADDR: {
815f62bf742718 Ralf Baechle 2005-08-24 844 char addr[AX25_ADDR_LEN];
^1da177e4c3f41 Linus Torvalds 2005-04-16 845
815f62bf742718 Ralf Baechle 2005-08-24 846 if (copy_from_user(&addr,
815f62bf742718 Ralf Baechle 2005-08-24 847 (void __user *) arg, AX25_ADDR_LEN)) {
815f62bf742718 Ralf Baechle 2005-08-24 848 err = -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 849 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 850 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 851
932ff279a43ab7 Herbert Xu 2006-06-09 852 netif_tx_lock_bh(dev);
815f62bf742718 Ralf Baechle 2005-08-24 853 memcpy(dev->dev_addr, addr, AX25_ADDR_LEN);
932ff279a43ab7 Herbert Xu 2006-06-09 854 netif_tx_unlock_bh(dev);
^1da177e4c3f41 Linus Torvalds 2005-04-16 855
815f62bf742718 Ralf Baechle 2005-08-24 856 err = 0;
815f62bf742718 Ralf Baechle 2005-08-24 857 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 858 }
815f62bf742718 Ralf Baechle 2005-08-24 859 default:
815f62bf742718 Ralf Baechle 2005-08-24 860 err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds 2005-04-16 861 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 862
815f62bf742718 Ralf Baechle 2005-08-24 863 mkiss_put(ax);
^1da177e4c3f41 Linus Torvalds 2005-04-16 864
815f62bf742718 Ralf Baechle 2005-08-24 865 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 866 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 867
:::::: The code at line 825 was first introduced by commit
:::::: 815f62bf742718458ba822a7e1f51f285eb997f2 [PATCH] SMP rewrite of mkiss
:::::: TO: Ralf Baechle <ralf(a)linux-mips.org>
:::::: CC: Jeff Garzik <jgarzik(a)pobox.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months