Re: [PATCH 1/4] Avoid that agetty nor sulogin are fooled by a running plymouth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 13, 2014 at 10:56:58AM +0200, Karel Zak wrote:
> On Thu, May 08, 2014 at 12:09:22PM +0200, Werner Fink wrote:
> > The nowadays used plymouth locks the devices used for the system
> > console which causes that agetty as well as sulogin can not modify
> > the termios settings of e.g. the serial devices of the systenm console.
> 
>  All applied, thanks!
> 
> > +	int fd = con->fd, i = (plymouth_command("--ping")) ? 20 : 0;
> > +
> > +	while (i-- > 0) {
> > +		/*
> > +		 * With plymouth the termios flags become changed after this
> > +		 * function had changed the termios.
> > +		 */
> > +		memset(&lock, 0, sizeof(struct termios));
> > +		if (ioctl(fd, TIOCGLCKTRMIOS, &lock) < 0)
> > +			break;
> > +		if (!lock.c_iflag && !lock.c_oflag && !lock.c_cflag && !lock.c_lflag)
> > +			break;
> > +		if (i == 15 && plymouth_command("quit") != 0)
> > +			break;
> > +		sleep(1);
> > +	}
> > +	memset(&lock, 0, sizeof(struct termios));
> > +	ioctl(fd, TIOCSLCKTRMIOS, &lock);
> 
>  I hope 20s sleep is the worst case and in normal situations we don't
>  have to call plymouth "quit" from sulogin/agetty.

Indeed the 20 seconds are the worst case, in normal case this is not hit but
during debugging a few service units I had run into a blocking plymouth, that
is that plymouth hold the terminal termios structure locked and this has
lead to that fact that no password could be specified.

In my experience plymouth has some more further side effects if on is using
a further serial console or if there is no virtual console (s390 and some
x86_64 server systems).  Maybe upstream of plymouth is not aware that in
server business a virtual console used for graphic is not that common.

Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

Attachment: pgpiWcxYVy5_b.pgp
Description: PGP signature


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux