Anything to be aware of when calling ZwOpenSemaphore, ZwOpenMutant, ZwOpenEvent?

Hi all,

I have a memory mapped object protected by an implementation using
the above to implement single writer multiple readers.

This object is shared by both kernel mode driver and multiple user
mode applications.

Right now if I enable these Native API synchronization calls, I got
random page fault that I was unable to pinpoint the exact location
of the fault.

If I disable these calls, then everything is fine.

I am suspecting these calls may somehow raise IRQL that cause the
problem.

I am looking for possible causes and workaround !

Thanks,

Jack Cheng
(curriculum corp.)