help needed with acquire/release_console_sem() problem.
From: Kirk Reiser
Date: Thu Mar 25 2004 - 10:37:03 EST
Hello folks: I am hoping someone may be able to help me with a
problem I have been experiencing since the release of 2.6.3. It
appears that because of the likeliness of race conditions occuring
while accessing console services acquire_console_sem() and
release_console_sem() were placed around sections of code which could
lead to these races.
In my speakup console code I tried to put the same functions around
possible problem code with the result that it locks up the computer to
the point of a hardware reset being necessary. I have placed the code
in my functions for cutting and pasting portions of screen memory
which is where the new changes address the problem to some extent in
the kernel code. The comments to release_console_sem() state that the
functions are safe and may be called from any context but either that
isn't true or because I am in kernelspace I cannot schedule() off. I
am not exactly sure what the reasoning is or how to get around the
situation so if anyone has any suggestions I'd love to hear about it.
What I currently do is mark portions of screen memory and then call
set_selection and paste_selection with the marked region of memory
which is what other functions seem to do to provide copy and paste
facilities. I cannot just ignore the situation because the acquire
and release_console_sem() calls have been placed around portions of
that code as well such as clear_selection and paste_selection().
Kirk Reiser The Computer Braille Facility
e-mail: kirk@xxxxxxxxxxxxxx University of Western Ontario
phone: (519) 661-3061
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/