Skip to content

Any chance to introduce Ftrace in the syscall chapter (or elsewhere) in this book? #175

Open
@nickchen120235

Description

@nickchen120235

In the syscall chapter, syscall hooking is introduced, so I think it may be a good opportunity to go a step deeper to talk about Ftrace and hooking, and maybe kernel live patching.

I can provide some introductory text and sample code for syscall hooking if anyone is interested.

Activity

changed the title [-]Any chance to inytoduce Ftrace in the syscall chapter (or elsewhere in this book)?[/-] [+]Any chance to introduce Ftrace in the syscall chapter (or elsewhere in this book)?[/+] on Oct 24, 2022
changed the title [-]Any chance to introduce Ftrace in the syscall chapter (or elsewhere in this book)?[/-] [+]Any chance to introduce Ftrace in the syscall chapter (or elsewhere) in this book?[/+] on Oct 24, 2022
jserv

jserv commented on Oct 24, 2022

@jserv
Contributor

@nickchen120235, I am writing another ebook about Linux CPU scheduler in which Ftrace was covered. I can send the draft for your reference. If you would like to contribute, please make a rough list.

nickchen120235

nickchen120235 commented on Oct 24, 2022

@nickchen120235
Author

If you would like to contribute, please make a rough list.

Sure I would like to write this portion of the book.

Since Ftrace will also be covered in the aforementioned book, in lkmpg only function-hooking-related stuff will be (roughly) introduced, i.e. more of an introduction to hooking using Ftrace rather than a deep-dive into it. It'll be a section after the sys_call_table example (or just something like "Another technique we can utilize to control the flow of execution of a syscall is Ftrace. ").

Currently I'm think of dividing the section into three parts:

  1. Introduction to Ftrace
  2. How function hooking works in Ftrace and its relationship to kernel live patching
  3. The sys_open(at) example rewritten using Ftrace

The length of content won't be more than a section.

nickchen120235

nickchen120235 commented on Oct 26, 2022

@nickchen120235
Author

The planned content is similar to this, of course the kprobe part will be omitted and the rest will be revised.

jserv

jserv commented on Nov 20, 2022

@jserv
Contributor

The planned content is similar to this, of course the kprobe part will be omitted and the rest will be revised.

It looks great. I like the sequence diagram for illustrating Ftace. Please send pull requests for introducing Ftrace in LKMPG.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @jserv@nickchen120235

      Issue actions

        Any chance to introduce Ftrace in the syscall chapter (or elsewhere) in this book? · Issue #175 · sysprog21/lkmpg