tree:
https://android.googlesource.com/kernel/common android-4.4-p
head: 766d0c0c6c388ec3833caf9c47e9f3f50230cdc3
commit: 766d0c0c6c388ec3833caf9c47e9f3f50230cdc3 [1/1] ANDROID: cpufreq: times: add
/proc/uid_concurrent_{active,policy}_time
config: i386-randconfig-s002-20200710 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-37-gc9676a3b-dirty
git checkout 766d0c0c6c388ec3833caf9c47e9f3f50230cdc3
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/cpufreq/cpufreq_times.c:30:1: sparse: sparse: symbol 'uid_hash_table'
was not declared. Should it be static?
> drivers/cpufreq/cpufreq_times.c:259:40: sparse: sparse: incorrect
type in argument 2 (different base types) @@ expected char delimiter @@ got char *
@@
> drivers/cpufreq/cpufreq_times.c:259:40: sparse: expected char delimiter
> drivers/cpufreq/cpufreq_times.c:259:40: sparse: got char *
drivers/cpufreq/cpufreq_times.c:265:48: sparse: sparse: incorrect type in argument 2
(different base types) @@ expected char delimiter @@ got char * @@
drivers/cpufreq/cpufreq_times.c:265:48: sparse: expected char delimiter
drivers/cpufreq/cpufreq_times.c:265:48: sparse: got char *
drivers/cpufreq/cpufreq_times.c:283:40: sparse: sparse: incorrect type in argument 2
(different base types) @@ expected char delimiter @@ got char * @@
drivers/cpufreq/cpufreq_times.c:283:40: sparse: expected char delimiter
drivers/cpufreq/cpufreq_times.c:283:40: sparse: got char *
drivers/cpufreq/cpufreq_times.c:309:64: sparse: sparse: incorrect type in argument 2
(different base types) @@ expected char delimiter @@ got char * @@
drivers/cpufreq/cpufreq_times.c:309:64: sparse: expected char delimiter
drivers/cpufreq/cpufreq_times.c:309:64: sparse: got char *
drivers/cpufreq/cpufreq_times.c:313:56: sparse: sparse: incorrect type in argument 2
(different base types) @@ expected char delimiter @@ got char * @@
drivers/cpufreq/cpufreq_times.c:313:56: sparse: expected char delimiter
drivers/cpufreq/cpufreq_times.c:313:56: sparse: got char *
drivers/cpufreq/cpufreq_times.c:320:48: sparse: sparse: incorrect type in argument 2
(different base types) @@ expected char delimiter @@ got char * @@
drivers/cpufreq/cpufreq_times.c:320:48: sparse: expected char delimiter
drivers/cpufreq/cpufreq_times.c:320:48: sparse: got char *
drivers/cpufreq/cpufreq_times.c:406:35: sparse: sparse: implicit cast to nocast type
drivers/cpufreq/cpufreq_times.c:409:59: sparse: sparse: implicit cast to nocast type
drivers/cpufreq/cpufreq_times.c:439:44: sparse: sparse: implicit cast from nocast type
drivers/cpufreq/cpufreq_times.c:445:52: sparse: sparse: implicit cast from nocast type
drivers/cpufreq/cpufreq_times.c:459:22: sparse: sparse: implicit cast from nocast type
drivers/cpufreq/cpufreq_times.c:479:22: sparse: sparse: implicit cast from nocast type
> drivers/cpufreq/cpufreq_times.c:259:40: sparse: sparse: non
size-preserving pointer to integer cast
drivers/cpufreq/cpufreq_times.c:265:48:
sparse: sparse: non size-preserving pointer to integer cast
drivers/cpufreq/cpufreq_times.c:283:40: sparse: sparse: non size-preserving pointer to
integer cast
drivers/cpufreq/cpufreq_times.c:309:64: sparse: sparse: non size-preserving pointer to
integer cast
drivers/cpufreq/cpufreq_times.c:313:56: sparse: sparse: non size-preserving pointer to
integer cast
drivers/cpufreq/cpufreq_times.c:320:48: sparse: sparse: non size-preserving pointer to
integer cast
In file included from drivers/cpufreq/cpufreq_times.c:22:0:
include/linux/sched.h:1211:1: warning: type qualifiers ignored on function return type
[-Wignored-qualifiers]
const struct sched_group_energy * const(*sched_domain_energy_f)(int cpu);
^~~~~
drivers/cpufreq/cpufreq_times.c: In function 'concurrent_time_seq_show':
drivers/cpufreq/cpufreq_times.c:259:26: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, "", (u64)uid_entry->uid);
^~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/cpufreq_times.c:265:27: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, " ", time);
^~~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/cpufreq_times.c: In function
'concurrent_active_time_seq_show':
drivers/cpufreq/cpufreq_times.c:283:26: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, "cpus: ", num_possible_cpus());
^~~~~~~~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/cpufreq_times.c: In function
'concurrent_policy_time_seq_show':
drivers/cpufreq/cpufreq_times.c:309:29: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, ": ", cnt);
^~~~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/cpufreq_times.c:313:28: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, "policy", i);
^~~~~~~~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/cpufreq_times.c:320:27: warning: passing argument 2 of
'seq_put_decimal_ull' makes integer from pointer without a cast
[-Wint-conversion]
seq_put_decimal_ull(m, ": ", cnt);
^~~~
In file included from drivers/cpufreq/cpufreq_times.c:23:0:
include/linux/seq_file.h:120:6: note: expected 'char' but argument is of type
'char *'
void seq_put_decimal_ull(struct seq_file *m, char delimiter,
^~~~~~~~~~~~~~~~~~~
vim +259 drivers/cpufreq/cpufreq_times.c
247
248 static int concurrent_time_seq_show(struct seq_file *m, void *v,
249 atomic64_t *(*get_times)(struct concurrent_times *))
250 {
251 struct uid_entry *uid_entry;
252 int i, num_possible_cpus = num_possible_cpus();
253
254 rcu_read_lock();
255
256 hlist_for_each_entry_rcu(uid_entry, (struct hlist_head *)v, hash) {
257 atomic64_t *times = get_times(uid_entry->concurrent_times);
258
259 seq_put_decimal_ull(m, "", (u64)uid_entry->uid);
260 seq_putc(m, ':');
261
262 for (i = 0; i < num_possible_cpus; ++i) {
263 u64 time = cputime_to_clock_t(atomic64_read(×[i]));
264
265 seq_put_decimal_ull(m, " ", time);
266 }
267 seq_putc(m, '\n');
268 }
269
270 rcu_read_unlock();
271
272 return 0;
273 }
274
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org