Skip to content

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

Open

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

  1. 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
  2. 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
  3. 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.

  4. 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.

  5. 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.

  6. 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

      No branches or pull requests

      Issue actions