[peterz-queue:locking/kcsan 12/21] net/netfilter/core.c:585:26: sparse: sparse: incorrect type in initializer (different address spaces)
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/kcsan
head: ffed638b6a2180da8fd002a46632d746af72b299
commit: bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417 [12/21] READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> net/netfilter/core.c:585:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void ( **__xp )( ... ) @@ got void ( *[noderef] void ( **__xp )( ... ) @@
>> net/netfilter/core.c:585:26: sparse: expected void ( **__xp )( ... )
net/netfilter/core.c:585:26: sparse: got void ( *[noderef] <asn:4> * )( ... )
net/netfilter/core.c:585:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/netfilter/core.c:585:26: sparse: void ( [noderef] <asn:4> * )( ... )
net/netfilter/core.c:585:26: sparse: void ( * )( ... )
vim +585 net/netfilter/core.c
2c205dd3981f79c Pablo Neira Ayuso 2018-05-23 578
312a0c16c1fa9dd Patrick McHardy 2013-07-28 579 void nf_ct_attach(struct sk_buff *new, const struct sk_buff *skb)
f6ebe77f955d77a Harald Welte 2005-08-09 580 {
312a0c16c1fa9dd Patrick McHardy 2013-07-28 581 void (*attach)(struct sk_buff *, const struct sk_buff *);
f6ebe77f955d77a Harald Welte 2005-08-09 582
a9e419dc7be6997 Florian Westphal 2017-01-23 583 if (skb->_nfct) {
c3a47ab3e5ad626 Patrick McHardy 2007-02-12 584 rcu_read_lock();
c3a47ab3e5ad626 Patrick McHardy 2007-02-12 @585 attach = rcu_dereference(ip_ct_attach);
c3a47ab3e5ad626 Patrick McHardy 2007-02-12 586 if (attach)
f6ebe77f955d77a Harald Welte 2005-08-09 587 attach(new, skb);
c3a47ab3e5ad626 Patrick McHardy 2007-02-12 588 rcu_read_unlock();
f6ebe77f955d77a Harald Welte 2005-08-09 589 }
f6ebe77f955d77a Harald Welte 2005-08-09 590 }
f6ebe77f955d77a Harald Welte 2005-08-09 591 EXPORT_SYMBOL(nf_ct_attach);
de6e05c49f8b4ed Yasuyuki Kozakai 2007-03-23 592
:::::: The code at line 585 was first introduced by commit
:::::: c3a47ab3e5ad62601449e4e5401352271b777e28 [NETFILTER]: Properly use RCU in nf_ct_attach
:::::: TO: Patrick McHardy <kaber(a)trash.net>
:::::: 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, 4 months
[lkp] [+5291 bytes kernel size regression] [i386-tinyconfig] [cdd28ad2d8] READ_ONCE: Use data_race() to avoid KCSAN instrumentation
by kbuild test robot
FYI, we noticed a +5291 bytes kernel size regression due to commit:
commit: cdd28ad2d8110099e43527e96d059c5639809680 (READ_ONCE: Use data_race() to avoid KCSAN instrumentation)
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/kcsan
Details as below (size data is obtained by `nm --size-sort vmlinux`):
88f1be32: kcsan: Rework data_race() so that it can be used by READ_ONCE()
cdd28ad2: READ_ONCE: Use data_race() to avoid KCSAN instrumentation
+-----------------------------------------+----------+----------+-------+
| symbol | 88f1be32 | cdd28ad2 | delta |
+-----------------------------------------+----------+----------+-------+
| bzImage | 439264 | 440960 | 1696 |
| nm.t.__wakeup_flusher_threads_bdi | 0 | 98 | 98 |
| nm.T.show_workqueue_state | 188 | 250 | 62 |
| nm.T.__ia32_sys_getpriority | 315 | 373 | 58 |
| nm.T.__ia32_sys_setpriority | 334 | 392 | 58 |
| nm.T.rhashtable_insert_slow | 697 | 749 | 52 |
| nm.t.cdev_purge | 0 | 50 | 50 |
| nm.T.show_free_areas | 465 | 514 | 49 |
| nm.t.delete_node | 265 | 313 | 48 |
| nm.t.perf_iterate_sb | 132 | 177 | 45 |
| nm.t.gup_pgd_range | 542 | 585 | 43 |
| nm.t.list_splice_init | 0 | 40 | 40 |
| nm.T.send_sigurg | 131 | 171 | 40 |
| nm.T.flush_workqueue | 476 | 516 | 40 |
| nm.t.__queue_delayed_work | 68 | 107 | 39 |
| nm.t.__queue_work | 322 | 360 | 38 |
| nm.t.need_more_worker | 0 | 37 | 37 |
| nm.T.propagate_mount_busy | 160 | 197 | 37 |
| nm.t.wakeup_dirtytime_writeback | 113 | 149 | 36 |
| nm.T.destroy_workqueue | 280 | 316 | 36 |
| nm.T.___perf_sw_event | 327 | 363 | 36 |
| nm.t.wait_consider_task | 1319 | 1352 | 33 |
| nm.t.will_become_orphaned_pgrp | 123 | 155 | 32 |
| nm.T.current_is_single_threaded | 146 | 178 | 32 |
| nm.T.xas_find_marked | 407 | 439 | 32 |
| nm.t.perf_mmap_close | 463 | 495 | 32 |
| nm.T.perf_event_release_kernel | 466 | 498 | 32 |
| nm.t.prepare_signal | 504 | 536 | 32 |
| nm.t.complete_signal | 281 | 312 | 31 |
| nm.T.rht_bucket_nested_insert | 101 | 131 | 30 |
| nm.T.swake_up_all | 101 | 131 | 30 |
| nm.T.__lookup_mnt | 64 | 93 | 29 |
| nm.T.plist_add | 113 | 142 | 29 |
| nm.T.rhashtable_walk_start_check | 212 | 241 | 29 |
| nm.t.__ww_mutex_lock | 645 | 674 | 29 |
| nm.T.process_shares_mm | 62 | 90 | 28 |
| nm.T.__rht_bucket_nested | 73 | 101 | 28 |
| nm.t.xas_start | 106 | 134 | 28 |
| nm.T.perf_event_wakeup | 124 | 152 | 28 |
| nm.T.idr_destroy | 125 | 153 | 28 |
| nm.t.dump_header | 181 | 209 | 28 |
| nm.t.rwsem_down_write_slowpath | 520 | 548 | 28 |
| nm.t.get_page_from_free_area | 0 | 26 | 26 |
| nm.t.rht_ptr_rcu | 0 | 26 | 26 |
| nm.T.__xas_next | 150 | 176 | 26 |
| nm.T.__xas_prev | 150 | 176 | 26 |
| nm.T.do_exit | 1511 | 1537 | 26 |
| nm.T.rhashtable_walk_next | 79 | 104 | 25 |
| nm.T.radix_tree_next_chunk | 491 | 516 | 25 |
| nm.T.perf_event_mmap | 697 | 722 | 25 |
| nm.T.drain_workqueue | 120 | 144 | 24 |
| nm.T.__d_lookup_rcu | 214 | 238 | 24 |
| nm.t.prepend_path | 392 | 416 | 24 |
| nm.T.do_notify_parent | 449 | 473 | 24 |
| nm.T.idr_get_free | 528 | 552 | 24 |
| nm.t.kill_orphaned_pgrp | 133 | 156 | 23 |
| nm.t.is_mergeable_anon_vma | 51 | 73 | 22 |
| nm.T.show_state_filter | 121 | 143 | 22 |
| nm.t.purge_fragmented_blocks | 200 | 222 | 22 |
| nm.T.seq_hlist_next_rcu | 18 | 39 | 21 |
| nm.t.xas_reload | 25 | 46 | 21 |
| nm.t.__fcheck_files | 27 | 48 | 21 |
| nm.t.slab_caches_to_rcu_destroy_workfn | 143 | 164 | 21 |
| nm.t.rwsem_down_read_slowpath | 293 | 314 | 21 |
| nm.T.release_task | 661 | 682 | 21 |
| nm.t.timer_pending | 0 | 20 | 20 |
| nm.T.llist_del_first | 28 | 48 | 20 |
| nm.T.seq_hlist_start_rcu | 29 | 49 | 20 |
| nm.T.__lock_task_sighand | 39 | 59 | 20 |
| nm.t.find_alive_thread | 49 | 69 | 20 |
| nm.T.hrtimer_active | 49 | 69 | 20 |
| nm.T.__fd_install | 51 | 71 | 20 |
| nm.T.find_lock_task_mm | 58 | 78 | 20 |
| nm.T.iterate_fd | 67 | 87 | 20 |
| nm.T.kill_fasync | 67 | 87 | 20 |
| nm.t.notifier_call_chain | 67 | 87 | 20 |
| nm.t.perf_iterate_ctx | 67 | 87 | 20 |
| nm.T.clocksource_mark_unstable | 71 | 91 | 20 |
| nm.t.perf_lock_task_context | 73 | 93 | 20 |
| nm.T.unregister_nmi_handler | 75 | 95 | 20 |
| nm.T.__d_lookup | 94 | 114 | 20 |
| nm.T.workqueue_set_max_active | 98 | 118 | 20 |
| nm.T.__kill_pgrp_info | 100 | 120 | 20 |
| nm.T.workingset_update_node | 100 | 120 | 20 |
| nm.t.flush_workqueue_prep_pwqs | 104 | 124 | 20 |
| nm.T.__register_nmi_handler | 106 | 126 | 20 |
| nm.t._vm_unmap_aliases | 124 | 144 | 20 |
| nm.T.page_lock_anon_vma_read | 156 | 176 | 20 |
| nm.T.read_cache_pages | 162 | 182 | 20 |
| nm.T.pm_qos_update_flags | 165 | 185 | 20 |
| nm.t.__rhashtable_walk_find_next | 194 | 214 | 20 |
| nm.T.xas_find | 223 | 243 | 20 |
| nm.T.dma_pool_destroy | 238 | 258 | 20 |
| nm.T.do_sigaction | 279 | 299 | 20 |
| nm.t.oom_kill_process | 310 | 330 | 20 |
| nm.T.alloc_workqueue | 630 | 650 | 20 |
| nm.t.list_empty | 0 | 19 | 19 |
| nm.T.irq_work_needs_cpu | 23 | 42 | 19 |
| nm.t.redirty_tail | 34 | 53 | 19 |
| nm.T.kthread_queue_delayed_work | 39 | 58 | 19 |
| nm.t.cap_safe_nice | 54 | 73 | 19 |
| nm.t.dentry_name | 195 | 214 | 19 |
| nm.T.tag_pages_for_writeback | 204 | 223 | 19 |
| nm.t.mntput_no_expire | 312 | 331 | 19 |
| nm.t.expand_files | 322 | 341 | 19 |
| nm.t.do_wait | 343 | 362 | 19 |
| nm.T.dup_fd | 352 | 371 | 19 |
| nm.T.srcu_drive_gp | 209 | 227 | 18 |
| nm.T.wait_for_random_bytes | 293 | 311 | 18 |
| nm.t.kthread_insert_work | 40 | 57 | 17 |
| nm.t.__kthread_queue_delayed_work | 51 | 67 | 16 |
| nm.T.plist_del | 84 | 100 | 16 |
| nm.t.nmi_handle | 125 | 141 | 16 |
| nm.T.send_sigio | 128 | 144 | 16 |
| nm.T.walk_process_tree | 161 | 177 | 16 |
| nm.T.__alloc_fd | 213 | 229 | 16 |
| nm.t.bucket_table_alloc | 213 | 229 | 16 |
| nm.T.chroot_fs_refs | 230 | 246 | 16 |
| nm.T.thread_group_cputime | 272 | 288 | 16 |
| nm.T.__genradix_ptr_alloc | 273 | 289 | 16 |
| nm.t.do_notify_parent_cldstop | 275 | 291 | 16 |
| nm.T.radix_tree_insert | 325 | 341 | 16 |
| nm.T.perf_event_task_tick | 396 | 412 | 16 |
| nm.t.try_to_unmap_one | 510 | 526 | 16 |
| nm.t.follow_pmd_mask | 531 | 547 | 16 |
| nm.t.rht_deferred_worker | 674 | 690 | 16 |
| nm.T.__perf_event_task_sched_out | 762 | 778 | 16 |
| nm.t.__do_execve_file | 1272 | 1288 | 16 |
| nm.t.reusable_anon_vma | 80 | 95 | 15 |
| nm.T.find_suitable_fallback | 123 | 138 | 15 |
| nm.t.free_pcppages_bulk | 294 | 309 | 15 |
| nm.t.release_nodes | 316 | 331 | 15 |
| nm.T.vm_map_ram | 1511 | 1526 | 15 |
| nm.t.perf_event_alloc | 1623 | 1638 | 15 |
| nm.t.pool_mayday_timeout | 121 | 135 | 14 |
| nm.T.put_files_struct | 130 | 144 | 14 |
| nm.t.__ptrace_may_access | 150 | 164 | 14 |
| nm.t.namespace_unlock | 190 | 204 | 14 |
| nm.t.send_signal | 203 | 217 | 14 |
| nm.T.change_mnt_propagation | 304 | 318 | 14 |
| nm.T.xa_extract | 488 | 502 | 14 |
| nm.T.copy_page_range | 570 | 584 | 14 |
| nm.t.step_into | 950 | 964 | 14 |
| nm.T.plist_requeue | 98 | 111 | 13 |
| nm.t.__mutex_unlock_slowpath | 125 | 138 | 13 |
| nm.t.bucket_table_free | 71 | 83 | 12 |
| nm.t.detach_if_pending | 95 | 107 | 12 |
| nm.t.retarget_shared_pending | 123 | 135 | 12 |
| nm.T.__detach_mounts | 129 | 141 | 12 |
| nm.t.commit_tree | 130 | 142 | 12 |
| nm.t.list_del_event | 130 | 142 | 12 |
| nm.T.radix_tree_gang_lookup | 132 | 144 | 12 |
| nm.T.__cpuhp_remove_state_cpuslocked | 135 | 147 | 12 |
| nm.T.pm_qos_update_target | 143 | 155 | 12 |
| nm.t.__perf_event_overflow | 156 | 168 | 12 |
| nm.t.__sigqueue_alloc | 174 | 186 | 12 |
| nm.T.radix_tree_gang_lookup_tag | 178 | 190 | 12 |
| nm.T.dcache_readdir | 192 | 204 | 12 |
| nm.T.unlink_anon_vmas | 231 | 243 | 12 |
| nm.t.radix_tree_extend | 248 | 260 | 12 |
| nm.t.event_sched_in | 285 | 297 | 12 |
| nm.T.ksys_unshare | 408 | 420 | 12 |
| nm.t.__send_signal | 411 | 423 | 12 |
| nm.t.really_probe | 486 | 498 | 12 |
| nm.T.perf_output_begin_backward | 498 | 510 | 12 |
| nm.T.perf_output_begin_forward | 499 | 511 | 12 |
| nm.T.__do_munmap | 511 | 523 | 12 |
| nm.T.wb_workfn | 544 | 556 | 12 |
| nm.T.out_of_memory | 550 | 562 | 12 |
| nm.T.perf_output_begin | 611 | 623 | 12 |
| nm.T.kthread_queue_work | 42 | 53 | 11 |
| nm.T.__wake_up_bit | 45 | 56 | 11 |
| nm.T.__close_fd | 51 | 62 | 11 |
| nm.t.clocksource_stop_watchdog | 51 | 62 | 11 |
| nm.t.wb_io_lists_depopulated | 54 | 65 | 11 |
| nm.t.event_function_call | 118 | 129 | 11 |
| nm.T.xa_get_mark | 122 | 133 | 11 |
| nm.T.exit_signals | 139 | 150 | 11 |
| nm.T.vfs_readlink | 142 | 153 | 11 |
| nm.T.idr_get_next_ul | 147 | 158 | 11 |
| nm.T.reclaim_pages | 170 | 181 | 11 |
| nm.T.unmap_mapping_pages | 176 | 187 | 11 |
| nm.T.ida_destroy | 248 | 259 | 11 |
| nm.T.workqueue_congested | 35 | 45 | 10 |
| nm.t.pm_qos_get_value | 38 | 48 | 10 |
| nm.t._warn_unseeded_randomness | 49 | 59 | 10 |
| nm.t.xas_next | 49 | 59 | 10 |
| nm.t.__clocksource_unstable | 51 | 61 | 10 |
| nm.t.find_group | 87 | 97 | 10 |
| nm.t.next_group | 106 | 116 | 10 |
| nm.t.ptrace_event_pid | 112 | 122 | 10 |
| nm.t.driver_deferred_probe_trigger | 122 | 132 | 10 |
| nm.t.perf_addr_filters_splice | 145 | 155 | 10 |
| nm.T.bdi_unregister | 229 | 239 | 10 |
| nm.t.d_walk | 266 | 276 | 10 |
| nm.t.__mod_timer | 332 | 342 | 10 |
| nm.t.isolate_lru_pages | 391 | 401 | 10 |
| nm.T.set_mm_exe_file | 31 | 40 | 9 |
| nm.T.list_lru_add | 33 | 42 | 9 |
| nm.T.sigqueue_free | 41 | 50 | 9 |
| nm.t.nested_table_free | 63 | 72 | 9 |
| nm.t.__mmput | 67 | 76 | 9 |
| nm.t.__perf_event_output_stop | 69 | 78 | 9 |
| nm.T.d_find_alias | 77 | 86 | 9 |
| nm.T.call_srcu | 85 | 94 | 9 |
| nm.T.kthread_flush_work | 96 | 105 | 9 |
| nm.T.misc_deregister | 101 | 110 | 9 |
| nm.t.xas_next_entry | 102 | 111 | 9 |
| nm.t.__set_task_blocked | 105 | 114 | 9 |
| nm.T.sched_show_task | 120 | 129 | 9 |
| nm.t.worker_enter_idle | 125 | 134 | 9 |
| nm.T.__radix_tree_replace | 128 | 137 | 9 |
| nm.T.page_cache_prev_miss | 132 | 141 | 9 |
| nm.t.percpu_rwsem_wait | 149 | 158 | 9 |
| nm.t.perf_install_in_context | 157 | 166 | 9 |
| nm.t.show_pwq | 196 | 205 | 9 |
| nm.t.run_timer_softirq | 242 | 251 | 9 |
| nm.T.cap_ptrace_access_check | 9 | 17 | 8 |
| nm.T.cap_ptrace_traceme | 9 | 17 | 8 |
| nm.T.rcuwait_wake_up | 12 | 20 | 8 |
| nm.t.tk_clock_read | 12 | 20 | 8 |
| nm.T.async_unregister_domain | 15 | 23 | 8 |
| nm.T.swake_up_all_locked | 20 | 28 | 8 |
| nm.T.group_pin_kill | 21 | 29 | 8 |
| nm.T.add_timer | 22 | 30 | 8 |
| nm.T.devres_free | 22 | 30 | 8 |
| nm.t.__do_sys_getppid | 24 | 32 | 8 |
| nm.T.__ia32_sys_getppid | 24 | 32 | 8 |
| nm.T.get_close_on_exec | 24 | 32 | 8 |
| nm.T.llist_add_batch | 25 | 33 | 8 |
| nm.T.mnt_pin_kill | 25 | 33 | 8 |
| nm.t.list_splice | 27 | 35 | 8 |
| nm.T.ring_buffer_get | 28 | 36 | 8 |
| nm.T.irq_work_tick | 29 | 37 | 8 |
| nm.T.pid_task | 29 | 37 | 8 |
| nm.t.add_dr | 30 | 38 | 8 |
| nm.t.__put_unused_fd | 31 | 39 | 8 |
| nm.T.dev_driver_string | 32 | 40 | 8 |
| nm.T.del_random_ready_callback | 33 | 41 | 8 |
| nm.T.get_mm_exe_file | 33 | 41 | 8 |
| nm.T.ptracer_capable | 33 | 41 | 8 |
| nm.t.__d_find_any_alias | 34 | 42 | 8 |
| nm.T.__prepare_to_swait | 35 | 43 | 8 |
| nm.T.set_close_on_exec | 36 | 44 | 8 |
| nm.T.up | 36 | 44 | 8 |
| nm.T.list_lru_del | 38 | 46 | 8 |
| nm.T.get_task_pid | 39 | 47 | 8 |
| nm.T.get_task_cred | 40 | 48 | 8 |
| nm.T.__finish_swait | 42 | 50 | 8 |
| nm.T.timerqueue_del | 42 | 50 | 8 |
| nm.T.put_pages_list | 43 | 51 | 8 |
| nm.T.seq_hlist_next_percpu | 45 | 53 | 8 |
| nm.t.ctx_event_to_rotate | 46 | 54 | 8 |
| nm.t.__device_links_supplier_defer_sync | 49 | 57 | 8 |
| nm.T.flush_sigqueue | 49 | 57 | 8 |
| nm.T.cap_capget | 50 | 58 | 8 |
| nm.T.srcu_init | 50 | 58 | 8 |
| nm.t.wakeup_pipe_readers | 50 | 58 | 8 |
| nm.t.wakeup_pipe_writers | 50 | 58 | 8 |
| nm.T.prepare_to_wait | 51 | 59 | 8 |
| nm.T.rhashtable_walk_stop | 51 | 59 | 8 |
| nm.T.prepare_to_wait_exclusive | 52 | 60 | 8 |
| nm.t.radix_tree_load_root | 52 | 60 | 8 |
| nm.T.task_work_add | 53 | 61 | 8 |
| nm.t.__put_mountpoint | 54 | 62 | 8 |
| nm.T.driver_deferred_probe_del | 54 | 62 | 8 |
| nm.t.__put_super | 55 | 63 | 8 |
| nm.t.d_same_name | 55 | 63 | 8 |
| nm.T.do_wait_intr | 58 | 66 | 8 |
| nm.T.kthread_delayed_work_timer_fn | 58 | 66 | 8 |
| nm.t.prepend_name | 59 | 67 | 8 |
| nm.T.shrink_dcache_for_umount | 59 | 67 | 8 |
| nm.T.task_work_cancel | 59 | 67 | 8 |
| nm.T.clear_wb_congested | 60 | 68 | 8 |
| nm.T.do_wait_intr_irq | 60 | 68 | 8 |
| nm.T.driver_deferred_probe_add | 61 | 69 | 8 |
| nm.T.devres_release_group | 63 | 71 | 8 |
| nm.t.rotate_ctx | 64 | 72 | 8 |
| nm.T.xas_load | 64 | 72 | 8 |
| nm.t.perf_event_ctx_lock_nested | 65 | 73 | 8 |
| nm.T.__task_pid_nr_ns | 67 | 75 | 8 |
| nm.T.driver_detach | 68 | 76 | 8 |
| nm.T.attribute_container_unregister | 69 | 77 | 8 |
| nm.T.page_get_anon_vma | 70 | 78 | 8 |
| nm.T.__blocking_notifier_call_chain | 71 | 79 | 8 |
| nm.T.dget_parent | 71 | 79 | 8 |
| nm.t.nested_table_alloc | 73 | 81 | 8 |
| nm.T.task_work_run | 73 | 81 | 8 |
| nm.T.__close_fd_get_file | 74 | 82 | 8 |
| nm.T.__genradix_ptr | 75 | 83 | 8 |
| nm.t.irq_work_run_list | 78 | 86 | 8 |
| nm.T.__ptrace_link | 81 | 89 | 8 |
| nm.T.xas_pause | 81 | 89 | 8 |
| nm.t.set_one_prio | 82 | 90 | 8 |
| nm.t.software_node_get_named_child_node | 84 | 92 | 8 |
| nm.T.perf_event_disable_local | 86 | 94 | 8 |
| nm.T.zap_other_threads | 92 | 100 | 8 |
| nm.T.__platform_driver_probe | 94 | 102 | 8 |
| nm.T.copy_namespaces | 95 | 103 | 8 |
| nm.t.apply_wqattrs_commit | 101 | 109 | 8 |
| nm.T.radix_tree_tag_clear | 102 | 110 | 8 |
| nm.t.__device_links_queue_sync_state | 103 | 111 | 8 |
| nm.T.__ia32_sys_pidfd_open | 106 | 114 | 8 |
| nm.t.deferred_probe_work_func | 107 | 115 | 8 |
| nm.T.sched_setaffinity | 108 | 116 | 8 |
| nm.t.perf_mmap_fault | 113 | 121 | 8 |
| nm.t.__ptrace_detach | 115 | 123 | 8 |
| nm.T.do_close_on_exec | 118 | 126 | 8 |
| nm.T.idr_for_each | 120 | 128 | 8 |
| nm.T.radix_tree_tag_get | 121 | 129 | 8 |
| nm.t.task_will_free_mem | 121 | 129 | 8 |
| nm.T.__radix_tree_lookup | 122 | 130 | 8 |
| nm.T.prepare_to_wait_event | 134 | 142 | 8 |
| nm.T.clockevents_register_device | 136 | 144 | 8 |
| nm.T.radix_tree_tag_set | 141 | 149 | 8 |
| nm.T.generic_shutdown_super | 147 | 155 | 8 |
| nm.T.__genradix_iter_peek | 148 | 156 | 8 |
| nm.T.kill_pid_usb_asyncio | 148 | 156 | 8 |
| nm.t.ptrace_resume | 151 | 159 | 8 |
| nm.t.do_dup2 | 154 | 162 | 8 |
| nm.t.dequeue_rt_stack | 162 | 170 | 8 |
| nm.T.device_links_check_suppliers | 165 | 173 | 8 |
| nm.t.__clocksource_select | 174 | 182 | 8 |
| nm.T.send_sigqueue | 175 | 183 | 8 |
| nm.T.device_shutdown | 177 | 185 | 8 |
| nm.t.__radix_tree_delete | 180 | 188 | 8 |
| nm.t.event_sched_out | 181 | 189 | 8 |
| nm.T.__perf_event_task_sched_in | 182 | 190 | 8 |
| nm.T.clocksource_unregister | 191 | 199 | 8 |
| nm.T.xas_find_conflict | 214 | 222 | 8 |
| nm.T.__ia32_sys_kill | 226 | 234 | 8 |
| nm.T.bus_sort_breadthfirst | 230 | 238 | 8 |
| nm.T.page_vma_mapped_walk | 244 | 252 | 8 |
| nm.t.clocksource_select_watchdog | 246 | 254 | 8 |
| nm.t.__mutex_lock | 251 | 259 | 8 |
| nm.T.__do_page_cache_readahead | 271 | 279 | 8 |
| nm.t.do_signal_stop | 283 | 291 | 8 |
| nm.t.perf_event_addr_filters_apply | 297 | 305 | 8 |
| nm.t.wait_on_page_bit_common | 324 | 332 | 8 |
| nm.T.dma_pool_create | 359 | 367 | 8 |
| nm.t.rwsem_mark_wake | 359 | 367 | 8 |
| nm.T.core_sys_select | 384 | 392 | 8 |
| nm.T.get_perf_callchain | 392 | 400 | 8 |
| nm.T.__ia32_sys_prlimit64 | 442 | 450 | 8 |
| nm.t.attach_recursive_mnt | 458 | 466 | 8 |
| nm.t.xas_create | 545 | 553 | 8 |
| nm.t.clocksource_watchdog | 634 | 642 | 8 |
| nm.T.getrusage | 640 | 648 | 8 |
| nm.t.pcpu_alloc | 725 | 733 | 8 |
| nm.t.perf_mmap | 939 | 947 | 8 |
| nm.T.get_signal | 1037 | 1045 | 8 |
| nm.T.flush_old_exec | 1048 | 1056 | 8 |
| nm.t.do_select | 1088 | 1096 | 8 |
| nm.t._perf_ioctl | 1421 | 1429 | 8 |
| nm.t.__do_sys_perf_event_open | 1895 | 1903 | 8 |
| nm.t.wake_up_worker | 26 | 33 | 7 |
| nm.T.swake_up_locked | 35 | 42 | 7 |
| nm.t.__kthread_cancel_work | 62 | 69 | 7 |
| nm.T.sb_mark_inode_writeback | 69 | 76 | 7 |
| nm.t.software_node_get_next_child | 80 | 87 | 7 |
| nm.T.pin_kill | 126 | 133 | 7 |
| nm.t.pwq_unbound_release_workfn | 131 | 138 | 7 |
| nm.t.wake_up_page_bit | 161 | 168 | 7 |
| nm.t.send_sigio_to_task | 172 | 179 | 7 |
| nm.T.poke_int3_handler | 209 | 216 | 7 |
| nm.T.perf_event_update_userpage | 217 | 224 | 7 |
| nm.t.unreserve_highatomic_pageblock | 243 | 250 | 7 |
| nm.t.wb_writeback | 251 | 258 | 7 |
| nm.t.destroy_worker | 55 | 61 | 6 |
| nm.T.wq_worker_sleeping | 76 | 82 | 6 |
| nm.t.lock_mnt_tree | 96 | 102 | 6 |
| nm.t.prepare_kswapd_sleep | 96 | 102 | 6 |
| nm.T.wakeup_kswapd | 169 | 175 | 6 |
| nm.T.shrink_dcache_parent | 173 | 179 | 6 |
| nm.T.__zone_watermark_ok | 189 | 195 | 6 |
| nm.T.reconfigure_super | 272 | 278 | 6 |
| nm.t.move_expired_inodes | 301 | 307 | 6 |
| nm.T.find_get_pages_range_tag | 327 | 333 | 6 |
| nm.t.umount_check | 6 | 11 | 5 |
| nm.T.ring_buffer_put | 31 | 36 | 5 |
| nm.T.kthread_destroy_worker | 38 | 43 | 5 |
| nm.t.dispose_list | 48 | 53 | 5 |
| nm.T.sb_clear_inode_writeback | 66 | 71 | 5 |
| nm.t.propagation_next | 68 | 73 | 5 |
| nm.T.shrink_dentry_list | 153 | 158 | 5 |
| nm.T.kthreadd | 174 | 179 | 5 |
| nm.t.worker_thread | 447 | 452 | 5 |
| nm.t.link_pwq | 48 | 52 | 4 |
| nm.t.pwq_activate_delayed_work | 56 | 60 | 4 |
| nm.t.check_kill_permission | 64 | 68 | 4 |
| nm.T.add_timer_on | 93 | 97 | 4 |
| nm.t.select_collect | 108 | 112 | 4 |
| nm.T.finish_automount | 238 | 242 | 4 |
| nm.t.clone_mnt | 435 | 439 | 4 |
| nm.t.lowest_in_progress | 83 | 86 | 3 |
| nm.T.apply_workqueue_attrs | 112 | 115 | 3 |
| nm.t.allow_direct_reclaim | 141 | 144 | 3 |
| nm.t.put_unbound_pool | 277 | 280 | 3 |
| nm.t.process_scheduled_works | 30 | 32 | 2 |
| nm.t.rwsem_wake | 59 | 61 | 2 |
| nm.T.downgrade_write | 78 | 80 | 2 |
| nm.t.pwq_adjust_max_active | 81 | 83 | 2 |
| nm.t.pidfd_poll | 82 | 84 | 2 |
| nm.T.do_group_exit | 98 | 100 | 2 |
| nm.t.select_collect2 | 122 | 124 | 2 |
| nm.T.kthread_worker_fn | 123 | 125 | 2 |
| nm.t.__writeback_inodes_wb | 127 | 129 | 2 |
| nm.t.__dentry_kill | 188 | 190 | 2 |
| nm.t.__cancel_work_timer | 241 | 243 | 2 |
| nm.t.move_pages_to_lru | 461 | 463 | 2 |
| nm.t.shrink_slab | 538 | 540 | 2 |
| nm.t.writeback_sb_inodes | 600 | 602 | 2 |
| nm.T.propagate_umount | 715 | 717 | 2 |
| nm.T.del_timer | 42 | 43 | 1 |
| nm.t.destroy_inode | 80 | 81 | 1 |
| nm.t.pwq_dec_nr_in_flight | 98 | 99 | 1 |
| nm.t.perf_poll | 133 | 134 | 1 |
| nm.t.evict | 258 | 259 | 1 |
| nm.t.kswapd | 1049 | 1050 | 1 |
| nm.t.shrink_node | 1408 | 1409 | 1 |
| nm.t.shrink_page_list | 1993 | 1994 | 1 |
| nm.t.worker_detach_from_pool | 109 | 108 | -1 |
| nm.T.iput | 190 | 189 | -1 |
| nm.t.umount_tree | 477 | 475 | -2 |
| nm.T.ksys_umount | 710 | 707 | -3 |
| nm.T.mark_mounts_for_expiry | 186 | 178 | -8 |
| nm.t.process_one_work | 302 | 293 | -9 |
| nm.t.rescuer_thread | 400 | 390 | -10 |
| nm.t.need_to_create_worker | 40 | 29 | -11 |
| nm.T.vm_unmapped_area | 565 | 548 | -17 |
| nm.T.wakeup_flusher_threads | 83 | 64 | -19 |
| nm.t.queue_io | 98 | 74 | -24 |
| nm.t.wb_start_writeback | 29 | 0 | -29 |
| nm.t.cdev_dynamic_release | 58 | 28 | -30 |
| nm.t.cdev_default_release | 53 | 17 | -36 |
| nm.T.sync_inodes_sb | 326 | 282 | -44 |
| nm.T.wakeup_flusher_threads_bdi | 63 | 13 | -50 |
| nm.t.get_page_from_freelist | 1567 | 1489 | -78 |
+-----------------------------------------+----------+----------+-------+
Thanks,
Kbuild test robot
2 years, 4 months
[lpieralisi:for-review/acpi-iort-id-rework 5/11] drivers/acpi/arm64/iort.c:1123:1: error: expected identifier or '(' before '{' token
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git for-review/acpi-iort-id-rework
head: 4582b00b57ab0807e87d54621173a29352109551
commit: 9c3839ce902c451c20b095d341dddcffb71a2cb5 [5/11] ACPI/IORT: Add an input ID to acpi_dma_configure()
config: arm64-randconfig-r003-20200515 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 9c3839ce902c451c20b095d341dddcffb71a2cb5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/acpi/arm64/iort.c:1123:1: error: expected identifier or '(' before '{' token
1123 | { return NULL; }
| ^
vim +1123 drivers/acpi/arm64/iort.c
1114
1115 #else
1116 static inline const struct iommu_ops *iort_fwspec_iommu_ops(struct device *dev)
1117 { return NULL; }
1118 static inline int iort_add_device_replay(const struct iommu_ops *ops,
1119 struct device *dev)
1120 { return 0; }
1121 int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head)
1122 { return 0; }
> 1123 { return NULL; }
1124 const struct iommu_ops *iort_iommu_configure_id(struct device *dev,
1125 const u32 *input_id)
1126 { return NULL; }
1127 #endif
1128
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [PATCH 5/5] PCI: uniphier: Add error message when failed to get phy
by kbuild test robot
Hi Kunihiko,
I love your patch! Perhaps something to improve:
[auto build test WARNING on pci/next]
[also build test WARNING on robh/for-next v5.7-rc5 next-20200514]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Kunihiko-Hayashi/PCI-uniphier-Ad...
base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/linux/device.h:15:0,
from include/linux/pci.h:37,
from drivers/pci/controller/dwc/pcie-uniphier.c:18:
drivers/pci/controller/dwc/pcie-uniphier.c: In function 'uniphier_pcie_probe':
>> drivers/pci/controller/dwc/pcie-uniphier.c:470:16: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
dev_err(dev, "Failed to get phy (%d)n", PTR_ERR(priv->phy));
^
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
#define dev_fmt(fmt) fmt
^~~
>> drivers/pci/controller/dwc/pcie-uniphier.c:470:3: note: in expansion of macro 'dev_err'
dev_err(dev, "Failed to get phy (%d)n", PTR_ERR(priv->phy));
^~~~~~~
vim +470 drivers/pci/controller/dwc/pcie-uniphier.c
430
431 static int uniphier_pcie_probe(struct platform_device *pdev)
432 {
433 struct device *dev = &pdev->dev;
434 struct uniphier_pcie_priv *priv;
435 struct resource *res;
436 int ret;
437
438 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
439 if (!priv)
440 return -ENOMEM;
441
442 priv->pci.dev = dev;
443 priv->pci.ops = &dw_pcie_ops;
444
445 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
446 priv->pci.dbi_base = devm_pci_remap_cfg_resource(dev, res);
447 if (IS_ERR(priv->pci.dbi_base))
448 return PTR_ERR(priv->pci.dbi_base);
449
450 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "atu");
451 priv->pci.atu_base = devm_pci_remap_cfg_resource(dev, res);
452 if (IS_ERR(priv->pci.atu_base))
453 priv->pci.atu_base = NULL;
454
455 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "link");
456 priv->base = devm_ioremap_resource(dev, res);
457 if (IS_ERR(priv->base))
458 return PTR_ERR(priv->base);
459
460 priv->clk = devm_clk_get(dev, NULL);
461 if (IS_ERR(priv->clk))
462 return PTR_ERR(priv->clk);
463
464 priv->rst = devm_reset_control_get_shared(dev, NULL);
465 if (IS_ERR(priv->rst))
466 return PTR_ERR(priv->rst);
467
468 priv->phy = devm_phy_optional_get(dev, "pcie-phy");
469 if (IS_ERR(priv->phy)) {
> 470 dev_err(dev, "Failed to get phy (%d)\n", PTR_ERR(priv->phy));
471 return PTR_ERR(priv->phy);
472 }
473
474 platform_set_drvdata(pdev, priv);
475
476 ret = uniphier_pcie_host_enable(priv);
477 if (ret)
478 return ret;
479
480 return uniphier_add_pcie_port(priv, pdev);
481 }
482
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[nvdimm:libnvdimm-pending 1/5] drivers/acpi/apei/einj.c:696:15: error: expected ';' after expression
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git libnvdimm-pending
head: bb12557751a16ec04d801b01492257f720e4718e
commit: 52fd3e3473c7cd37c07071116b7d203f277d3394 [1/5] ACPI: Store pre-mapped registers in APEI entries
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 9d4cf5bd421fb6467ff5f00e26a37527246dd4d6)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 52fd3e3473c7cd37c07071116b7d203f277d3394
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/acpi/apei/erst.c:1203:1: warning: unused label 'err_map' [-Wunused-label]
err_map:
^~~~~~~~
1 warning generated.
--
>> drivers/acpi/apei/einj.c:696:15: error: expected ';' after expression
rc = -EINVAL
^
;
>> drivers/acpi/apei/einj.c:775:8: error: use of undeclared identifier 'einj_tbl'; did you mean 'einj_tab'?
kfree(einj_tbl);
^~~~~~~~
einj_tab
drivers/acpi/apei/einj.c:104:32: note: 'einj_tab' declared here
static struct acpi_table_einj *einj_tab;
^
2 errors generated.
vim +696 drivers/acpi/apei/einj.c
668
669 static int __init einj_init(void)
670 {
671 int rc;
672 unsigned int i;
673 acpi_status status;
674 struct apei_exec_context ctx;
675 struct acpi_table_header *table;
676
677 if (acpi_disabled) {
678 pr_warn("ACPI disabled.\n");
679 return -ENODEV;
680 }
681
682 status = acpi_get_table(ACPI_SIG_EINJ, 0, &table);
683 if (status == AE_NOT_FOUND) {
684 pr_warn("EINJ table not found.\n");
685 return -ENODEV;
686 }
687 else if (ACPI_FAILURE(status)) {
688 pr_err("Failed to get EINJ table: %s\n",
689 acpi_format_exception(status));
690 return -EINVAL;
691 }
692
693 rc = einj_check_table((struct acpi_table_einj *) table);
694 if (rc) {
695 pr_warn(FW_BUG "Invalid EINJ table.\n");
> 696 rc = -EINVAL
697 goto err_table;
698 }
699
700 /*
701 * Create a duplicate table where the physical address resources
702 * can be replaced with virtual mappings
703 */
704 einj_tab = kmemdup(table, table->length, GFP_KERNEL);
705 if (!einj_tab)
706 goto err_table;
707
708 rc = -ENOMEM;
709 einj_debug_dir = debugfs_create_dir("einj", apei_get_debugfs_dir());
710
711 debugfs_create_file("available_error_type", S_IRUSR, einj_debug_dir,
712 NULL, &available_error_type_fops);
713 debugfs_create_file_unsafe("error_type", 0600, einj_debug_dir,
714 NULL, &error_type_fops);
715 debugfs_create_file_unsafe("error_inject", 0200, einj_debug_dir,
716 NULL, &error_inject_fops);
717
718 apei_resources_init(&einj_resources);
719 einj_exec_ctx_init(&ctx);
720 rc = apei_exec_collect_resources(&ctx, &einj_resources);
721 if (rc) {
722 pr_err("Error collecting EINJ resources.\n");
723 goto err_fini;
724 }
725
726 rc = apei_resources_request(&einj_resources, "APEI EINJ");
727 if (rc) {
728 pr_err("Error requesting memory/port resources.\n");
729 goto err_fini;
730 }
731
732 rc = apei_exec_pre_map_gars(&ctx);
733 if (rc) {
734 pr_err("Error pre-mapping GARs.\n");
735 goto err_release;
736 }
737
738 rc = -ENOMEM;
739 einj_param = einj_get_parameter_address();
740 if ((param_extension || acpi5) && einj_param) {
741 debugfs_create_x32("flags", S_IRUSR | S_IWUSR, einj_debug_dir,
742 &error_flags);
743 debugfs_create_x64("param1", S_IRUSR | S_IWUSR, einj_debug_dir,
744 &error_param1);
745 debugfs_create_x64("param2", S_IRUSR | S_IWUSR, einj_debug_dir,
746 &error_param2);
747 debugfs_create_x64("param3", S_IRUSR | S_IWUSR, einj_debug_dir,
748 &error_param3);
749 debugfs_create_x64("param4", S_IRUSR | S_IWUSR, einj_debug_dir,
750 &error_param4);
751 debugfs_create_x32("notrigger", S_IRUSR | S_IWUSR,
752 einj_debug_dir, ¬rigger);
753 }
754
755 if (vendor_dev[0]) {
756 vendor_blob.data = vendor_dev;
757 vendor_blob.size = strlen(vendor_dev);
758 debugfs_create_blob("vendor", S_IRUSR, einj_debug_dir,
759 &vendor_blob);
760 debugfs_create_x32("vendor_flags", S_IRUSR | S_IWUSR,
761 einj_debug_dir, &vendor_flags);
762 }
763
764 pr_info("Error INJection is initialized.\n");
765 acpi_put_table(table);
766
767 return 0;
768
769 err_release:
770 apei_resources_release(&einj_resources);
771 err_fini:
772 apei_resources_fini(&einj_resources);
773 debugfs_remove_recursive(einj_debug_dir);
774 err_map:
> 775 kfree(einj_tbl);
776 err_table:
777 acpi_put_table(table);
778
779 return rc;
780 }
781
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[linux-next:master 4093/9362] kernel/rcu/rcuperf.c:726:65: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'unsigned int'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: c9529331c7a22b8eb7eb03e1e0e221d0f58b43de
commit: f87dc808009ac86c790031627698ef1a34c31e25 [4093/9362] rcuperf: Add ability to increase object allocation size
config: i386-randconfig-r022-20200515 (attached as .config)
compiler: gcc-4.9 (Ubuntu 4.9.3-13ubuntu2) 4.9.3
reproduce:
git checkout f87dc808009ac86c790031627698ef1a34c31e25
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/linux/kernel.h:15:0,
from kernel/rcu/rcuperf.c:13:
kernel/rcu/rcuperf.c: In function 'kfree_perf_init':
>> kernel/rcu/rcuperf.c:726:65: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'unsigned int' [-Wformat=]
pr_alert("kfree object size=%lun", kfree_mult * sizeof(struct kfree_obj));
^
include/linux/printk.h:295:35: note: in definition of macro 'pr_alert'
printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
^
vim +726 kernel/rcu/rcuperf.c
708
709 static int __init
710 kfree_perf_init(void)
711 {
712 long i;
713 int firsterr = 0;
714
715 kfree_nrealthreads = compute_real(kfree_nthreads);
716 /* Start up the kthreads. */
717 if (shutdown) {
718 init_waitqueue_head(&shutdown_wq);
719 firsterr = torture_create_kthread(kfree_perf_shutdown, NULL,
720 shutdown_task);
721 if (firsterr)
722 goto unwind;
723 schedule_timeout_uninterruptible(1);
724 }
725
> 726 pr_alert("kfree object size=%lu\n", kfree_mult * sizeof(struct kfree_obj));
727
728 kfree_reader_tasks = kcalloc(kfree_nrealthreads, sizeof(kfree_reader_tasks[0]),
729 GFP_KERNEL);
730 if (kfree_reader_tasks == NULL) {
731 firsterr = -ENOMEM;
732 goto unwind;
733 }
734
735 for (i = 0; i < kfree_nrealthreads; i++) {
736 firsterr = torture_create_kthread(kfree_perf_thread, (void *)i,
737 kfree_reader_tasks[i]);
738 if (firsterr)
739 goto unwind;
740 }
741
742 while (atomic_read(&n_kfree_perf_thread_started) < kfree_nrealthreads)
743 schedule_timeout_uninterruptible(1);
744
745 torture_init_end();
746 return 0;
747
748 unwind:
749 torture_init_end();
750 kfree_perf_cleanup();
751 return firsterr;
752 }
753
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[hch-block:block-fs.h-cleanup 5/8] do_mounts.c:(.text+0x5): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
by kbuild test robot
tree: git://git.infradead.org/users/hch/block.git block-fs.h-cleanup
head: c0cdb50e2e61eb5968b8d2d511606c562d715b01
commit: 2d47138f2446f0405f32f29637681eea53dd7f18 [5/8] fs: move block-related definitions out of fs.h
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout 2d47138f2446f0405f32f29637681eea53dd7f18
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: the hch-block/block-fs.h-cleanup HEAD c0cdb50e2e61eb5968b8d2d511606c562d715b01 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>, old ones prefixed by <<):
ld: init/do_mounts.o: in function `invalidate_bdev':
>> do_mounts.c:(.text+0x5): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/entry/common.o: in function `invalidate_bdev':
common.c:(.text+0xaa): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/entry/vdso/vma.o: in function `invalidate_bdev':
vma.c:(.text+0x205): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/signal.o: in function `invalidate_bdev':
signal.c:(.text+0x1cb): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/setup.o: in function `invalidate_bdev':
setup.c:(.text+0x3): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/e820.o: in function `invalidate_bdev':
e820.c:(.text+0xb1): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/ptrace.o: in function `invalidate_bdev':
ptrace.c:(.text+0x4cf): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/cpu/umwait.o: in function `invalidate_bdev':
umwait.c:(.text+0x2c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/kernel/reboot.o: in function `invalidate_bdev':
reboot.c:(.text+0x1): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/init.o: in function `invalidate_bdev':
init.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/init_32.o: in function `invalidate_bdev':
init_32.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/fault.o: in function `invalidate_bdev':
fault.c:(.text+0x6df): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/ioremap.o: in function `invalidate_bdev':
ioremap.c:(.text+0x277): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/pgtable.o: in function `invalidate_bdev':
pgtable.c:(.text+0x4): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: arch/x86/mm/pgtable_32.o: in function `invalidate_bdev':
pgtable_32.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/fork.o: in function `invalidate_bdev':
fork.c:(.text+0x57a): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/cpu.o: in function `invalidate_bdev':
cpu.c:(.text+0x104): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/exit.o: in function `invalidate_bdev':
exit.c:(.text+0x22c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sysctl.o: in function `invalidate_bdev':
sysctl.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/signal.o: in function `invalidate_bdev':
signal.c:(.text+0x570): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sys.o: in function `invalidate_bdev':
sys.c:(.text+0x78a): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/umh.o: in function `invalidate_bdev':
umh.c:(.text+0x32c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/task_work.o: in function `invalidate_bdev':
task_work.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/reboot.o: in function `invalidate_bdev':
reboot.c:(.text+0x4c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/core.o: in function `invalidate_bdev':
core.c:(.text+0x2d4): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/loadavg.o: in function `invalidate_bdev':
loadavg.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/clock.o: in function `invalidate_bdev':
clock.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/cputime.o: in function `invalidate_bdev':
cputime.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/idle.o: in function `invalidate_bdev':
idle.c:(.text+0x2c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/fair.o: in function `invalidate_bdev':
fair.c:(.text+0x906): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/rt.o: in function `invalidate_bdev':
rt.c:(.text+0x6eb): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/deadline.o: in function `invalidate_bdev':
deadline.c:(.text+0xb9a): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/wait.o: in function `invalidate_bdev':
wait.c:(.text+0x15c): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/wait_bit.o: in function `invalidate_bdev':
wait_bit.c:(.text+0x9d): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/swait.o: in function `invalidate_bdev':
swait.c:(.text+0x4): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/sched/completion.o: in function `invalidate_bdev':
completion.c:(.text+0x4): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: kernel/time/timer.o: in function `invalidate_bdev':
timer.c:(.text+0x446): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/filemap.o: in function `invalidate_bdev':
filemap.c:(.text+0x749): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/mempool.o: in function `invalidate_bdev':
mempool.c:(.text+0x3f): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/oom_kill.o: in function `invalidate_bdev':
oom_kill.c:(.text+0x126): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/fadvise.o: in function `invalidate_bdev':
fadvise.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/page-writeback.o: in function `invalidate_bdev':
page-writeback.c:(.text+0x584): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/readahead.o: in function `invalidate_bdev':
readahead.c:(.text+0xfd): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/swap.o: in function `invalidate_bdev':
swap.c:(.text+0x7ac): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/truncate.o: in function `invalidate_bdev':
truncate.c:(.text+0x136): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/vmscan.o: in function `invalidate_bdev':
vmscan.c:(.text+0xeb3): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/shmem.o: in function `invalidate_bdev':
shmem.c:(.text+0x6d): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/util.o: in function `invalidate_bdev':
util.c:(.text+0xc): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/vmstat.o: in function `invalidate_bdev':
vmstat.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/backing-dev.o: in function `invalidate_bdev':
backing-dev.c:(.text+0x16f): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
ld: mm/slab_common.o: in function `invalidate_bdev':
slab_common.c:(.text+0x0): multiple definition of `invalidate_bdev'; init/main.o:main.c:(.text+0x37): first defined here
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
drivers/vhost/vhost.c:1014:16: sparse: sparse: cast to restricted __virtio16
by kbuild test robot
Hi Jason,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1ae7efb388540adc1653a51a3bc3b2c9cef5ec1a
commit: 20c384f1ea1a0bc7320bc445c72dd02d2970d594 vhost: refine vhost and vringh kconfig
date: 6 weeks ago
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout 20c384f1ea1a0bc7320bc445c72dd02d2970d594
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:937:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:937:16: sparse: expected void *addr
drivers/vhost/vhost.c:937:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:922:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] [usertype] <asvoid *addr @@
drivers/vhost/vhost.c:922:16: sparse: expected void *addr
drivers/vhost/vhost.c:922:16: sparse: got restricted __virtio16 [noderef] [usertype] <asn:1> *
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
>> drivers/vhost/vhost.c:1014:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:1014:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:1014:16: sparse: expected void *addr
drivers/vhost/vhost.c:1014:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
>> drivers/vhost/vhost.c:1014:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:989:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:989:16: sparse: expected void *addr
drivers/vhost/vhost.c:989:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:995:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:995:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:995:16: sparse: expected void *addr
drivers/vhost/vhost.c:995:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:995:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:944:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:944:16: sparse: expected void *addr
drivers/vhost/vhost.c:944:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:1002:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:1002:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:1002:16: sparse: expected void *addr
drivers/vhost/vhost.c:1002:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:1002:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:1008:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:1008:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] [usertype] <asvoid *addr @@
drivers/vhost/vhost.c:1008:16: sparse: expected void *addr
drivers/vhost/vhost.c:1008:16: sparse: got restricted __virtio16 [noderef] [usertype] <asn:1> *
drivers/vhost/vhost.c:1008:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:989:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:989:16: sparse: expected void *addr
drivers/vhost/vhost.c:989:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:989:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got restricted __virtio16 [noderef] <asvoid *addr @@
drivers/vhost/vhost.c:989:16: sparse: expected void *addr
drivers/vhost/vhost.c:989:16: sparse: got restricted __virtio16 [noderef] <asn:1> *
drivers/vhost/vhost.c:989:16: sparse: sparse: cast to restricted __virtio16
drivers/vhost/vhost.c:900:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:1> *addr @@ got n:1> *addr @@
drivers/vhost/vhost.c:900:42: sparse: expected void [noderef] <asn:1> *addr
drivers/vhost/vhost.c:900:42: sparse: got void *addr
drivers/vhost/vhost.c:753:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:1> * @@ got n:1> * @@
drivers/vhost/vhost.c:753:17: sparse: expected void [noderef] <asn:1> *
drivers/vhost/vhost.c:753:17: sparse: got void *
vim +1014 drivers/vhost/vhost.c
7b5d753ebc22c5 Jason Wang 2019-05-24 1010
7b5d753ebc22c5 Jason Wang 2019-05-24 1011 static inline int vhost_get_used_idx(struct vhost_virtqueue *vq,
7b5d753ebc22c5 Jason Wang 2019-05-24 1012 __virtio16 *idx)
7b5d753ebc22c5 Jason Wang 2019-05-24 1013 {
7b5d753ebc22c5 Jason Wang 2019-05-24 @1014 return vhost_get_used(vq, *idx, &vq->used->idx);
7b5d753ebc22c5 Jason Wang 2019-05-24 1015 }
7b5d753ebc22c5 Jason Wang 2019-05-24 1016
:::::: The code at line 1014 was first introduced by commit
:::::: 7b5d753ebc22c5b6935a70ce9a857dc6220784f8 vhost: fine grain userspace memory accessors
:::::: TO: Jason Wang <jasowang(a)redhat.com>
:::::: CC: Michael S. Tsirkin <mst(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[linux-next:master 812/9362] net/bluetooth/l2cap_sock.c:1084:21: sparse: sparse: incorrect type in initializer (different address spaces)
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: c9529331c7a22b8eb7eb03e1e0e221d0f58b43de
commit: 3ee7b7cd83900bb711efadbf16fa096a615a1566 [812/9362] Bluetooth: Add BT_MODE socket option
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout 3ee7b7cd83900bb711efadbf16fa096a615a1566
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
net/bluetooth/l2cap_sock.c:428:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got int [noderevoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:428:13: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:428:13: sparse: got int [noderef] <asn:1> *optlen
net/bluetooth/l2cap_sock.c:553:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got int [noderevoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:553:13: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:553:13: sparse: got int [noderef] <asn:1> *optlen
net/bluetooth/l2cap_sock.c:785:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:785:21: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:785:21: sparse: got unsigned int [noderef] [usertype] <asn:1> *
net/bluetooth/l2cap_sock.c:942:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:942:21: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:942:21: sparse: got unsigned int [noderef] [usertype] <asn:1> *
net/bluetooth/l2cap_sock.c:957:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:957:21: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:957:21: sparse: got unsigned int [noderef] [usertype] <asn:1> *
net/bluetooth/l2cap_sock.c:1005:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:1005:21: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:1005:21: sparse: got unsigned int [noderef] [usertype] <asn:1> *
net/bluetooth/l2cap_sock.c:1053:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned short [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:1053:21: sparse: expected void const *__gu_ptr
net/bluetooth/l2cap_sock.c:1053:21: sparse: got unsigned short [noderef] [usertype] <asn:1> *
>> net/bluetooth/l2cap_sock.c:1084:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const *__gu_ptr @@ got unsigned char [noderef] [usertypvoid const *__gu_ptr @@
net/bluetooth/l2cap_sock.c:1084:21: sparse: expected void const *__gu_ptr
>> net/bluetooth/l2cap_sock.c:1084:21: sparse: got unsigned char [noderef] [usertype] <asn:1> *
vim +1084 net/bluetooth/l2cap_sock.c
860
861 static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
862 char __user *optval, unsigned int optlen)
863 {
864 struct sock *sk = sock->sk;
865 struct l2cap_chan *chan = l2cap_pi(sk)->chan;
866 struct bt_security sec;
867 struct bt_power pwr;
868 struct l2cap_conn *conn;
869 int len, err = 0;
870 u32 opt;
871
872 BT_DBG("sk %p", sk);
873
874 if (level == SOL_L2CAP)
875 return l2cap_sock_setsockopt_old(sock, optname, optval, optlen);
876
877 if (level != SOL_BLUETOOTH)
878 return -ENOPROTOOPT;
879
880 lock_sock(sk);
881
882 switch (optname) {
883 case BT_SECURITY:
884 if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED &&
885 chan->chan_type != L2CAP_CHAN_FIXED &&
886 chan->chan_type != L2CAP_CHAN_RAW) {
887 err = -EINVAL;
888 break;
889 }
890
891 sec.level = BT_SECURITY_LOW;
892
893 len = min_t(unsigned int, sizeof(sec), optlen);
894 if (copy_from_user((char *) &sec, optval, len)) {
895 err = -EFAULT;
896 break;
897 }
898
899 if (sec.level < BT_SECURITY_LOW ||
900 sec.level > BT_SECURITY_FIPS) {
901 err = -EINVAL;
902 break;
903 }
904
905 chan->sec_level = sec.level;
906
907 if (!chan->conn)
908 break;
909
910 conn = chan->conn;
911
912 /* change security for LE channels */
913 if (chan->scid == L2CAP_CID_ATT) {
914 if (smp_conn_security(conn->hcon, sec.level)) {
915 err = -EINVAL;
916 break;
917 }
918
919 set_bit(FLAG_PENDING_SECURITY, &chan->flags);
920 sk->sk_state = BT_CONFIG;
921 chan->state = BT_CONFIG;
922
923 /* or for ACL link */
924 } else if ((sk->sk_state == BT_CONNECT2 &&
925 test_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags)) ||
926 sk->sk_state == BT_CONNECTED) {
927 if (!l2cap_chan_check_security(chan, true))
928 set_bit(BT_SK_SUSPEND, &bt_sk(sk)->flags);
929 else
930 sk->sk_state_change(sk);
931 } else {
932 err = -EINVAL;
933 }
934 break;
935
936 case BT_DEFER_SETUP:
937 if (sk->sk_state != BT_BOUND && sk->sk_state != BT_LISTEN) {
938 err = -EINVAL;
939 break;
940 }
941
942 if (get_user(opt, (u32 __user *) optval)) {
943 err = -EFAULT;
944 break;
945 }
946
947 if (opt) {
948 set_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags);
949 set_bit(FLAG_DEFER_SETUP, &chan->flags);
950 } else {
951 clear_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags);
952 clear_bit(FLAG_DEFER_SETUP, &chan->flags);
953 }
954 break;
955
956 case BT_FLUSHABLE:
> 957 if (get_user(opt, (u32 __user *) optval)) {
958 err = -EFAULT;
959 break;
960 }
961
962 if (opt > BT_FLUSHABLE_ON) {
963 err = -EINVAL;
964 break;
965 }
966
967 if (opt == BT_FLUSHABLE_OFF) {
968 conn = chan->conn;
969 /* proceed further only when we have l2cap_conn and
970 No Flush support in the LM */
971 if (!conn || !lmp_no_flush_capable(conn->hcon->hdev)) {
972 err = -EINVAL;
973 break;
974 }
975 }
976
977 if (opt)
978 set_bit(FLAG_FLUSHABLE, &chan->flags);
979 else
980 clear_bit(FLAG_FLUSHABLE, &chan->flags);
981 break;
982
983 case BT_POWER:
984 if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED &&
985 chan->chan_type != L2CAP_CHAN_RAW) {
986 err = -EINVAL;
987 break;
988 }
989
990 pwr.force_active = BT_POWER_FORCE_ACTIVE_ON;
991
992 len = min_t(unsigned int, sizeof(pwr), optlen);
993 if (copy_from_user((char *) &pwr, optval, len)) {
994 err = -EFAULT;
995 break;
996 }
997
998 if (pwr.force_active)
999 set_bit(FLAG_FORCE_ACTIVE, &chan->flags);
1000 else
1001 clear_bit(FLAG_FORCE_ACTIVE, &chan->flags);
1002 break;
1003
1004 case BT_CHANNEL_POLICY:
1005 if (get_user(opt, (u32 __user *) optval)) {
1006 err = -EFAULT;
1007 break;
1008 }
1009
1010 if (opt > BT_CHANNEL_POLICY_AMP_PREFERRED) {
1011 err = -EINVAL;
1012 break;
1013 }
1014
1015 if (chan->mode != L2CAP_MODE_ERTM &&
1016 chan->mode != L2CAP_MODE_STREAMING) {
1017 err = -EOPNOTSUPP;
1018 break;
1019 }
1020
1021 chan->chan_policy = (u8) opt;
1022
1023 if (sk->sk_state == BT_CONNECTED &&
1024 chan->move_role == L2CAP_MOVE_ROLE_NONE)
1025 l2cap_move_start(chan);
1026
1027 break;
1028
1029 case BT_SNDMTU:
1030 if (!bdaddr_type_is_le(chan->src_type)) {
1031 err = -EINVAL;
1032 break;
1033 }
1034
1035 /* Setting is not supported as it's the remote side that
1036 * decides this.
1037 */
1038 err = -EPERM;
1039 break;
1040
1041 case BT_RCVMTU:
1042 if (!bdaddr_type_is_le(chan->src_type)) {
1043 err = -EINVAL;
1044 break;
1045 }
1046
1047 if (chan->mode == L2CAP_MODE_LE_FLOWCTL &&
1048 sk->sk_state == BT_CONNECTED) {
1049 err = -EISCONN;
1050 break;
1051 }
1052
1053 if (get_user(opt, (u16 __user *) optval)) {
1054 err = -EFAULT;
1055 break;
1056 }
1057
1058 if (chan->mode == L2CAP_MODE_EXT_FLOWCTL &&
1059 sk->sk_state == BT_CONNECTED)
1060 err = l2cap_chan_reconfigure(chan, opt);
1061 else
1062 chan->imtu = opt;
1063
1064 break;
1065
1066 case BT_MODE:
1067 if (!enable_ecred) {
1068 err = -ENOPROTOOPT;
1069 break;
1070 }
1071
1072 BT_DBG("sk->sk_state %u", sk->sk_state);
1073
1074 if (sk->sk_state != BT_BOUND) {
1075 err = -EINVAL;
1076 break;
1077 }
1078
1079 if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED) {
1080 err = -EINVAL;
1081 break;
1082 }
1083
> 1084 if (get_user(opt, (u8 __user *) optval)) {
1085 err = -EFAULT;
1086 break;
1087 }
1088
1089 BT_DBG("opt %u", opt);
1090
1091 err = l2cap_set_mode(chan, opt);
1092 if (err)
1093 break;
1094
1095 BT_DBG("mode 0x%2.2x", chan->mode);
1096
1097 break;
1098
1099 default:
1100 err = -ENOPROTOOPT;
1101 break;
1102 }
1103
1104 release_sock(sk);
1105 return err;
1106 }
1107
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[linux-review:UPDATE-20200514-234943/Stanislav-Lisovskiy/Consider-DBuf-bandwidth-when-calculating-CDCLK/20200514-232846 6/7] drivers/gpu/drm/i915/display/intel_display.c:14695:2: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
by kbuild test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200514-234943/Stanislav...
head: 299fe22b95c5eec191b4fadb8c149ae6c5262f6c
commit: 605fbe4b20bd78e247088acbe3b2d3a63f3960cd [6/7] drm/i915: Adjust CDCLK accordingly to our DBuf bw needs
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 9d4cf5bd421fb6467ff5f00e26a37527246dd4d6)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 605fbe4b20bd78e247088acbe3b2d3a63f3960cd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/gpu/drm/i915/display/intel_display.c:14695:2: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
>> drivers/gpu/drm/i915/display/intel_display.c:14695:18: error: incompatible pointer types assigning to 'struct intel_crtc_state *' from 'struct intel_cdclk_state *' [-Werror,-Wincompatible-pointer-types]
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:14697:6: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
if (new_cdclk_state && new_cdclk_state->force_min_cdclk_changed)
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14697:25: error: use of undeclared identifier 'new_cdclk_state'
if (new_cdclk_state && new_cdclk_state->force_min_cdclk_changed)
^
>> drivers/gpu/drm/i915/display/intel_display.c:14698:4: error: use of undeclared identifier 'need_cdclk_calc'
*need_cdclk_calc = true;
^
drivers/gpu/drm/i915/display/intel_display.c:14704:7: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
if (!new_cdclk_state)
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:866:35: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), ^
include/linux/kernel.h:856:16: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^
include/linux/kernel.h:842:22: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:866:35: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), ^
include/linux/kernel.h:856:43: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^
include/linux/kernel.h:853:19: note: expanded from macro '__no_side_effects'
(__is_constexpr(x) && __is_constexpr(y))
^
include/linux/kernel.h:850:48: note: expanded from macro '__is_constexpr'
(sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:867:9: note: expanded from macro '__careful_cmp'
__cmp(x, y, op), ^
include/linux/kernel.h:858:27: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:867:9: note: expanded from macro '__careful_cmp'
__cmp(x, y, op), ^
include/linux/kernel.h:858:40: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:868:14: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/kernel.h:861:10: note: expanded from macro '__cmp_once'
typeof(x) unique_x = (x); ^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
--
>> drivers/gpu/drm/i915/display/intel_display.c:14695:2: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
>> drivers/gpu/drm/i915/display/intel_display.c:14695:18: error: incompatible pointer types assigning to 'struct intel_crtc_state *' from 'struct intel_cdclk_state *' [-Werror,-Wincompatible-pointer-types]
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:14697:6: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
if (new_cdclk_state && new_cdclk_state->force_min_cdclk_changed)
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14697:25: error: use of undeclared identifier 'new_cdclk_state'
if (new_cdclk_state && new_cdclk_state->force_min_cdclk_changed)
^
>> drivers/gpu/drm/i915/display/intel_display.c:14698:4: error: use of undeclared identifier 'need_cdclk_calc'
*need_cdclk_calc = true;
^
drivers/gpu/drm/i915/display/intel_display.c:14704:7: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
if (!new_cdclk_state)
^~~~~~~~~~~~~~~
new_crtc_state
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:866:35: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), ^
include/linux/kernel.h:856:16: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^
include/linux/kernel.h:842:22: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:866:35: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), ^
include/linux/kernel.h:856:43: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^
include/linux/kernel.h:853:19: note: expanded from macro '__no_side_effects'
(__is_constexpr(x) && __is_constexpr(y))
^
include/linux/kernel.h:850:48: note: expanded from macro '__is_constexpr'
(sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:867:9: note: expanded from macro '__careful_cmp'
__cmp(x, y, op), ^
include/linux/kernel.h:858:27: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:867:9: note: expanded from macro '__careful_cmp'
__cmp(x, y, op), ^
include/linux/kernel.h:858:40: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
^~~~~~~~~~~~~~~
new_crtc_state
include/linux/kernel.h:882:33: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/kernel.h:868:14: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/kernel.h:861:10: note: expanded from macro '__cmp_once'
typeof(x) unique_x = (x); ^
drivers/gpu/drm/i915/display/intel_display.c:14642:44: note: 'new_crtc_state' declared here
struct intel_crtc_state *old_crtc_state, *new_crtc_state;
^
drivers/gpu/drm/i915/display/intel_display.c:14711:19: error: use of undeclared identifier 'new_cdclk_state'; did you mean 'new_crtc_state'?
min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
vim +14695 drivers/gpu/drm/i915/display/intel_display.c
14638
14639 static int intel_atomic_check_planes(struct intel_atomic_state *state)
14640 {
14641 struct drm_i915_private *dev_priv = to_i915(state->base.dev);
14642 struct intel_crtc_state *old_crtc_state, *new_crtc_state;
14643 struct intel_plane_state *plane_state;
14644 struct intel_plane *plane;
14645 struct intel_crtc *crtc;
14646 int i, ret;
14647
14648 ret = icl_add_linked_planes(state);
14649 if (ret)
14650 return ret;
14651
14652 for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
14653 ret = intel_plane_atomic_check(state, plane);
14654 if (ret) {
14655 drm_dbg_atomic(&dev_priv->drm,
14656 "[PLANE:%d:%s] atomic driver check failed\n",
14657 plane->base.base.id, plane->base.name);
14658 return ret;
14659 }
14660 }
14661
14662 for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
14663 new_crtc_state, i) {
14664 u8 old_active_planes, new_active_planes;
14665
14666 ret = icl_check_nv12_planes(new_crtc_state);
14667 if (ret)
14668 return ret;
14669
14670 /*
14671 * On some platforms the number of active planes affects
14672 * the planes' minimum cdclk calculation. Add such planes
14673 * to the state before we compute the minimum cdclk.
14674 */
14675 if (!active_planes_affects_min_cdclk(dev_priv))
14676 continue;
14677
14678 old_active_planes = old_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
14679 new_active_planes = new_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
14680
14681 /*
14682 * Not only the number of planes, but if the plane configuration had
14683 * changed might already mean we need to recompute min CDCLK,
14684 * because different planes might consume different amount of Dbuf bandwidth
14685 * according to formula: Bw per plane = Pixel rate * bpp * pipe/plane scale factor
14686 */
14687 if (old_active_planes == new_active_planes)
14688 continue;
14689
14690 ret = intel_crtc_add_planes_to_state(state, crtc, new_active_planes);
14691 if (ret)
14692 return ret;
14693 }
14694
14695 new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
14696
14697 if (new_cdclk_state && new_cdclk_state->force_min_cdclk_changed)
14698 *need_cdclk_calc = true;
14699
14700 ret = intel_bw_calc_min_cdclk(state);
14701 if (ret)
14702 return ret;
14703
14704 if (!new_cdclk_state)
14705 return 0;
14706
14707 for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
14708 struct intel_bw_state *bw_state;
14709 int min_cdclk = 0;
14710
14711 min_cdclk = max(new_cdclk_state->min_cdclk[crtc->pipe], min_cdclk);
14712
14713 bw_state = intel_atomic_get_bw_state(state);
14714 if (IS_ERR(bw_state))
14715 return PTR_ERR(bw_state);
14716
14717 /*
14718 * Currently do this change only if we need to increase
14719 */
14720 if (bw_state->min_cdclk > min_cdclk)
14721 *need_cdclk_calc = true;
14722 }
14723
14724 return 0;
14725 }
14726
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months