>>> Konrad Rzeszutek Wilk 09/23/16 1:56 AM >>>
>@@ -46,6 +46,10 @@ void livepatch_elf_free(struct livepatch_elf *elf);
>int livepatch_elf_resolve_symbols(struct livepatch_elf *elf);
>int livepatch_elf_perform_relocs(struct livepatch_elf *elf);
>
>+static inline bool livepatch_elf_ignore_section(c
On Thu, Sep 22, 2016 at 03:21:00AM -0600, Jan Beulich wrote:
> >>> On 21.09.16 at 18:57, wrote:
> > @@ -325,8 +327,13 @@ static int move_payload(struct payload *payload,
> > struct livepatch_elf *elf)
> > * and .shstrtab. For the non-relocate we allocate and copy these
> > * v
On Thu, Sep 22, 2016 at 03:21:00AM -0600, Jan Beulich wrote:
> >>> On 21.09.16 at 18:57, wrote:
> > @@ -325,8 +327,13 @@ static int move_payload(struct payload *payload,
> > struct livepatch_elf *elf)
> > * and .shstrtab. For the non-relocate we allocate and copy these
> > * v
>>> On 21.09.16 at 18:57, wrote:
> @@ -325,8 +327,13 @@ static int move_payload(struct payload *payload, struct
> livepatch_elf *elf)
> * and .shstrtab. For the non-relocate we allocate and copy these
> * via other means - and the .rel we can ignore as we only use it
>
On general this is unhealthy - as the payload's .bss (definitly)
or .data (maybe) will be modified once the payload is running.
Doing an revert and then re-applying the payload with a non-pristine
.bss or .data can lead to unforseen consequences (.bss are assumed
to always contain zero value but n