aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/task-analyzer-record
diff options
context:
space:
mode:
authorSong Liu <song@kernel.org>2023-01-25 10:54:01 -0800
committerPetr Mladek <pmladek@suse.com>2023-02-03 11:28:22 +0100
commit0c05e7bd2d017a3a9a0f4e9a19ad4acf1f616f12 (patch)
tree015993873862da998d944811646938e33b76a37a /tools/perf/scripts/python/bin/task-analyzer-record
parentx86/module: remove unused code in __apply_relocate_add (diff)
downloadlinux-0c05e7bd2d017a3a9a0f4e9a19ad4acf1f616f12.tar.gz
linux-0c05e7bd2d017a3a9a0f4e9a19ad4acf1f616f12.zip
livepatch,x86: Clear relocation targets on a module removal
Josh reported a bug: When the object to be patched is a module, and that module is rmmod'ed and reloaded, it fails to load with: module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 2, loc 00000000ba0302e9, val ffffffffa03e293c livepatch: failed to initialize patch 'livepatch_nfsd' for module 'nfsd' (-8) livepatch: patch 'livepatch_nfsd' failed for module 'nfsd', refusing to load module 'nfsd' The livepatch module has a relocation which references a symbol in the _previous_ loading of nfsd. When apply_relocate_add() tries to replace the old relocation with a new one, it sees that the previous one is nonzero and it errors out. He also proposed three different solutions. We could remove the error check in apply_relocate_add() introduced by commit eda9cec4c9a1 ("x86/module: Detect and skip invalid relocations"). However the check is useful for detecting corrupted modules. We could also deny the patched modules to be removed. If it proved to be a major drawback for users, we could still implement a different approach. The solution would also complicate the existing code a lot. We thus decided to reverse the relocation patching (clear all relocation targets on x86_64). The solution is not universal and is too much arch-specific, but it may prove to be simpler in the end. Reported-by: Josh Poimboeuf <jpoimboe@redhat.com> Originally-by: Miroslav Benes <mbenes@suse.cz> Signed-off-by: Song Liu <song@kernel.org> Acked-by: Miroslav Benes <mbenes@suse.cz> Reviewed-by: Petr Mladek <pmladek@suse.com> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Reviewed-by: Joe Lawrence <joe.lawrence@redhat.com> Tested-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230125185401.279042-2-song@kernel.org
Diffstat (limited to 'tools/perf/scripts/python/bin/task-analyzer-record')
0 files changed, 0 insertions, 0 deletions
d>-3/+1 2022-05-09docs/ja_JP/SubmittingPatches: Suggest the use of scripts/get_maintainer.plAkira Yokosawa1-1/+2 2022-05-09docs/ja_JP/SubmittingPatches: Update GregKH linksAkira Yokosawa1-4/+5 2022-05-01Documentation/sysctl: document max_rcu_stall_to_panicJoel Savitz1-0/+7 2022-04-28Documentation: add missing angle bracket in cgroup-v2 docJoel Savitz1-1/+1 2022-04-28Documentation: dev-tools: use literal block instead of code-blockFrank Rowand1-10/+8 2022-04-28docs/zh_CN: add vm numa translationYanteng Si2-1/+102 2022-04-28docs/zh_CN: add vm hmm translationYanteng Si2-1/+362 2022-04-28docs/ja_JP/index: update section title in JapaneseKosuke Fujimoto1-1/+1 2022-04-28Documentation: devres: fix typo in interface listJohan Hovold1-1/+1 2022-04-28docs: submitting-patches: Fix crossref to 'The canonical patch format'Akira Yokosawa1-1/+1 2022-04-28Documentation: x86: rework IOMMU documentationAlex Deucher3-116/+152 2022-04-22Documentation: move watch_queue to core-apiRandy Dunlap3-1/+1 2022-04-22Docs: Replace version by 'current' in changes.rstBruno Moreira-Guedes1-1/+1 2022-04-22Docs: Add cpio requirement to changes.rstBruno Moreira-Guedes1-0/+6 2022-04-22Documentation: kunit: change complete_and_exit to kthread_complete_and_exitAndreas-Christian Hagau1-1/+1 2022-04-20rtla: Documentation: fix email addressesRandy Dunlap1-1/+2 2022-04-20Drop Documentation/ide/Randy Dunlap9-978/+0 2022-04-16docs/scheduler: fix unit errorJui-Tse Huang1-2/+2 2022-04-16docs/admin: alphabetize parts of kernel-parameters.txt (part 2)Randy Dunlap1-83/+83 2022-04-16Docs/admin: alphabetize some kernel-parameters (part 1)Randy Dunlap2-63/+61 2022-04-16Docs: admin/kernel-parameters: edit a few boot optionsRandy Dunlap1-11/+36 2022-04-16x86/efi: Remove references of EFI earlyprintk from documentationAkihiko Odaki1-2/+2 2022-04-16docs: fault-injection: fix defaultsDylan Yudaken1-7/+7 2022-04-16Documentation: arch_pgtable_helpers: demote pgtable list headingsBagas Sanjaya1-5/+5 2022-04-16docs/zh_CN: Fix typo in process/howto.rstZhou Yuheng1-1/+1 2022-04-16docs/zh_CN: add vm hugetlbfs_reserv translationYanteng Si2-0/+437 2022-04-16docs/scheduler: Change unit of cpu_time and rq_time to nanosecondsChunguang Xu1-2/+2