06 Feb, 2019

2 commits

  • Add proper error handling when allocating or getting shadow variables
    in the selftest. It prevents an invalid pointer access in some situations.
    It shows the good programming practice in the others.

    The error codes are just the best guess and specific for this particular
    test. In general, klp_shadow_alloc() returns NULL also when the given
    shadow variable has already been allocated. In addition, both
    klp_shadow_alloc() and klp_shadow_get_or_alloc() might fail from
    other reasons when the constructor fails.

    Note, that the error code is not really important even in the real life.
    The use of shadow variables should be transparent for the original
    livepatched code.

    Acked-by: Miroslav Benes
    Acked-by: Joe Lawrence
    Signed-off-by: Petr Mladek

    Petr Mladek
     
  • Fixes the following smatch warning:

    lib/livepatch/test_klp_shadow_vars.c:47 ptr_id() warn: returning -1 instead of -ENOMEM is sloppy

    Signed-off-by: Joe Lawrence
    Acked-by: Miroslav Benes
    Signed-off-by: Petr Mladek

    Joe Lawrence
     

12 Jan, 2019

1 commit

  • Add a few livepatch modules and simple target modules that the included
    regression suite can run tests against:

    - basic livepatching (multiple patches, atomic replace)
    - pre/post (un)patch callbacks
    - shadow variable API

    Signed-off-by: Joe Lawrence
    Signed-off-by: Petr Mladek
    Tested-by: Miroslav Benes
    Tested-by: Alice Ferrazzi
    Acked-by: Joe Lawrence
    Acked-by: Josh Poimboeuf
    Signed-off-by: Jiri Kosina

    Joe Lawrence