On Fri, Feb 21, 2014 at 9:37 AM, Ray Strode <halfline@xxxxxxxxx> wrote: > Hi, > > This broke plymouth, i think. Plymouth used the herustic: > "/sys/class/tty/console/active contains something other than tty0" to > mean "probably has serial consoles, force verbose messages instead of > a splash screen". Now on a normal system it contains tty1. > > I pushed a commit to plymouth that gets it working again, but it could > cause compatiblity concerns if new kernels are pushed to old releases. Hm. Breaking userspace is probably a bad thing here. Greg, you have this queued for 3.13.5 at the moment. Maybe we should hold off on this one until this discussion is sorted out? josh > On Fri, Feb 21, 2014 at 7:48 AM, Luis Henriques > <luis.henriques@xxxxxxxxxxxxx> wrote: >> 3.11.10.5 -stable review patch. If anyone has any objections, please let me know. >> >> ------------------ >> >> From: Hannes Reinecke <hare@xxxxxxx> >> >> commit d8a5dc3033af2fd6d16030d2ee4fbd073460fe54 upstream. >> >> The 'active' sysfs attribute should refer to the currently active tty >> devices the console is running on, not the currently active console. >> >> The console structure doesn't refer to any device in sysfs, only the tty >> the console is running on has. So we need to print out the tty names in >> 'active', not the console names. >> >> This resolves an issue on s390 platforms in determining the correct >> console device to use. >> >> Cc: Lennart Poettering <lennart@xxxxxxxxxxxxxx> >> Cc: Kay Sievers <kay@xxxxxxxx> >> Cc: Jiri Slaby <jslaby@xxxxxxx> >> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> >> Signed-off-by: Werner Fink <werner@xxxxxxx> >> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> >> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> >> --- >> Documentation/ABI/testing/sysfs-tty | 3 ++- >> drivers/tty/tty_io.c | 25 ++++++++++++++++++------- >> 2 files changed, 20 insertions(+), 8 deletions(-) >> >> diff --git a/Documentation/ABI/testing/sysfs-tty b/Documentation/ABI/testing/sysfs-tty >> index ad22fb0..a2ccec3 100644 >> --- a/Documentation/ABI/testing/sysfs-tty >> +++ b/Documentation/ABI/testing/sysfs-tty >> @@ -3,7 +3,8 @@ Date: Nov 2010 >> Contact: Kay Sievers <kay.sievers@xxxxxxxx> >> Description: >> Shows the list of currently configured >> - console devices, like 'tty1 ttyS0'. >> + tty devices used for the console, >> + like 'tty1 ttyS0'. >> The last entry in the file is the active >> device connected to /dev/console. >> The file supports poll() to detect virtual >> diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c >> index 20689b9..ced6b3e 100644 >> --- a/drivers/tty/tty_io.c >> +++ b/drivers/tty/tty_io.c >> @@ -1263,16 +1263,17 @@ static void pty_line_name(struct tty_driver *driver, int index, char *p) >> * @p: output buffer of at least 7 bytes >> * >> * Generate a name from a driver reference and write it to the output >> - * buffer. >> + * buffer. Return the number of bytes written. >> * >> * Locking: None >> */ >> -static void tty_line_name(struct tty_driver *driver, int index, char *p) >> +static ssize_t tty_line_name(struct tty_driver *driver, int index, char *p) >> { >> if (driver->flags & TTY_DRIVER_UNNUMBERED_NODE) >> - strcpy(p, driver->name); >> + return sprintf(p, "%s", driver->name); >> else >> - sprintf(p, "%s%d", driver->name, index + driver->name_base); >> + return sprintf(p, "%s%d", driver->name, >> + index + driver->name_base); >> } >> >> /** >> @@ -3539,9 +3540,19 @@ static ssize_t show_cons_active(struct device *dev, >> if (i >= ARRAY_SIZE(cs)) >> break; >> } >> - while (i--) >> - count += sprintf(buf + count, "%s%d%c", >> - cs[i]->name, cs[i]->index, i ? ' ':'\n'); >> + while (i--) { >> + struct tty_driver *driver; >> + const char *name = cs[i]->name; >> + int index = cs[i]->index; >> + >> + driver = cs[i]->device(cs[i], &index); >> + if (driver) { >> + count += tty_line_name(driver, index, buf + count); >> + count += sprintf(buf + count, "%c", i ? ' ':'\n'); >> + } else >> + count += sprintf(buf + count, "%s%d%c", >> + name, index, i ? ' ':'\n'); >> + } >> console_unlock(); >> >> return count; >> -- >> 1.9.0 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html