mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 14:32:46 +00:00 
			
		
		
		
	 60b088b89a
			
		
	
	
		60b088b89a
		
	
	
	
	
		
			
			According to Dr. POSIX, we should allow to call mmap on inodes even on ranges that currently don't map to any actual data. Trying to read or write to those ranges should result in SIGBUS being sent to the thread that did violating memory access. To implement this restriction, we simply check if the result of read_bytes on an Inode returns 0, which means we have nothing valid to map to the program, hence it should receive a SIGBUS in that case.
		
			
				
	
	
		
			18 lines
		
	
	
	
		
			235 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
	
		
			235 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2020, the SerenityOS developers.
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| namespace Kernel {
 | |
| 
 | |
| enum class PageFaultResponse {
 | |
|     ShouldCrash,
 | |
|     BusError,
 | |
|     OutOfMemory,
 | |
|     Continue,
 | |
| };
 | |
| 
 | |
| }
 |