summaryrefslogtreecommitdiffstats
path: root/lib/prio_tree.c
diff options
context:
space:
mode:
authorJaya Kumar <jayakumar.lkml@gmail.com>2008-07-12 13:47:51 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-12 14:33:41 -0700
commitf31ad92f34913043cf008d6e479e92dfbaf02df1 (patch)
tree5f57faa359a060c56bddac6f22c2993e2309d911 /lib/prio_tree.c
parent4fc89e3911aa5357b55b85b60c4beaeb8a48a290 (diff)
downloadlinux-f31ad92f34913043cf008d6e479e92dfbaf02df1.tar.gz
linux-f31ad92f34913043cf008d6e479e92dfbaf02df1.tar.bz2
linux-f31ad92f34913043cf008d6e479e92dfbaf02df1.zip
fbdev: bugfix for multiprocess defio
This patch is a bugfix for how defio handles multiple processes manipulating the same framebuffer. Thanks to Bernard Blackham for identifying this bug. It occurs when two applications mmap the same framebuffer and concurrently write to the same page. Normally, this doesn't occur since only a single process mmaps the framebuffer. The symptom of the bug is that the mapping applications will hang. The cause is that defio incorrectly tries to add the same page twice to the pagelist. The solution I have is to walk the pagelist and check for a duplicate before adding. Since I needed to walk the pagelist, I now also keep the pagelist in sorted order. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Cc: Bernard Blackham <bernard@largestprime.net> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/prio_tree.c')
0 files changed, 0 insertions, 0 deletions