From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:36455 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753136AbcGYOzs (ORCPT ); Mon, 25 Jul 2016 10:55:48 -0400 Date: Mon, 25 Jul 2016 07:56:03 -0700 From: Greg KH To: Scot Doyle Cc: stable@vger.kernel.org, david.daney@cavium.com, hmh@hmh.eng.br, ming.lei@canonical.com, pavel@ucw.cz Subject: Re: Patch "tty: vt: Fix soft lockup in fbcon cursor blink timer." has been added to the 3.14-stable tree Message-ID: <20160725145603.GA6838@kroah.com> References: <146940656223217@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: stable-owner@vger.kernel.org List-ID: On Mon, Jul 25, 2016 at 09:02:28AM -0500, Scot Doyle wrote: > On Sun, 24 Jul 2016, gregkh@linuxfoundation.org wrote: > > This is a note to let you know that I've just added the patch titled > > > > tty: vt: Fix soft lockup in fbcon cursor blink timer. > > > > to the 3.14-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > tty-vt-fix-soft-lockup-in-fbcon-cursor-blink-timer.patch > > and it can be found in the queue-3.14 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let know about it. > > > > > > >From 1b45996d2ebf9680ccd0db875fc668aa025f40fd Mon Sep 17 00:00:00 2001 > > From: David Daney > > Date: Tue, 17 May 2016 11:41:04 -0700 > > Subject: tty: vt: Fix soft lockup in fbcon cursor blink timer. > > > > From: David Daney > > > > commit 1b45996d2ebf9680ccd0db875fc668aa025f40fd upstream. > > > > We are getting somewhat random soft lockups with this signature: > > > > [ 86.992215] [] el1_irq+0xa0/0x10c > > [ 86.997082] [] cursor_timer_handler+0x30/0x54 > > [ 87.002991] [] call_timer_fn+0x54/0x1a8 > > [ 87.008378] [] run_timer_softirq+0x1c4/0x2bc > > [ 87.014200] [] __do_softirq+0x114/0x344 > > [ 87.019590] [] irq_exit+0x74/0x98 > > [ 87.024458] [] __handle_domain_irq+0x98/0xfc > > [ 87.030278] [] gic_handle_irq+0x94/0x190 > > > > This is caused by the vt visual_init() function calling into > > fbcon_init() with a vc_cur_blink_ms value of zero. This is a > > transient condition, as it is later set to a non-zero value. But, if > > the timer happens to expire while the blink rate is zero, it goes into > > an endless loop, and we get soft lockup. > > > > The fix is to initialize vc_cur_blink_ms before calling the con_init() > > function. > > > > Signed-off-by: David Daney > > Acked-by: Pavel Machek > > Tested-by: Ming Lei > > Acked-by: Scot Doyle > > Tested-by: Henrique de Moraes Holschuh > > Signed-off-by: Greg Kroah-Hartman > > Signed-off-by: Greg Kroah-Hartman > > > > --- > > drivers/tty/vt/vt.c | 1 + > > 1 file changed, 1 insertion(+) > > > > --- a/drivers/tty/vt/vt.c > > +++ b/drivers/tty/vt/vt.c > > @@ -742,6 +742,7 @@ static void visual_init(struct vc_data * > > vc->vc_complement_mask = 0; > > vc->vc_can_do_color = 0; > > vc->vc_panic_force_write = false; > > + vc->vc_cur_blink_ms = DEFAULT_CURSOR_BLINK_MS; > > vc->vc_sw->con_init(vc, init); > > if (!vc->vc_complement_mask) > > vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; > > > > > > Patches currently in stable-queue which might be from david.daney@cavium.com are > > > > queue-3.14/tty-vt-fix-soft-lockup-in-fbcon-cursor-blink-timer.patch > > > > Hi Greg, > > This patch is only necessary for >= 4.2 kernels. Yeah, that was obvious when it broke the 3.14 build, so I removed it from the queue yesterday :) thanks, greg k-h