Git Product home page Git Product logo

Comments (9)

joe-lawrence avatar joe-lawrence commented on July 30, 2024

Hi @wardenjohn

  1. Why we don't include .data..read_mostly section changes? kpatch_verify_patchability() specifically looks for changes to any ".data" prefixed section (amongst others). Changes to data sections are not supported as kpatch can't safely apply those changes to a live system. For example, how to modify a static variable? There may be mutual exclusion issues, data type changes, etc.
  2. Why do we need kpatch_reorder_symbols()? kpatch-build generates a new elf output file comprised of original vs. patched object code differences. This new file may have altered section, relocations, symbol information, etc. This function sorts the symbols them as per ld linker (and probably ELF spec) expectations.
  3. How does kpatch-build use kernel struct sizes in special sections? Just look for the "group_size" variable across create-diff-object.c.

from kpatch.

wardenjohn avatar wardenjohn commented on July 30, 2024

Thank you joe @joe-lawrence !
I am still learning the techology of kpatch-build and still a long way to go.
Hoping can become a member of this community as fast as possable! :)

from kpatch.

wardenjohn avatar wardenjohn commented on July 30, 2024

@joe-lawrence I have some futher question for answer.

For answer 1, kpatch_verify_patchability() will make sure .data.* section will not be included. However, changed section is not selected for inclusion is raise in this case. It seems that this section is changed but the include flag is not set.
It is not the situation that kpatch_verify_patchability not allow any data section change.

In my scenario, this section's flag is not set to be include even it is changed. Is that a bug?

from kpatch.

joe-lawrence avatar joe-lawrence commented on July 30, 2024

Hi @wardenjohn : can you (re)build this patch with kpatch-build -d debugging option, then create and attach a tarball of the following files from ~/.kpatch (most of these should be under ~/.kpatch/tmp/...)

  • kpatch-build.env
  • Module.symvers
  • ORIG.o
  • PATCHED.o
  • vmlinux.symtab

Seeing the input kpatch would be helpful as well if you can post that. (GitHub should let you attach files directly in an issue comment.) Thanks.

from kpatch.

wardenjohn avatar wardenjohn commented on July 30, 2024

Hi joe, @joe-lawrence
I will rebuild for a check. But I am not sure my organization if they allow me to up load the built object.
I need some time to check.

from kpatch.

wardenjohn avatar wardenjohn commented on July 30, 2024

@joe-lawrence Hi, bro!
I read the README.md of kpatch-build project and found that we can talk in web.libera chat. It very interesting if we can chat on line.
I join https://web.libera.chat/ under kpatch channel.
image
but found nobody in the channel chating.
Am I joined the wrong channel?
Thank you very much!

from kpatch.

joe-lawrence avatar joe-lawrence commented on July 30, 2024

We should probably remove this from the docs as I think most people have sunset IRC. I know I don't even have a client installed after the N-th chat protocol was adopted at work.

from kpatch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.