Comments (9)
Hi @wardenjohn
- 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.
- 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.
- 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.
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.
@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.
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.
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.
@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.
but found nobody in the channel chating.
Am I joined the wrong channel?
Thank you very much!
from kpatch.
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)
- create-diff-object static local variable correlation and inlining HOT 5
- 1.0 release HOT 2
- Do we need more robust archeticture protection HOT 4
- kpatch-build: verify_patch_files might miss a parameter HOT 2
- ERROR in find_local_syms, couldn't find matching XXX local symbols in vmlinux symbol table HOT 14
- Can you add support for Rocky and Alma? HOT 1
- relocation with type R_X86_64_GOTPCREL is not supported HOT 5
- Arch Compile kpatch-git test failed HOT 4
- Regarding "statically allocated data" again HOT 2
- kpatch-build error when modifying an object file's only syscall
- nowhere to find the definition of klp_register_patch HOT 5
- x86 paravirt code uses alternatives v6.8+ HOT 1
- special-static.patch can fail to build on s390x / upstream v6.8 HOT 6
- CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY not supported on ppc64le HOT 6
- function __pfx_new_sync_read has no fentry/mcount call, unable to patch HOT 6
- Unchanged and unpatchable function moves from .text to .text.unlikely HOT 5
- Why did the kpatch-build script export the KPATCH-BUILD environment variable from the BUILD directory to the SOURCE directory? HOT 3
- CONFIG_WERROR=y and CONFIG_LD_ORPHAN_WARN_LEVEL="error" break kpatch-build HOT 2
- linux 6.9.0-rc6 can't find special struct paravirt_patch_site size HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kpatch.