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] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 31 Mar 2010 18:14:57 -0700
From:	Jiaying Zhang <jiayingz@...gle.com>
To:	rostedt@...dmis.org
Cc:	Steven Rostedt <srostedt@...hat.com>, Ingo Molnar <mingo@...e.hu>,
	Michael Rubin <mrubin@...gle.com>,
	David Sharp <dhsharp@...gle.com>, linux-kernel@...r.kernel.org
Subject: Re: lockup in rb_get_reader_page

On Wed, Mar 31, 2010 at 5:28 PM, Steven Rostedt <rostedt@...dmis.org> wrote:
> On Tue, 2010-03-30 at 21:01 -0700, Jiaying Zhang wrote:
>
>> I am going to patch rb_get_reader_page() to print out some debugging
>> message when it enters into an infinitely loop. I will keep you updated
>> if I find any interesting info.
>
> I was just thinking about this some more. One restriction to the
> ring_buffer is that a reader can not preempt a writer, which means that
> a read can not happen in an interrupt or NMI. If a read happens there
> and preempts a writer as the writer was moving the head page, it will go
> into an infinite loop waiting for the writer to finish its move.
>
> You can only do reads from interrupt context if the writer disables
> interrupts before reserving and committing the data.
>
> Are you doing reads from interrupt context?
>
No. We are using a user-space reader that reads ring buffer via syscall
or ioctl. But even though we don't read from interrupt context, as I
understand, we can still have a reader on another cpuB reads cpuA's
buffer when the writer on cpuA moves the head page. Will we have
any problem in that case?

Jiaying

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