Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Specifically, reuse
the apply_relocate_add() function in the module loader to write relocations
instead of duplicating functionality in livepatch's arch-dependent
klp_
+++ Jiri Kosina [21/03/16 23:02 +0100]:
On Mon, 21 Mar 2016, Josh Poimboeuf wrote:
According to my test that still results in the literal value of
"(64 - 8)".
Alright. But we should be able to special-case it with a two #if checks on
the __SIZEOF_LONG__ value and BUILD_BUG_ON() when __SIZEOF_
On Mon, 21 Mar 2016, Josh Poimboeuf wrote:
> According to my test that still results in the literal value of
> "(64 - 8)".
Alright. But we should be able to special-case it with a two #if checks on
the __SIZEOF_LONG__ value and BUILD_BUG_ON() when __SIZEOF_LONG__ is not
of one of the ususal siz
On Mon, Mar 21, 2016 at 10:16:17PM +0100, Jiri Kosina wrote:
> On Mon, 21 Mar 2016, Jessica Yu wrote:
>
> > Yes, this is a concern and I'm not sure what the best way to fix it
> > is. If both MODULE_NAME_LEN and KSYM_NAME_LEN were straight up
> > constants, then I think Josh's stringify approach w
On Mon, 21 Mar 2016, Jessica Yu wrote:
> Yes, this is a concern and I'm not sure what the best way to fix it
> is. If both MODULE_NAME_LEN and KSYM_NAME_LEN were straight up
> constants, then I think Josh's stringify approach would have worked
> perfectly. However since MODULE_NAME_LEN translates
On Mon, Mar 21, 2016 at 03:18:32PM -0400, Jessica Yu wrote:
> +++ Miroslav Benes [21/03/16 14:55 +0100]:
> >On Wed, 16 Mar 2016, Jessica Yu wrote:
> >
> >[...]
> >
> >>+struct klp_buf {
> >>+ char symname[KSYM_SYMBOL_LEN];
> >
> >I think it is better to make this KSYM_NAME_LEN. KSYM_SYMBOL_LEN lo
+++ Miroslav Benes [21/03/16 14:55 +0100]:
On Wed, 16 Mar 2016, Jessica Yu wrote:
[...]
+struct klp_buf {
+ char symname[KSYM_SYMBOL_LEN];
I think it is better to make this KSYM_NAME_LEN. KSYM_SYMBOL_LEN looks
like something different and KSYM_NAME_LEN is 128 which you reference
below.
+++ Josh Poimboeuf [21/03/16 12:36 -0500]:
On Mon, Mar 21, 2016 at 11:46:51AM -0500, Josh Poimboeuf wrote:
On Mon, Mar 21, 2016 at 05:31:57PM +0100, Petr Mladek wrote:
> > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> > index 780f00c..2aa20fa 100644
> > --- a/kernel/livepatch/
On Mon, Mar 21, 2016 at 11:46:51AM -0500, Josh Poimboeuf wrote:
> On Mon, Mar 21, 2016 at 05:31:57PM +0100, Petr Mladek wrote:
> > > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> > > index 780f00c..2aa20fa 100644
> > > --- a/kernel/livepatch/core.c
> > > +++ b/kernel/livepatch/co
On Mon, Mar 21, 2016 at 05:31:57PM +0100, Petr Mladek wrote:
> > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> > index 780f00c..2aa20fa 100644
> > --- a/kernel/livepatch/core.c
> > +++ b/kernel/livepatch/core.c
> > +static int klp_resolve_symbols(Elf_Shdr *relasec, struct module
On Wed 2016-03-16 15:47:06, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the need
> for architecture specific relocation code in livepatch. Specifically, reuse
> the apply_relocate_add() function in the module loader to write relocations
> instead of duplic
On Wed, Mar 16, 2016 at 03:47:06PM -0400, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the need
> for architecture specific relocation code in livepatch. Specifically, reuse
> the apply_relocate_add() function in the module loader to write relocations
> ins
On Wed, 16 Mar 2016, Jessica Yu wrote:
[...]
> +struct klp_buf {
> + char symname[KSYM_SYMBOL_LEN];
I think it is better to make this KSYM_NAME_LEN. KSYM_SYMBOL_LEN looks
like something different and KSYM_NAME_LEN is 128 which you reference
below.
> + char objname[MODULE_NAME_LEN];
>
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Specifically, reuse
the apply_relocate_add() function in the module loader to write relocations
instead of duplicating functionality in livepatch's arch-dependent
klp_
+++ Petr Mladek [09/02/16 15:01 +0100]:
On Wed 2016-02-03 20:11:09, Jessica Yu wrote:
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Specifically, reuse
the apply_relocate_add() function in the module loader to
+++ Josh Poimboeuf [08/02/16 14:26 -0600]:
On Wed, Feb 03, 2016 at 08:11:09PM -0500, Jessica Yu wrote:
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Specifically, reuse
the apply_relocate_add() function in the
On Tue, 9 Feb 2016, Petr Mladek wrote:
> On Wed 2016-02-03 20:11:09, Jessica Yu wrote:
> > Reuse module loader code to write relocations, thereby eliminating the need
> > for architecture specific relocation code in livepatch. Specifically, reuse
> > the apply_relocate_add() function in the module
On Wed 2016-02-03 20:11:09, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the need
> for architecture specific relocation code in livepatch. Specifically, reuse
> the apply_relocate_add() function in the module loader to write relocations
> instead of duplic
> > +/* .klp.sym.[objname].symbol_name,sympos */
> > +static int klp_get_sym_objname(char *s, char **result)
> > +{
>
> Do we need result to be a double-pointer? If I am not mistaken just 'char
> *result' could be sufficient. You check the return value, so result could
> be NULL or objname as f
On Wed, Feb 03, 2016 at 08:11:09PM -0500, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the need
> for architecture specific relocation code in livepatch. Specifically, reuse
> the apply_relocate_add() function in the module loader to write relocations
> ins
Hi,
several minor things and nits below. Otherwise it is ok.
On Wed, 3 Feb 2016, Jessica Yu wrote:
> + * Check if a livepatch symbol is formatted properly.
> + *
> + * See Documentation/livepatch/module-elf-format.txt for a
> + * detailed outline of requirements.
> + */
> +static int klp_check_
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Specifically, reuse
the apply_relocate_add() function in the module loader to write relocations
instead of duplicating functionality in livepatch's arch-dependent
klp_
+++ Petr Mladek [17/12/15 16:45 +0100]:
On Wed 2015-12-16 00:40:48, Jessica Yu wrote:
Turns out the string parsing stuff, even with the help of lib/string.c, doesn't
look very pretty. As I'm working on v3, I'm starting to think having
klp_write_object_relocations() loop simply through all the el
On Wed 2015-12-16 00:40:48, Jessica Yu wrote:
> Turns out the string parsing stuff, even with the help of lib/string.c,
> doesn't
> look very pretty. As I'm working on v3, I'm starting to think having
> klp_write_object_relocations() loop simply through all the elf sections might
> not be a good i
+++ Miroslav Benes [16/12/15 13:59 +0100]:
On Wed, 16 Dec 2015, Jessica Yu wrote:
+++ Jessica Yu [09/12/15 14:10 -0500]:
> +++ Josh Poimboeuf [08/12/15 12:38 -0600]:
> >
> > There was a lot of discussion for v1, so I'm not sure, but I thought we
> > ended up deciding to get rid of the klp_reloc
On Wed, 16 Dec 2015, Jessica Yu wrote:
> +++ Jessica Yu [09/12/15 14:10 -0500]:
> > +++ Josh Poimboeuf [08/12/15 12:38 -0600]:
> > >
> > > There was a lot of discussion for v1, so I'm not sure, but I thought we
> > > ended up deciding to get rid of the klp_reloc_sec struct? Instead I
> > > think
+++ Jessica Yu [09/12/15 14:10 -0500]:
+++ Josh Poimboeuf [08/12/15 12:38 -0600]:
On Mon, Nov 30, 2015 at 11:21:17PM -0500, Jessica Yu wrote:
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Namely, we reuse
appl
+++ Josh Poimboeuf [10/12/15 15:41 -0600]:
On Thu, Dec 10, 2015 at 04:33:29PM -0500, Jessica Yu wrote:
+++ Josh Poimboeuf [10/12/15 08:28 -0600]:
>On Wed, Dec 09, 2015 at 02:10:14PM -0500, Jessica Yu wrote:
>>+++ Josh Poimboeuf [08/12/15 12:38 -0600]:
+ /* For each __klp_rela section f
On Thu, Dec 10, 2015 at 04:33:29PM -0500, Jessica Yu wrote:
> +++ Josh Poimboeuf [10/12/15 08:28 -0600]:
> >On Wed, Dec 09, 2015 at 02:10:14PM -0500, Jessica Yu wrote:
> >>+++ Josh Poimboeuf [08/12/15 12:38 -0600]:
> + /* For each __klp_rela section for this object */
> + klp_for_each_reloc
+++ Josh Poimboeuf [10/12/15 08:28 -0600]:
On Wed, Dec 09, 2015 at 02:10:14PM -0500, Jessica Yu wrote:
+++ Josh Poimboeuf [08/12/15 12:38 -0600]:
>>+ /* For each __klp_rela section for this object */
>>+ klp_for_each_reloc_sec(obj, reloc_sec) {
>>+ relindex = reloc_sec-
On Thu, Dec 10, 2015 at 08:56:27PM +0100, Jiri Kosina wrote:
> On Thu, 10 Dec 2015, Minfei Huang wrote:
>
> > > + klp_for_each_reloc_sec(obj, reloc_sec) {
> > > + relindex = reloc_sec->index;
> > > + num_relas = pmod->sechdrs[relindex].sh_size / sizeof(Elf_Rela);
> > > + re
On Thu, 10 Dec 2015, Minfei Huang wrote:
> > + klp_for_each_reloc_sec(obj, reloc_sec) {
> > + relindex = reloc_sec->index;
> > + num_relas = pmod->sechdrs[relindex].sh_size / sizeof(Elf_Rela);
> > + rela = (Elf_Rela *) pmod->sechdrs[relindex].sh_addr;
> > +
> > +
On 11/30/15 at 11:21P, Jessica Yu wrote:
> + klp_for_each_reloc_sec(obj, reloc_sec) {
> + relindex = reloc_sec->index;
> + num_relas = pmod->sechdrs[relindex].sh_size / sizeof(Elf_Rela);
> + rela = (Elf_Rela *) pmod->sechdrs[relindex].sh_addr;
> +
> +
On Wed, Dec 09, 2015 at 02:10:14PM -0500, Jessica Yu wrote:
> +++ Josh Poimboeuf [08/12/15 12:38 -0600]:
> >>+ /* For each __klp_rela section for this object */
> >>+ klp_for_each_reloc_sec(obj, reloc_sec) {
> >>+ relindex = reloc_sec->index;
> >>+ num_relas = pmod->sechdrs[
+++ Josh Poimboeuf [08/12/15 12:38 -0600]:
On Mon, Nov 30, 2015 at 11:21:17PM -0500, Jessica Yu wrote:
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Namely, we reuse
apply_relocate_add() in the module loader to
On Mon, Nov 30, 2015 at 11:21:17PM -0500, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the need
> for architecture specific relocation code in livepatch. Namely, we reuse
> apply_relocate_add() in the module loader to write relocations instead of
> duplicat
+++ Jessica Yu [30/11/15 23:21 -0500]:
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Namely, we reuse
apply_relocate_add() in the module loader to write relocations instead of
duplicating functionality in livepa
Reuse module loader code to write relocations, thereby eliminating the need
for architecture specific relocation code in livepatch. Namely, we reuse
apply_relocate_add() in the module loader to write relocations instead of
duplicating functionality in livepatch's klp_write_module_reloc(). To apply
On Thu, 12 Nov 2015, Josh Poimboeuf wrote:
> On Thu, Nov 12, 2015 at 03:22:44PM -0500, Jessica Yu wrote:
> > Looking into this more, I think we do need one __klp_rela section per
> > function being patched. Each rela section is linked to the section to
> > which the relocations apply via the rela
+++ Josh Poimboeuf [12/11/15 14:32 -0600]:
On Thu, Nov 12, 2015 at 03:22:44PM -0500, Jessica Yu wrote:
Looking into this more, I think we do need one __klp_rela section per
function being patched. Each rela section is linked to the section to
which the relocations apply via the rela section's s
+++ Jessica Yu [12/11/15 14:14 -0500]:
+++ Miroslav Benes [12/11/15 16:27 +0100]:
On Wed, 11 Nov 2015, Jessica Yu wrote:
+++ Miroslav Benes [11/11/15 15:30 +0100]:
On Mon, 9 Nov 2015, Jessica Yu wrote:
So I guess we don't need klp_reloc anymore.
Yes, that's correct. I am noticing just now
On Thu, Nov 12, 2015 at 03:22:44PM -0500, Jessica Yu wrote:
> Looking into this more, I think we do need one __klp_rela section per
> function being patched. Each rela section is linked to the section to
> which the relocations apply via the rela section's sh_info field. In
> SHT_RELA sections, th
+++ Josh Poimboeuf [12/11/15 11:40 -0600]:
On Thu, Nov 12, 2015 at 04:27:01PM +0100, Miroslav Benes wrote:
On Wed, 11 Nov 2015, Jessica Yu wrote:
> +++ Miroslav Benes [11/11/15 15:30 +0100]:
> > On Mon, 9 Nov 2015, Jessica Yu wrote:
> >
> > So I guess we don't need klp_reloc anymore.
>
> Yes, t
+++ Miroslav Benes [12/11/15 16:27 +0100]:
On Wed, 11 Nov 2015, Jessica Yu wrote:
+++ Miroslav Benes [11/11/15 15:30 +0100]:
> On Mon, 9 Nov 2015, Jessica Yu wrote:
>
> So I guess we don't need klp_reloc anymore.
Yes, that's correct. I am noticing just now that I forgot to remove
the klp_reloc
On Mon, Nov 09, 2015 at 11:45:53PM -0500, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the
> need for architecture specific code in livepatch. Namely, we reuse
> apply_relocate_add() in the module loader to write relocs instead of
> duplicating functionalit
On Thu, Nov 12, 2015 at 04:27:01PM +0100, Miroslav Benes wrote:
> On Wed, 11 Nov 2015, Jessica Yu wrote:
>
> > +++ Miroslav Benes [11/11/15 15:30 +0100]:
> > > On Mon, 9 Nov 2015, Jessica Yu wrote:
> > >
> > > So I guess we don't need klp_reloc anymore.
> >
> > Yes, that's correct. I am noticing
On Wed, 11 Nov 2015, Jessica Yu wrote:
> +++ Miroslav Benes [11/11/15 15:30 +0100]:
> > On Mon, 9 Nov 2015, Jessica Yu wrote:
> >
> > So I guess we don't need klp_reloc anymore.
>
> Yes, that's correct. I am noticing just now that I forgot to remove
> the klp_reloc struct definition from livepatc
On Wed 2015-11-11 13:27:18, Jessica Yu wrote:
> Basically, the patch module code is expected to build the reloc_secs
> list for each object that is being patched. For example in kpatch, the
> patch module generates this list in patch_init(). Like you guessed, it
> does go through all the elf sectio
+++ Miroslav Benes [11/11/15 15:30 +0100]:
On Mon, 9 Nov 2015, Jessica Yu wrote:
diff --git a/include/linux/livepatch.h b/include/linux/livepatch.h
index 31db7a0..601e892 100644
--- a/include/linux/livepatch.h
+++ b/include/linux/livepatch.h
@@ -85,7 +85,7 @@ struct klp_reloc {
/**
* struct
+++ Petr Mladek [11/11/15 16:22 +0100]:
On Mon 2015-11-09 23:45:53, Jessica Yu wrote:
Reuse module loader code to write relocations, thereby eliminating the
need for architecture specific code in livepatch. Namely, we reuse
apply_relocate_add() in the module loader to write relocs instead of
dup
On Mon 2015-11-09 23:45:53, Jessica Yu wrote:
> Reuse module loader code to write relocations, thereby eliminating the
> need for architecture specific code in livepatch. Namely, we reuse
> apply_relocate_add() in the module loader to write relocs instead of
> duplicating functionality in livepatch
On Mon, 9 Nov 2015, Jessica Yu wrote:
> diff --git a/include/linux/livepatch.h b/include/linux/livepatch.h
> index 31db7a0..601e892 100644
> --- a/include/linux/livepatch.h
> +++ b/include/linux/livepatch.h
> @@ -85,7 +85,7 @@ struct klp_reloc {
> /**
> * struct klp_object - kernel object struc
On 11/10/2015, 05:45 AM, Jessica Yu wrote:
> @@ -95,7 +95,7 @@ struct klp_reloc {
> struct klp_object {
> /* external */
> const char *name;
> - struct klp_reloc *relocs;
> + struct list_head reloc_secs;
Too early to proper review the code, but you seem you never call
INIT_LIS
Reuse module loader code to write relocations, thereby eliminating the
need for architecture specific code in livepatch. Namely, we reuse
apply_relocate_add() in the module loader to write relocs instead of
duplicating functionality in livepatch's klp_write_module_reloc(). To
apply relocation secti
54 matches
Mail list logo