lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090623212648.GA9502@localdomain.by>
Date:	Wed, 24 Jun 2009 00:26:48 +0300
From:	Sergey Senozhatsky <sergey.senozhatsky@...l.by>
To:	Catalin Marinas <catalin.marinas@....com>
Cc:	Pekka Enberg <penberg@...helsinki.fi>,
	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: kmemleak: Early log buffer exceeded

Hello.
I can see on my both machines

[    0.000135] kmemleak: Early log buffer exceeded
[    0.000140] Pid: 0, comm: swapper Not tainted 2.6.30-dbginfo-nv-git19 #7
[    0.000144] Call Trace:
[    0.000153]  [<c1418ecc>] ? printk+0x23/0x36
[    0.000160]  [<c10f7c12>] log_early+0xf2/0x110
[    0.000165]  [<c10f8788>] kmemleak_alloc+0x1f8/0x2c0
[    0.000171]  [<c10f28fb>] ? cache_alloc_debugcheck_after+0xeb/0x1e0
[    0.000176]  [<c10f496a>] ? __kmalloc+0xfa/0x240
[    0.000182]  [<c10761fc>] ? trace_hardirqs_on_caller+0x14c/0x1a0
[    0.000187]  [<c10f4a15>] __kmalloc+0x1a5/0x240
[    0.000192]  [<c10f4d8d>] ? alloc_arraycache+0x2d/0x80
[    0.000198]  [<c10f4d8d>] alloc_arraycache+0x2d/0x80
[    0.000203]  [<c10f4e7c>] do_tune_cpucache+0x9c/0x3a0
[    0.000208]  [<c10f5322>] enable_cpucache+0x42/0x110
[    0.000215]  [<c15ff7c4>] kmem_cache_init_late+0x32/0x82
[    0.000221]  [<c15e2995>] start_kernel+0x24c/0x366
[    0.000226]  [<c15e2517>] ? unknown_bootoption+0x0/0x1dd
[    0.000231]  [<c15e2088>] __init_begin+0x88/0xa1

mm/kmemleak.c
static struct early_log early_log[200];

static void log_early(int op_type, const void *ptr, size_t size,
		      int min_count, unsigned long offset, size_t length)
{
...
	if (crt_early_log >= ARRAY_SIZE(early_log)) {
		print  Early log buffer exceeded;
		call dump_stack, etc.

So, my questions are:
1. Is 200 really enough? Why 200 not 512, 1024 (for example)?
//If this has been already discussed - please point me.

2. When (crt_early_log >= ARRAY_SIZE(early_log)) == 1 we just can see stack.
Since we have "full" early_log maybe it'll be helpfull to see it? 
//For example like at void __init kmemleak_init(void)

	Sergey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ