Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/user.h
Show First 20 Lines • Show All 619 Lines • ▼ Show 20 Lines | struct kinfo_sigtramp { | ||||
void *ksigtramp_spare[4]; | void *ksigtramp_spare[4]; | ||||
}; | }; | ||||
#define KMAP_FLAG_WIREFUTURE 0x01 /* all future mappings wil be wired */ | #define KMAP_FLAG_WIREFUTURE 0x01 /* all future mappings wil be wired */ | ||||
#define KMAP_FLAG_ASLR 0x02 /* ASLR is applied to mappings */ | #define KMAP_FLAG_ASLR 0x02 /* ASLR is applied to mappings */ | ||||
#define KMAP_FLAG_ASLR_IGNSTART 0x04 /* ASLR may map into sbrk grow region */ | #define KMAP_FLAG_ASLR_IGNSTART 0x04 /* ASLR may map into sbrk grow region */ | ||||
#define KMAP_FLAG_WXORX 0x08 /* W^X mapping policy is enforced */ | #define KMAP_FLAG_WXORX 0x08 /* W^X mapping policy is enforced */ | ||||
#define KMAP_FLAG_ASLR_STACK 0x10 /* the stack location is randomized */ | #define KMAP_FLAG_ASLR_STACK 0x10 /* the stack location is randomized */ | ||||
#define KMAP_FLAG_ASLR_SHARED_PAGE 0x20 /* the shared page location is randomized */ | |||||
struct kinfo_vm_layout { | struct kinfo_vm_layout { | ||||
uintptr_t kvm_min_user_addr; | uintptr_t kvm_min_user_addr; | ||||
uintptr_t kvm_max_user_addr; | uintptr_t kvm_max_user_addr; | ||||
uintptr_t kvm_text_addr; | uintptr_t kvm_text_addr; | ||||
size_t kvm_text_size; | size_t kvm_text_size; | ||||
uintptr_t kvm_data_addr; | uintptr_t kvm_data_addr; | ||||
size_t kvm_data_size; | size_t kvm_data_size; | ||||
uintptr_t kvm_stack_addr; | uintptr_t kvm_stack_addr; | ||||
size_t kvm_stack_size; | size_t kvm_stack_size; | ||||
int kvm_map_flags; | int kvm_map_flags; | ||||
uintptr_t kvm_spare[14]; | uintptr_t kvm_shp_addr; | ||||
size_t kvm_shp_size; | |||||
uintptr_t kvm_spare[12]; | |||||
kib: Perhaps returning the shp mapping address would be useful? | |||||
Done Inline ActionsThere is already the sysctl_kern_proc_sigtramp, which returns the sigcode base address, so IMO it's not really needed. kd: There is already the `sysctl_kern_proc_sigtramp`, which returns the sigcode base address, so… | |||||
}; | }; | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
/* Flags for kern_proc_out function. */ | /* Flags for kern_proc_out function. */ | ||||
#define KERN_PROC_NOTHREADS 0x1 | #define KERN_PROC_NOTHREADS 0x1 | ||||
#define KERN_PROC_MASK32 0x2 | #define KERN_PROC_MASK32 0x2 | ||||
/* Flags for kern_proc_filedesc_out. */ | /* Flags for kern_proc_filedesc_out. */ | ||||
Show All 27 Lines |
Perhaps returning the shp mapping address would be useful?