Index: /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c	(revision 33042)
+++ /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c	(revision 33043)
@@ -178,4 +178,5 @@
     AssertPtrReturn(pThis, VERR_INVALID_PARAMETER);
     AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
+    AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER);
     rtR0SemEventLnxRetain(pThis);
 
Index: /trunk/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c	(revision 33042)
+++ /trunk/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c	(revision 33043)
@@ -60,4 +60,5 @@
 /** @}  */
 
+
 /*******************************************************************************
 *   Structures and Typedefs                                                    *
@@ -71,5 +72,6 @@
     uint32_t volatile   u32Magic;
     /** The object state bit and generation counter.
-     * The generation counter is incremented every time the object is   */
+     * The generation counter is incremented every time the object is
+     * signalled. */
     uint32_t volatile   fStateAndGen;
     /** Reference counter. */
@@ -241,4 +243,5 @@
     AssertPtrReturn(pThis, VERR_INVALID_PARAMETER);
     AssertMsgReturn(pThis->u32Magic == RTSEMEVENTMULTI_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
+    AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER);
     rtR0SemEventMultiLnxRetain(pThis);
 
Index: /trunk/src/VBox/Runtime/r0drv/nt/semevent-r0drv-nt.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/nt/semevent-r0drv-nt.cpp	(revision 33042)
+++ /trunk/src/VBox/Runtime/r0drv/nt/semevent-r0drv-nt.cpp	(revision 33043)
@@ -169,4 +169,6 @@
     AssertPtrReturn(pThis, VERR_INVALID_PARAMETER);
     AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
+    AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER);
+
     rtR0SemEventNtRetain(pThis);
 
@@ -198,5 +200,4 @@
     }
 
-
     /*
      * Wait for it.
Index: /trunk/src/VBox/Runtime/r0drv/nt/semeventmulti-r0drv-nt.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/nt/semeventmulti-r0drv-nt.cpp	(revision 33042)
+++ /trunk/src/VBox/Runtime/r0drv/nt/semeventmulti-r0drv-nt.cpp	(revision 33043)
@@ -193,4 +193,6 @@
     AssertPtrReturn(pThis, VERR_INVALID_PARAMETER);
     AssertMsgReturn(pThis->u32Magic == RTSEMEVENTMULTI_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
+    AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER);
+
     rtR0SemEventMultiNtRetain(pThis);
 
@@ -222,5 +224,4 @@
     }
 
-
     /*
      * Wait for it.
