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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 07 Nov 2014 17:27:48 +0000
From:	Daniel Thompson <daniel.thompson@...aro.org>
To:	Joe Perches <joe@...ches.com>
CC:	Jason Wessel <jason.wessel@...driver.com>,
	linux-kernel@...r.kernel.org, kgdb-bugreport@...ts.sourceforge.net,
	Andrew Morton <akpm@...ux-foundation.org>,
	Ingo Molnar <mingo@...hat.com>, patches@...aro.org,
	linaro-kernel@...ts.linaro.org,
	John Stultz <john.stultz@...aro.org>,
	Sumit Semwal <sumit.semwal@...aro.org>, stable@...r.kernel.org
Subject: Re: [PATCH v2 3.18-rc3] kdb: Avoid printing KERN_ levels to consoles

On 07/11/14 17:16, Joe Perches wrote:
> On Fri, 2014-11-07 at 16:50 +0000, Daniel Thompson wrote:
>> On 07/11/14 16:04, Joe Perches wrote:
>>> why insert KERN_INFO?
>>
>> vkdb_printf() and  printk() can appear either way round in a stack
>> trace. Each is capable of calling the other and a flag (kdb_trap_printk)
>> is used to prevent mutual recursion.
> 
> I see.
> 
>> A complete solution would require a means to know whether vkdb_printf()
>> were entered directly or from printk(). A flag passed to vkdb_printf()
>> would achieve this. I'll take a look.
> 
> That bit seems pretty simple and sensible.
> 
> I don't know this code at all but would it be better if
> the kdb_trap_printk accesses were converted to atomic_<foo>?
> 
> Might this bit in vkdb_printf:
> 
> 	saved_trap_printk = kdb_trap_printk;
> 	kdb_trap_printk = 0;
> 
> be better atomic_xchg?
> 
> and the kdb_trap_printk++ bits as atomic_inc, etc...

At present I don't think it would make any difference. All of this code
is single threaded; interrupts are masked and all other cores are
quiesced and held in a loop as part of the debugger entry protocol.

If a full asynchronous mode were ever added to kdb, meaning the ability
to run some some commands without halting all the other cores, then we'd
have to review quite a lot of code, including this bit. However in that
case I think that flags like kdb_trap_printk might actually end up as
per_cpu variables rather than atomics.
--
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