lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 14 Apr 2007 18:52:01 +0200
From:	"Jiri Slaby" <jirislaby@...il.com>
To:	"Jan Yenya Kasprzak" <kas@...muni.cz>
Cc:	linux-kernel@...r.kernel.org, osv@...ad.com
Subject: Re: [RFC 1/1] Char: mxser_new, fix recursive locking

On 4/14/07, Jan Yenya Kasprzak <kas@...muni.cz> wrote:
>         Works for me, altough it spits tons of (bogus, in this case)
> warnings about possibly uninitialized variable "flags".

This is a gcc problem. I has been thinking about flags = 0
initialization, but developers dislike this shutting gcc up.

>         Additionally, I think it is overzealous to wrap _all_
> spin_lock_irqsave/irqrestore() with if (!in_interrupt()). Some of them are
> never called from the interrupt context (mxser_block_till_ready(), for example
> - it can block, so if it is ever called from the interrupt context, we have
> a different, an order of magnitude worse problem here :-)

Yes, I had a patch, which changed only some of locks, but there were
only 2 or 3 spin_locks remaining. It's not a problem to test it
everywhere for little overhead, but maybe yes, I'll remove it from
open, close and block_til_whatever for the final patch.

>         I have another problem with the driver - it probably sometimes
> drops DCD signal on the serial line or something like that:
> when the traffic on the serial console is heavy, it sometimes disconnects
> me from the remote shell, and cu(1) displays the login prompt from the new
> instance of mgetty of the remote machine. However, it does so both with
> mxser.o and mxser_new.o (in 2.6.21-rc6, I think it worked in 2.6.19,
> but I have to retest it). So this is another problem, different from
> the one we are trying to solve now.

There were some changes, however nothing significant in mxser.c, maybe
some of tty or ldisc layer changes (but there is only termios ->
ktermios switch + some other things), this would probably be hard to
find without bisecting if 2.6.19 is really OK for you.

The only idea I have right now is to nohup process, which will
int fd = open("/dev/ttyMIXX", O_RDONLY | O_NONBLOCK);
while (1) {
  ioctl(fd, TIOCMIWAIT, TIOCM_CD);
  ioctl(fd, TIOCMGET, &ret);
  printf("%ld: carrier has changed: %u\n", time(NULL), !!(ret & TIOCM_CD));
}
to prove, if the carrier really becomes low.

regards,
-- 
http://www.fi.muni.cz/~xslaby/            Jiri Slaby
faculty of informatics, masaryk university, brno, cz
e-mail: jirislaby gmail com, gpg pubkey fingerprint:
B674 9967 0407 CE62 ACC8  22A0 32CC 55C3 39D4 7A7E
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ