repro02 from PSBM-130602 executed on debug kernel inside centos7 container triggers the following message:
INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Call Trace: [<ffffffff96ec9edc>] dump_stack+0x19/0x1b [<ffffffff96ec21fa>] register_lock_class.part.27+0x38/0x3c [<ffffffff96760426>] __lock_acquire+0x1276/0x1630 [<ffffffff967610c9>] lock_acquire+0x99/0x1e0 [<ffffffff96ed50d4>] _raw_spin_trylock+0x64/0x80 [<ffffffff96a5bb11>] ___ratelimit+0x51/0x140 [<ffffffff9674a707>] __charge_beancounter_locked+0x147/0x170 [<ffffffff9674a77f>] charge_beancounter+0x4f/0x80 [<ffffffff96da822e>] xt_replace_table+0x1de/0x3d0 ... Fatal resource shortage: numiptent, UB xxxx This happen because of ub.ub_ratelimit does not have properly initialized 'lock' spinlock. https://jira.sw.ru/browse/PSBM-130672 Signed-off-by: Vasily Averin <[email protected]> --- kernel/bc/beancounter.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/bc/beancounter.c b/kernel/bc/beancounter.c index 287d4c5440a4..5e04d6c0c9b1 100644 --- a/kernel/bc/beancounter.c +++ b/kernel/bc/beancounter.c @@ -1067,8 +1067,7 @@ static void init_beancounter_nolimits(struct user_beancounter *ub) ub->ub_parms[UB_OOMGUARPAGES].barrier = totalram_pages * 3 / 4; /* Ratelimit for messages in the kernel log */ - ub->ub_ratelimit.burst = 4; - ub->ub_ratelimit.interval = 300*HZ; + ratelimit_state_init(&ub->ub_ratelimit, 300*HZ, 4); } static DEFINE_PER_CPU(struct ub_percpu_struct, ub0_percpu); -- 2.25.1 _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
