diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-12-23 11:32:25 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-23 18:45:26 +0100 |
commit | 98db8df777438e16ad0f44a0fba05ebbdb73db8d (patch) | |
tree | f2cde3dbe3000f4bafd0c42df43f736b7e5a648b /include/linux/module.h | |
parent | a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac (diff) | |
download | blackbird-op-linux-98db8df777438e16ad0f44a0fba05ebbdb73db8d.tar.gz blackbird-op-linux-98db8df777438e16ad0f44a0fba05ebbdb73db8d.zip |
ring-buffer: prevent false positive warning
Impact: eliminate false WARN_ON message
If an interrupt goes off after the setting of the local variable
tail_page and before incrementing the write index of that page,
the interrupt could push the commit forward to the next page.
Later a check is made to see if interrupts pushed the buffer around
the entire ring buffer by comparing the next page to the last commited
page. This can produce a false positive if the interrupt had pushed
the commit page forward as stated above.
Thanks to Jiaying Zhang for finding this race.
Reported-by: Jiaying Zhang <jiayingz@google.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/module.h')
0 files changed, 0 insertions, 0 deletions