Re: [PATCH RESEND] printk: report boot console names during cut-over

2013-09-23 Thread Kees Cook
On Sat, Sep 21, 2013 at 4:52 PM, Frederic Weisbecker  wrote:
> On Fri, Sep 20, 2013 at 08:34:01AM -0700, Kees Cook wrote:
>> This reports the names of boot consoles as they're being disabled to
>> help identify which is which during cut-over. Helps answer the question
>> "which boot console actually got activated?" once the regular console
>> is running, mostly when debugging boot console failures.
>>
>> Signed-off-by: Kees Cook 
>> ---
>>  kernel/printk/printk.c |   16 ++--
>>  1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
>> index b4e8500..0dc54c9 100644
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -2361,14 +2361,18 @@ void register_console(struct console *newcon)
>>   if (bcon &&
>>   ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV) &&
>>   !keep_bootcon) {
>> - /* we need to iterate through twice, to make sure we print
>> -  * everything out, before we unregister the console(s)
>> + /* We need to iterate through all boot consoles, to make
>> +  * sure we print everything out, before we unregister them.
>>*/
>> - printk(KERN_INFO "console [%s%d] enabled, bootconsole 
>> disabled\n",
>> - newcon->name, newcon->index);
>> - for_each_console(bcon)
>> - if (bcon->flags & CON_BOOT)
>> + for_each_console(bcon) {
>> + if (bcon->flags & CON_BOOT) {
>> + printk(KERN_INFO "console [%s%d] enabled, "
>> + "bootconsole [%s%d] disabled\n",
>> + newcon->name, newcon->index,
>> + bcon->name, bcon->index);
>>   unregister_console(bcon);
>
> Looks useful! But I think the "console %foo disabled" message should move to 
> unregister_console()
> instead. That way it also handles printk_late_init() and all other console 
> unregisters.

Yeah, that's a much cleaner way to do this. I'll send a new patch. Thanks!

-Kees

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


Re: [PATCH RESEND] printk: report boot console names during cut-over

2013-09-21 Thread Frederic Weisbecker
On Fri, Sep 20, 2013 at 08:34:01AM -0700, Kees Cook wrote:
> This reports the names of boot consoles as they're being disabled to
> help identify which is which during cut-over. Helps answer the question
> "which boot console actually got activated?" once the regular console
> is running, mostly when debugging boot console failures.
> 
> Signed-off-by: Kees Cook 
> ---
>  kernel/printk/printk.c |   16 ++--
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index b4e8500..0dc54c9 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -2361,14 +2361,18 @@ void register_console(struct console *newcon)
>   if (bcon &&
>   ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV) &&
>   !keep_bootcon) {
> - /* we need to iterate through twice, to make sure we print
> -  * everything out, before we unregister the console(s)
> + /* We need to iterate through all boot consoles, to make
> +  * sure we print everything out, before we unregister them.
>*/
> - printk(KERN_INFO "console [%s%d] enabled, bootconsole 
> disabled\n",
> - newcon->name, newcon->index);
> - for_each_console(bcon)
> - if (bcon->flags & CON_BOOT)
> + for_each_console(bcon) {
> + if (bcon->flags & CON_BOOT) {
> + printk(KERN_INFO "console [%s%d] enabled, "
> + "bootconsole [%s%d] disabled\n",
> + newcon->name, newcon->index,
> + bcon->name, bcon->index);
>   unregister_console(bcon);

Looks useful! But I think the "console %foo disabled" message should move to 
unregister_console()
instead. That way it also handles printk_late_init() and all other console 
unregisters.

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


[PATCH RESEND] printk: report boot console names during cut-over

2013-09-20 Thread Kees Cook
This reports the names of boot consoles as they're being disabled to
help identify which is which during cut-over. Helps answer the question
"which boot console actually got activated?" once the regular console
is running, mostly when debugging boot console failures.

Signed-off-by: Kees Cook 
---
 kernel/printk/printk.c |   16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index b4e8500..0dc54c9 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2361,14 +2361,18 @@ void register_console(struct console *newcon)
if (bcon &&
((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV) &&
!keep_bootcon) {
-   /* we need to iterate through twice, to make sure we print
-* everything out, before we unregister the console(s)
+   /* We need to iterate through all boot consoles, to make
+* sure we print everything out, before we unregister them.
 */
-   printk(KERN_INFO "console [%s%d] enabled, bootconsole 
disabled\n",
-   newcon->name, newcon->index);
-   for_each_console(bcon)
-   if (bcon->flags & CON_BOOT)
+   for_each_console(bcon) {
+   if (bcon->flags & CON_BOOT) {
+   printk(KERN_INFO "console [%s%d] enabled, "
+   "bootconsole [%s%d] disabled\n",
+   newcon->name, newcon->index,
+   bcon->name, bcon->index);
unregister_console(bcon);
+   }
+   }
} else {
printk(KERN_INFO "%sconsole [%s%d] enabled\n",
(newcon->flags & CON_BOOT) ? "boot" : "" ,
-- 
1.7.9.5


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