lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20200817002126.i2lb4yhja4u77exs@ltop.local>
Date:   Mon, 17 Aug 2020 02:21:26 +0200
From:   Luc Van Oostenryck <luc.vanoostenryck@...il.com>
To:     linux-sparse@...r.kernel.org, linux-kernel@...r.kernel.org,
        Dan Carpenter <dan.carpenter@...cle.com>,
        Jules Irenge <jbi.octave@...il.com>
Subject: Sparse improvements & regressions for Linux v5.8-rc1 -> v5.9-rc1

Hi,

Here is a comparison of Sparse's unique warnings between v5.8-rc1 &
v5.9-rc1 on x86-64 (defconfig + allyesconfig).

Note that the differences are be caused by changes in the kernel
and in Sparse.

The raw logs as well as the result of the processing giving the
'unique warnings' are available at:
	git://github.com/lucvoo/sparse-logs.git


- 19249 18621 Total
+   161   191 Initializer entry defined twice
+    98   105 Using plain integer as NULL pointer
    394   394 advancing past deep designator
      4     4 arithmetics on pointers to functions
-    16    12 bad assignment to restricted type
      4     4 cast between address spaces (__percpu -> __rcu)
-    38     0 cast from non-scalar
-   276   261 cast from restricted type
+   142   473 cast removes address space '__iomem' of expression
      1     1 cast removes address space '__percpu' of expression
     15    15 cast removes address space '__rcu' of expression
+    41    43 cast removes address space '__user' of expression
-    51    13 cast to non-scalar
+  4512  4550 cast to restricted type
    609   609 cast truncates bits from constant value
-   349   332 context imbalance - different lock contexts for basic block
+   453   467 context imbalance - unexpected unlock
    189   189 context imbalance - wrong count at exit
-   118   109 dereference of noderef expression
+    13    16 dubious: !x & y
      1     1 dubious: !x | !y
      6     6 dubious: !x | y
-    57    56 dubious: x & !y
-    21    20 dubious: x | !y
+     0     1 duplicate [noderef]
     21    21 function with external linkage has definition
      2     2 implicit cast from nocast type
-   500   490 incompatible types in comparison expression (different address spaces)
      3     3 incompatible types in comparison expression (different base types)
      1     1 incompatible types in comparison expression (different type sizes)
+     6     7 incompatible types in conditional expression (different base types)
-  1225  1087 incorrect type in argument (different address spaces)
-   515   494 incorrect type in argument (different base types)
-     5     0 incorrect type in argument (different modifiers)
-    10     0 incorrect type in argument (different type sizes)
      1     1 incorrect type in argument (incompatible argument (different address spaces))
-     1     0 incorrect type in argument (incompatible argument (different base types))
-   388   382 incorrect type in assignment (different address spaces)
-  4945  4762 incorrect type in assignment (different base types)
      1     1 incorrect type in assignment (different modifiers)
-   141   120 incorrect type in initializer (different address spaces)
-   132   131 incorrect type in initializer (different base types)
      7     7 incorrect type in initializer (incompatible argument (different address spaces))
-    26    25 incorrect type in return expression (different address spaces)
+    26    30 incorrect type in return expression (different base types)
-   451   285 invalid assignment
     37    37 invalid bitfield specifier for type restricted type.
-    13     7 invalid initializer
      1     1 marked inline, but without a definition
      1     1 memcpy with byte count of ...
      5     5 memset with byte count of ...
      7     7 mixed bitwiseness
-    10     8 mixing different enum types:
+     1     2 multiple address spaces given
+     0    12 multiple definitions for ...
-     1     0 no newline at end of file
-     1     0 non-scalar type in conditional:
-   959   918 restricted type degrades to integer
-    43     0 return expression in void function
-     3     0 shift count is (-1)
-     5     0 shift too big for type
     12    12 static assertion failed
      5     5 subtraction of different types can't work (different address spaces)
-    24    23 subtraction of functions? Share your drugs
      1     1 switch with no cases
      5     5 symbol redeclared with different type (incompatible argument (different address spaces))
-  2135  1852 symbol was not declared. Should it be static?
      1     1 too long token expansion
      3     3 trying to concatenate long character string (8191 bytes max)


-- Luc

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ