Applied, thanks! Luca Dariz, le dim. 12 févr. 2023 18:28:16 +0100, a ecrit: > * i386/i386/trap.c: change from int to a proper type to hold a > register value > * x86_64/locore.S: use 64-bit register to avoid address truncation > --- > i386/i386/trap.c | 12 ++++++------ > x86_64/locore.S | 4 ++-- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/i386/i386/trap.c b/i386/i386/trap.c > index 1e04ae7d..9a35fb42 100644 > --- a/i386/i386/trap.c > +++ b/i386/i386/trap.c > @@ -154,9 +154,9 @@ char *trap_name(unsigned int trapnum) > */ > void kernel_trap(struct i386_saved_state *regs) > { > - int code; > - int subcode; > - int type; > + unsigned long code; > + unsigned long subcode; > + unsigned long type; > vm_map_t map; > kern_return_t result; > thread_t thread; > @@ -357,9 +357,9 @@ dump_ss(regs); > int user_trap(struct i386_saved_state *regs) > { > int exc = 0; /* Suppress gcc warning */ > - int code; > - int subcode; > - int type; > + unsigned long code; > + unsigned long subcode; > + unsigned long type; > thread_t thread = current_thread(); > > #ifdef __x86_64__ > diff --git a/x86_64/locore.S b/x86_64/locore.S > index c54b5cd8..a2663aff 100644 > --- a/x86_64/locore.S > +++ b/x86_64/locore.S > @@ -590,7 +590,7 @@ trap_from_kernel: > ENTRY(thread_exception_return) > ENTRY(thread_bootstrap_return) > movq %rsp,%rcx /* get kernel stack */ > - or $(KERNEL_STACK_SIZE-1),%ecx > + or $(KERNEL_STACK_SIZE-1),%rcx > movq -7-IKS_SIZE(%rcx),%rsp /* switch back to PCB stack */ > jmp _return_from_trap > > @@ -603,7 +603,7 @@ ENTRY(thread_bootstrap_return) > ENTRY(thread_syscall_return) > movq S_ARG0,%rax /* get return value */ > movq %rsp,%rcx /* get kernel stack */ > - or $(KERNEL_STACK_SIZE-1),%ecx > + or $(KERNEL_STACK_SIZE-1),%rcx > movq -7-IKS_SIZE(%rcx),%rsp /* switch back to PCB stack */ > movq %rax,R_EAX(%rsp) /* save return value */ > jmp _return_from_trap > -- > 2.30.2 > >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.