fix to a data corruption problem

Mike Tancsa mike at sentex.net
Fri Oct 22 07:56:35 PDT 2004


We are trying to fix a bug in the uhid interrupt handler/driver

http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/72935

where it can inadvertently walk into another handler working with
clist data structures in sys/kern/tty_subr.c.

Uhid is a "bio" class device, which means that its not masked when another 
"tty" class handler is running.

Our modification to uhid below appears to work, but we have seen references 
to "update_intr_masks()" as part of this type of
modification.

         int s = splhigh();
         tty_imask |= bio_imask;
         splx( s );

What is the "approved" method for doing this?   If this is correct, any 
chance some one could commit the fix to RELENG_4 ?

         ---Mike




--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Sentex Communications,                            mike at sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike



More information about the freebsd-hackers mailing list