kernel, db: add hweight() functions to the database
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 19 Dec 2013 11:26:51 +0000 (19 14:26 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Thu, 19 Dec 2013 11:26:51 +0000 (19 14:26 +0300)
These return unsigned int type but hweight8() can only return a number
between 0 and 8.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_data/db/fixup_kernel.sh
smatch_data/kernel.no_inline_functions

index f2e4966..3f6f526 100755 (executable)
@@ -57,6 +57,11 @@ update return_states set return = '0-u32max[<=p2]' where function = '__copy_from
 /* 64 CPUs aught to be enough for anyone */
 update return_states set return = '1-64' where function = 'cpumask_weight';
 
+update return_states set return = '0-8' where function = '__arch_hweight8';
+update return_states set return = '0-16' where function = '__arch_hweight16';
+update return_states set return = '0-32' where function = '__arch_hweight32';
+update return_states set return = '0-64' where function = '__arch_hweight64';
+
 /*
  * Preserve the value across byte swapping.  By the time we use it for math it
  * will be byte swapped back to CPU endian.
index 7b2e5e8..4adc64b 100644 (file)
@@ -1,3 +1,7 @@
 __fswab16
 __fswab32
 __fswab64
+__arch_hweight8
+__arch_hweight16
+__arch_hweight32
+__arch_hweight64