Am Samstag, 11. Januar 2020, 08:09:50 CET schrieb kbuild test robot: Hi, > Hi "Stephan, > > Thank you for the patch! Perhaps something to improve: > > [auto build test WARNING on char-misc/char-misc-testing] > [also build test WARNING on cryptodev/master crypto/master v5.5-rc5 > next-20200110] [if your patch is applied to the wrong git tree, please drop > us a note to help improve the system. BTW, we also suggest to use '--base' > option to specify the base tree in git format-patch, please see > https://stackoverflow.com/a/37406982] > > url: > https://github.com/0day-ci/linux/commits/Stephan-M-ller/dev-random-a-new-ap > proach-with-full-SP800-90B/20200110-084934 base: > https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git > 68faa679b8be1a74e6663c21c3a9d25d32f1c079 reproduce: > # apt-get install sparse > # sparse version: v0.6.1-129-g341daf20-dirty > make ARCH=x86_64 allmodconfig > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@xxxxxxxxx> > > > sparse warnings: (new ones prefixed by >>) > > >> drivers/char/lrng/lrng_internal.h:239:39: sparse: sparse: context > >> imbalance in 'lrng_drng_switch' - unexpected unlock > vim +/lrng_drng_switch +239 drivers/char/lrng/lrng_internal.h > > 58c283819a1e87 Stephan Müller 2020-01-09 233 > 58c283819a1e87 Stephan Müller 2020-01-09 234 /* Unlock the DRNG */ > 58c283819a1e87 Stephan Müller 2020-01-09 235 static __always_inline void > lrng_drng_unlock(struct lrng_drng *drng, 58c283819a1e87 Stephan Müller > 2020-01-09 236 unsigned long *flags) 58c283819a1e87 Stephan > Müller 2020-01-09 237 { > 58c283819a1e87 Stephan Müller 2020-01-09 238 if > (lrng_drng_is_atomic(drng)) 58c283819a1e87 Stephan Müller 2020-01-09 @239 > spin_unlock_irqrestore(&drng->spin_lock, *flags); 58c283819a1e87 Stephan > Müller 2020-01-09 240 else > 58c283819a1e87 Stephan Müller 2020-01-09 241 mutex_unlock(&drng- >lock); > 58c283819a1e87 Stephan Müller 2020-01-09 242 } > 58c283819a1e87 Stephan Müller 2020-01-09 243 > > :::::: The code at line 239 was first introduced by commit > :::::: 58c283819a1e879bc2e30d05720285f9709f7f6d Linux Random Number > :::::: Generator > :::::: > :::::: TO: Stephan Müller <smueller@xxxxxxxxxx> > :::::: CC: 0day robot <lkp@xxxxxxxxx> > > --- > 0-DAY kernel test infrastructure Open Source Technology > Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel > Corporation After analyzing the issue a bit more, it seems that I have to remove "unlikely" from lrng_drng_lock which seems to cause additional grief with sparse. Note, sparse will still report a lock context imbalance as it used to since we indeed have two lock context as documented in lrng_drng_switch. Ciao Stephan