Red Hat Bugzilla – Bug 438316
Various bugs in check_console.c
Last modified: 2014-03-16 23:13:05 EDT
We don't use O_NONBLOCK when opening the serial port to check termios.
We don't zero the serial_structs in check_serial_console(), which we should
because the structs have padding in them, which the kernel won't touch during
the TIOCGSERIAL ioctl -- and which might then cause a compare failure.
We assume <"ttyS%d",si.line> and ignore the si.type field.
The attached patch addresses all three. It's not massively pretty having to have
a hardcoded list of si.type -> "ttyXXX" strings, but it's not really any worse
than just hard-coding ttyS%d. We should fix the kernel to expose this properly.
Created attachment 298683 [details]
We have a list of 'other' console types in 10-console.rules. Each of these
should probably be filed as a kernel bug, for the kernel to support TIOCGSERIAL
on those ports with an appropriate si.type and si.line. That includes ttySG*,
which currently (ab)uses PORT_16550A afaict.
The 'other' types aren't necessarily /dev/console, though; they are 'other
Will show up in rawhide post-beta.
Doesn't seem to be there yet...