On Thu, Feb 20, 2014 at 6:52 PM, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > 3.13-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. Just to be double sure this is seen, Ray points out that it breaks current plymouth because the heuristic changed. Hold off on this one? josh > > 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> > > --- > Documentation/ABI/testing/sysfs-tty | 3 ++- > drivers/tty/tty_io.c | 25 ++++++++++++++++++------- > 2 files changed, 20 insertions(+), 8 deletions(-) > > --- 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 > --- a/drivers/tty/tty_io.c > +++ b/drivers/tty/tty_io.c > @@ -1267,16 +1267,17 @@ static void pty_line_name(struct tty_dri > * @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); > } > > /** > @@ -3545,9 +3546,19 @@ static ssize_t show_cons_active(struct d > 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; > > > -- > 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