From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752906AbcBLSjW (ORCPT ); Fri, 12 Feb 2016 13:39:22 -0500 Received: from mail-lf0-f45.google.com ([209.85.215.45]:34965 "EHLO mail-lf0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752635AbcBLSjS (ORCPT ); Fri, 12 Feb 2016 13:39:18 -0500 From: Sergey Senozhatsky To: Andrew Morton Cc: Petr Mladek , Jan Kara , Tejun Heo , Kyle McMartin , Dave Jones , Calvin Owens , linux-kernel@vger.kernel.org, Sergey Senozhatsky , Sergey Senozhatsky Subject: [PATCH v4 3/3] printk: check CON_ENABLED in have_callable_console() Date: Sat, 13 Feb 2016 03:37:12 +0900 Message-Id: <1455302232-2252-4-git-send-email-sergey.senozhatsky@gmail.com> X-Mailer: git-send-email 2.7.1 In-Reply-To: <1455302232-2252-1-git-send-email-sergey.senozhatsky@gmail.com> References: <1455302232-2252-1-git-send-email-sergey.senozhatsky@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org have_callable_console() must also test CON_ENABLED bit, not just CON_ANYTIME. We may have disabled CON_ANYTIME console so printk can wrongly assume that it's safe to call_console_drivers(). Signed-off-by: Sergey Senozhatsky --- kernel/printk/printk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 9f0c3e1..9917f69 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2139,7 +2139,8 @@ static int have_callable_console(void) struct console *con; for_each_console(con) - if (con->flags & CON_ANYTIME) + if ((con->flags & CON_ENABLED) && + (con->flags & CON_ANYTIME)) return 1; return 0; -- 2.7.1