Linux kernel code reading

“important” places in the source tree:

arch/xyz/include/asm/processor.h
    processor specific structs like `struct thread_struct`

include/linux/sched.h
    struct task_struct

arch/xyz/include/uapi/asm/ucontext.h
    struct ucontext

arch/arm64/include/uapi/asm/sisgcontext.h
    struct sigcontext

include/linux/signal_types.h
    struct ksignal

kernel/signal.c
    int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact)

arch/arm64/kernel/signal.c

struct rt_sigframe {
	struct siginfo info;
	struct ucontext uc;
};

struct rt_sigframe_user_layout {
	struct rt_sigframe __user *sigframe;
	struct frame_record __user *next_frame;

	unsigned long size;	/* size of allocated sigframe data */
	unsigned long limit;	/* largest allowed size */

	unsigned long fpsimd_offset;
	unsigned long esr_offset;
	unsigned long sve_offset;
	unsigned long tpidr2_offset;
	unsigned long za_offset;
	unsigned long zt_offset;
	unsigned long extra_offset;
	unsigned long end_offset;
};

Some random stuffs in the linux kernel source code.

task_struct in sched.h

/*
 * WARNING: on x86, 'thread_struct' contains a variable-sized
 * structure.  It *MUST* be at the end of 'task_struct'.
 *
 * Do not put anything below here!
 */
[+] click to leave a comment [+]
the comment system on this blog works via email. The button
below will generate a mailto: link based on this page's url 
and invoke your email client - please edit the comment there!

[optional] even better, encrypt the email with my public key

- don't modify the subject field
- specify a nickname, otherwise your comment will be shown as   
  anonymous
- your email address will not be disclosed
- you agree that the comment is to be made public.
- to take down a comment, send the request via email.

        
>> SEND COMMENT <<