From 1748a3cb452ca31913270b31a608350a1a560004 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 19 Nov 2009 16:23:22 +0000 Subject: [PATCH] IOBuffer::SetVecs(): fUser was initialized incorrectly, if the vecs referred to physical memory whose address would accidentally satisfy the IS_USER_ADDRESS() check. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34136 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/device_manager/IORequest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/device_manager/IORequest.cpp b/src/system/kernel/device_manager/IORequest.cpp index 1e53f6023d..c7ac21793a 100644 --- a/src/system/kernel/device_manager/IORequest.cpp +++ b/src/system/kernel/device_manager/IORequest.cpp @@ -120,8 +120,8 @@ IOBuffer::SetVecs(size_t firstVecOffset, const iovec* vecs, uint32 count, fVecCount = count; fLength = length; - fUser = IS_USER_ADDRESS(vecs[0].iov_base); fPhysical = (flags & B_PHYSICAL_IO_REQUEST) != 0; + fUser = !fPhysical && IS_USER_ADDRESS(vecs[0].iov_base); }