Hello reviewers, These patches were originally created by Petr. The patches 3 and 4 were originally one bigger patch but they are more easily reviewed split. The patches 1 and 2 are code improvements. Patch 3 adds a new struct called klp_shadow_type that combines the id, ctor and dtor of a shadow variable. This patch is needed by patch 4. Patch 4 adds the garbage collection. Thanks for reviewing! Marcos Paulo de Souza (2): livepatch/shadow: Introduce klp_shadow_type structure livepatch/shadow: Add garbage collection of shadow variables Petr Mladek (2): livepatch/shadow: Separate code to get or use pre-allocated shadow variable livepatch/shadow: Separate code removing all shadow variables for a given id include/linux/livepatch.h | 50 ++- kernel/livepatch/core.c | 39 +++ kernel/livepatch/core.h | 1 + kernel/livepatch/shadow.c | 296 +++++++++++++----- kernel/livepatch/transition.c | 4 +- lib/livepatch/test_klp_shadow_vars.c | 119 ++++--- samples/livepatch/livepatch-shadow-fix1.c | 24 +- samples/livepatch/livepatch-shadow-fix2.c | 34 +- .../selftests/livepatch/test-shadow-vars.sh | 2 +- 9 files changed, 415 insertions(+), 154 deletions(-) -- 2.35.3