Thread (20 messages) 20 messages, 7 authors, 2016-06-12

Re: [PATCH] fbcon: use default if cursor blink interval is not valid

From: Scot Doyle <hidden>
Date: 2016-05-19 22:26:10
Also in: dri-devel, lkml, stable

On Thu, 19 May 2016, David Daney wrote:
On 05/18/2016 09:21 PM, Scot Doyle wrote:
quoted
Two current [1] and three previous [2] systems locked during boot
because the cursor flash timer was set using an ops->cur_blink_jiffies
value of 0. Previous patches attempted to solve the problem by moving
variable initialization earlier in the setup sequence [2].

Use the normal cursor blink default interval of 200 ms if
ops->cur_blink_jiffies is not in the range specified in commit
bd63364caa8d. Since invalid values are not used, specific system
initialization timings should not cause lockups.
This patch just papers over the problem that you yourself introduced in commit
bd63364caa8d ("vt: add cursor blink interval escape sequence").

As you know, I have a patch that fixes the problem at the source:
https://lkml.org/lkml/2016/5/17/455

I don't like the idea of silently ignoring bad values passed in from other
code (drivers/tty/vt/vt.c), and much less doing the check for bad values each
time the timer expires rather than just once, where the bad value is first
introduced.

I think it would be preferable to WARN() at the site the bad value is
introduced, so that we can easily find the real source of the problem.
Initialize cur_blink_jiffies to a sane default value, then if something
attempts to set it to a value that would cause soft lockup, WARN and refuse to
change it.
I agree this approach would be cleaner and am willing to give it a try
by submitting an alternative patch and ack'ing yours. Thanks for taking 
the time to critique my proposal.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help