Changeset 4819 in vbox
- Timestamp:
- Sep 15, 2007 10:05:04 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 24526
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/memobj-r0drv.cpp
r4781 r4819 154 154 /* Validate the object handle. */ 155 155 PRTR0MEMOBJINTERNAL pMem; 156 AssertPtrReturn(MemObj, 0); 156 if (RT_UNLIKELY(MemObj == NIL_RTR0MEMOBJ)) 157 return NULL; 158 AssertPtrReturn(MemObj, NULL); 157 159 pMem = (PRTR0MEMOBJINTERNAL)MemObj; 158 AssertMsgReturn(pMem->u32Magic == RTR0MEMOBJ_MAGIC, ("%p: %#x\n", pMem, pMem->u32Magic), 0);159 AssertMsgReturn(pMem->enmType > RTR0MEMOBJTYPE_INVALID && pMem->enmType < RTR0MEMOBJTYPE_END, ("%p: %d\n", pMem, pMem->enmType), 0);160 AssertMsgReturn(pMem->u32Magic == RTR0MEMOBJ_MAGIC, ("%p: %#x\n", pMem, pMem->u32Magic), NULL); 161 AssertMsgReturn(pMem->enmType > RTR0MEMOBJTYPE_INVALID && pMem->enmType < RTR0MEMOBJTYPE_END, ("%p: %d\n", pMem, pMem->enmType), NULL); 160 162 161 163 /* return the mapping address. */ … … 178 180 RTR0DECL(RTR3PTR) RTR0MemObjAddressR3(RTR0MEMOBJ MemObj) 179 181 { 182 PRTR0MEMOBJINTERNAL pMem; 183 180 184 /* Validate the object handle. */ 181 PRTR0MEMOBJINTERNAL pMem; 185 if (RT_UNLIKELY(MemObj == NIL_RTR0MEMOBJ)) 186 return NIL_RTR3PTR; 182 187 AssertPtrReturn(MemObj, NIL_RTR3PTR); 183 188 pMem = (PRTR0MEMOBJINTERNAL)MemObj; 184 189 AssertMsgReturn(pMem->u32Magic == RTR0MEMOBJ_MAGIC, ("%p: %#x\n", pMem, pMem->u32Magic), NIL_RTR3PTR); 185 190 AssertMsgReturn(pMem->enmType > RTR0MEMOBJTYPE_INVALID && pMem->enmType < RTR0MEMOBJTYPE_END, ("%p: %d\n", pMem, pMem->enmType), NIL_RTR3PTR); 186 AssertMsgReturn( ( pMem->enmType == RTR0MEMOBJTYPE_MAPPING187 && pMem->u.Mapping.R0Process != NIL_RTR0PROCESS)188 || ( pMem->enmType == RTR0MEMOBJTYPE_LOCK189 && pMem->u.Lock.R0Process != NIL_RTR0PROCESS)190 || ( pMem->enmType == RTR0MEMOBJTYPE_PHYS_NC191 && pMem->u.Lock.R0Process != NIL_RTR0PROCESS)192 || ( pMem->enmType == RTR0MEMOBJTYPE_RES_VIRT193 && pMem->u.ResVirt.R0Process != NIL_RTR0PROCESS),194 ("%p: %d\n", pMem, pMem->enmType), NIL_RTR3PTR);191 if (RT_UNLIKELY( ( pMem->enmType != RTR0MEMOBJTYPE_MAPPING 192 || pMem->u.Mapping.R0Process == NIL_RTR0PROCESS) 193 && ( pMem->enmType != RTR0MEMOBJTYPE_LOCK 194 || pMem->u.Lock.R0Process == NIL_RTR0PROCESS) 195 && ( pMem->enmType != RTR0MEMOBJTYPE_PHYS_NC 196 || pMem->u.Lock.R0Process == NIL_RTR0PROCESS) 197 && ( pMem->enmType != RTR0MEMOBJTYPE_RES_VIRT 198 || pMem->u.ResVirt.R0Process == NIL_RTR0PROCESS))) 199 return NIL_RTR3PTR; 195 200 196 201 /* return the mapping address. */ … … 203 208 * 204 209 * @returns The address of the memory object. 205 * @returns NULLif the handle is invalid (asserts in strict builds) or if there isn't any mapping.210 * @returns 0 if the handle is invalid (asserts in strict builds) or if there isn't any mapping. 206 211 * @param MemObj The ring-0 memory object handle. 207 212 */ 208 213 RTR0DECL(size_t) RTR0MemObjSize(RTR0MEMOBJ MemObj) 209 214 { 215 PRTR0MEMOBJINTERNAL pMem; 216 210 217 /* Validate the object handle. */ 211 PRTR0MEMOBJINTERNAL pMem; 218 if (RT_UNLIKELY(MemObj == NIL_RTR0MEMOBJ)) 219 return 0; 212 220 AssertPtrReturn(MemObj, 0); 213 221 pMem = (PRTR0MEMOBJINTERNAL)MemObj;
Note:
See TracChangeset
for help on using the changeset viewer.