[linux-3.15-rc5/tools/lib/lockdep/preload.c:95]: (warning) Comparison of a boolean expression with an integer other than 0 or 1. Source code is enum { none, prepare, done, } __init_state; static void init_preload(void); static void try_init_preload(void) { if (!__init_state != done) init_preload(); } Confusing double negative. Comparison of a boolean value (!__init_state) with a value of 2 (done) is unlikely to succeed. Suggest code rework.
Looking at behaviour of init_preload(), which returns early if __init_state == done, i think that try_init_preload() can be dropped and replaced with just init_preload() where it was used.
This has been fixed on the latest release of the kernel or as of 3.17.0. The function was changed to, static void try_init_preload(void) { if (__init_state != done) init_preload(); } I am new in this forum. How do I know if this kind of bugs have been fixed? Checking the mailing list archives?
Bugzilla is a bug tracker, not a forum.
Fixed in v3.16: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6c642e442e99af1ca026af55a16f23b5f8ee612a