Check expected verdicts for LDV-benchmarks
Job #284508 with Linux 4.16.10 drivers from abstraction directory failed for 4dbdffa6, but it just reports changes from SMG inconsistencies to other SMG inconsistencies, timeouts, and wrong verdicts. Most other reported regressions for !8 (closed) are similar.
Here I'm considering one of the supposedly wrong verdicts, for drivers__watchdog__ie6xx_wdt.i with expected true
. It seems that
-
ERR_PTR(-19)
can be returned in lines 6438--6441. - the returned value is assigned to global
ie6xx_wdt_data.debugfs
inie6xx_wdt_debugfs_init()
, line 4924. - the returned value is not checked anywhere.
ie6xx_wdt_debugfs_init()
is called only once inie6xx_wdt_probe()
. - the only other time this field is used is to remove it in
ie6xx_wdt_debugfs_exit()
, line 4939. - as the returned value was not checked, both calls to
ie6xx_wdt_debugfs_exit()
can result in essentiallyldv_free(ERR_PTR(-19));
.
Current smg-master 99066880 with -setprop cpa.smg.runtimeCheck=FULL
crashes with no value pointing to null object
, and without checks produces the same verdict (invalid free via ldv_free()
).
Edited by Петров Олег Максимович