Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset bac86377 in mainline


Ignore:
Timestamp:
2010-01-08T20:13:42Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
4290746
Parents:
8fb47ec0
Message:

Put sentinels to beginnings of all ia32 kernel stacks to stop
potential stack traces.

Location:
kernel/arch/ia32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/include/context.h

    r8fb47ec0 rbac86377  
    4949#define SP_DELTA        (8 + STACK_ITEM_SIZE)
    5050
     51#define context_set(c, _pc, stack, size) \
     52        do { \
     53                (c)->pc = (uintptr_t) (_pc); \
     54                (c)->sp = ((uintptr_t) (stack)) + (size) - SP_DELTA; \
     55                (c)->ebp = 0; \
     56        } while (0)
     57
    5158#endif /* KERNEL */
    5259
  • kernel/arch/ia32/src/boot/boot.S

    r8fb47ec0 rbac86377  
    9494        pushl grub_eax
    9595        call arch_pre_main
     96
     97        # Create the first stack frame
     98        pushl $0
     99        movl %esp, %ebp
    96100       
    97101        call main_bsp
  • kernel/arch/ia32/src/smp/ap.S

    r8fb47ec0 rbac86377  
    7878        addl $0x80000000, %esp                  # PA2KA(ctx.sp)
    7979       
     80        pushl $0                                # create the first stack frame
     81        movl %esp, %ebp
     82
    8083        jmpl $KTEXT, $main_ap
    8184
Note: See TracChangeset for help on using the changeset viewer.