On Jun 07, 2024 / 14:28, Shin'ichiro Kawasaki wrote: > The test case nbd/004 was created to confirm the fix by the kernel > commit 06c4da89c24e ("nbd: call genl_unregister_family() first in > nbd_cleanup()"). Originally, the test case was created to check that the > kernel commit avoided a BUG. But the BUG was not recreated on my system > even without the kernel commit, so I was not able to confirm that the > test case was working as expected. On the other hand, I found that the > kernel commit avoided the two other kernel messages "couldn't allocate > config" and "cannot create duplicate filename" on my test system. Then I > suggested adding the checks for those messages to the test case, and the > checks were added [1]. > > However, it turned out that the kernel commit did not totally avoid the > message "couldn't allocate config". The test case still makes the kernel > report the message with a low ratio. The failure is recreated when the > test case is repeated around 30 times. The CKI project reported that > nbd/004 fails due to the message [2]. > > When the failure happens, try_module_get() fails in nbd_genl_context(): > > nbd_genl_connect() > nbd_alloc_and_init_config() > try_module_get() ... fails > > This try_module_get() call checks that the module is not unloaded during > the connect operation. The test case does "module load/unload > concurrently with connect/disconnect" then the try_module_get() failure > is expected. It means the failure is false-positive. > > Drop the wrong check for "couldn't allocate config" message. Still keep > the check for "cannot create duplicate filename". > > [1] https://lore.kernel.org/linux-block/20220707124945.c2rd677hjwkd7mim@shindev/ > [2] https://github.com/osandov/blktests/issues/140 > > Fixes: 349eb683fd06 ("nbd: add a module load and device connect test") > Reported-by: Yi Zhang <yi.zhang@xxxxxxxxxx> > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> FYI, this patch has got applied.