Re: [PATCH 2/2] livepatch: Fix the bug if the function name is larger than KSYM_NAME_LEN-1

From: Minfei Huang
Date: Wed Apr 15 2015 - 06:36:12 EST


On 04/15/15 at 10:30P, Miroslav Benes wrote:
> On Wed, 15 Apr 2015, Minfei Huang wrote:
>
> >
> > Yes, the function name can be changed, before the extra module is
> > installed to the production system.
> >
> > We discuss around and around, there are still some confusion with it.
> >
> > 1) How does end user know that livepatch can _not_ support the function
> > which length is larger than 127. We can not enforce the end user
> > to know the livepatch and kallsyms code in detail.
> > 2) How does end user use livepatch to patch running extra module, once
> > the module is running in the production system, if the function name
> > is insane.
> > 3) The error message is ambiguity, if we try to patch the overlength
> > function. We can give the error message clearly, once the function
> > name is overlength.
> >
> > I think it is better that we can take more time on the people who will
> > use livepatch frequently.
>
> Just my two cents, even if we admit that such change is worth it (and I
> am still not convinced that it is the case), I think it would make sense
> to fix it somewhere in kallsyms as Josh proposed. I suspect that when

Ohhh...

Fixing kallsyms to restrict the function name length maybe is not a good
idea. I have no idea how we should do this, except for the coding
problems.

> function names longer than KSYM_NAME_LEN were common there would be many
> similar problems elsewhere in the kernel.
>
> That is you can prepare a patch to kallsyms and submit it there. Not sure
> who is the maintainer but he might have an opinion about this...
>
> Thanks,
> Miroslav

Hold on, I get a scenario that livepatch may do fatal error. I am fine
that livepatch do not support overlength function name, because it can
not corrupt the kernel.

Once there is a function name A is larger than 127, and another function
name B is as longer as 127, it is disaster that we want to patch
function B, if function name of first 127 is same between A and B.

Livepatch may find the function of A to patch it. So this patch(2/2) may
be needed to fix the issue.

Thanks
Minfei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/