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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20121123135333.6b7a87f1@pyramind.ukuu.org.uk>
Date:	Fri, 23 Nov 2012 13:53:33 +0000
From:	Alan Cox <alan@...rguk.ukuu.org.uk>
To:	Ilya Zykov <ilya@...x.ru>
Cc:	Andrew McGregor <andrew.mcgregor@...iedtelesis.co.nz>,
	Alan Cox <alan@...ux.intel.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] tty: Add driver unthrottle in ioctl(...,TCFLSH,..).

On Fri, 23 Nov 2012 03:02:56 +0400
Ilya Zykov <ilya@...x.ru> wrote:

> Regression 'tty: fix "IRQ45: nobody cared"'
> Regression commit 7b292b4bf9a9d6098440d85616d6ca4c608b8304
> 
>   Function reset_buffer_flags() also invoked during the ioctl(...,TCFLSH,..). 
> At the time of request we can have full buffers and throttled driver too. 
> If we don't unthrottle driver, we can get forever throttled driver, because,
> after request, we will have empty buffers and throttled driver and 
> there is no place to unthrottle driver.
> It simple reproduce with "pty" pair then one side sleep on tty->write_wait,
> and other side do ioctl(...,TCFLSH,..). Then there is no place to do writers wake up.
> 
> About 'tty: fix "IRQ45: nobody cared"':
>   We don't call tty_unthrottle() if release last filp - ('tty->count == 0')
> In other case it must be safely. 
> 
> Unfortunately, many drivers indirectly invoke tty_unthrottle() before TTY LAYER
> decremented (tty->count).
>   This Patch help us catch bugs in tty's drivers and invoke tty_unthrottle()
> in right moment only.

This isn't really what I meant by fixing the problem. Simply declaring
the known universe to disagree with your view and adding a WARN isn't a
fix.

Alan
--
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