From fbf12e87588970690049f1c0223dd677fa371540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 5 Apr 2005 14:08:20 +0000 Subject: [PATCH] The VM did not support the flags passed to set_area_protection(), but it didn't know it yet - this fixes an endless loop in the VM fault handler. set_area_protection() no longer disallows settings B_EXECUTE_AREA and B_WRITE_AREA at the same time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12252 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/debug/user_debugger.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/kernel/core/debug/user_debugger.cpp b/src/kernel/core/debug/user_debugger.cpp index 209105f460..72c305b6c6 100644 --- a/src/kernel/core/debug/user_debugger.cpp +++ b/src/kernel/core/debug/user_debugger.cpp @@ -1071,10 +1071,7 @@ write_user_memory(void *_address, const void *_buffer, int32 size, bool protectionChanged = false; if (!(areaInfo.protection & (B_WRITE_AREA | B_KERNEL_WRITE_AREA))) { error = set_area_protection(area, -// areaInfo.protection | B_KERNEL_WRITE_AREA); -(areaInfo.protection & ~B_EXECUTE_AREA) | B_KERNEL_WRITE_AREA); -// TODO: Not being writable when being executable is currently a requirement -// of vm_set_area_protection(). + areaInfo.protection | B_WRITE_AREA); if (error != B_OK) { TRACE(("write_user_memory(): failed to set new protection for " "area %ld: %lx\n", area, error));