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

From: Minfei Huang
Date: Tue Apr 14 2015 - 11:55:54 EST


On 04/14/15 at 10:11P, Josh Poimboeuf wrote:
> On Tue, Apr 14, 2015 at 01:45:49PM +0800, Minfei Huang wrote:
> > On 04/14/15 at 12:32P, Josh Poimboeuf wrote:
> > > On Tue, Apr 14, 2015 at 01:29:50PM +0800, Minfei Huang wrote:
> > > >
> > > > For end user, they may know litter about restriction of kallsyms and
> > > > livepatch. How can they know the restriction that function name is
> > > > limited to 127?
> > >
> > > As I mentioned above, I think kallsyms.c should fail the build if it
> > > encounters a symbol longer than KSYM_NAME_LEN.
> > >
> >
> > I dont think it is a good idea to handle this case like that. The
> > function name is only for human recognization. Why the compiler fails
> > to build it?
>
> Well, the function name isn't only for human recognition. kpatch-build
> generates patch modules automatically. It assumes that the compiled
> function name matches the kallsyms name. And I'd guess that a lot of
> other code (both in-kernel and user space tools) make the same
> assumption.
>
> Not to mention that most humans would also make the same assumption...

Yes. The assumption is correct for most case.

It is significance for livepatch to support extra module, because in my
opinion kernel is more stable than the third module.

So it is more important, if the livepatch can patch all sorts of patch.
For dynamic function name, I think it is simple to avoid it.

Usually, we will use ominity to handle a bunch of machines. So it is
simple, if we use script to get the function address and build the patch.

Josh, is there any chance to accept my patches? It may be important
somewhile that system can not restart without schedule to reload the
fixed-module.

Thanks
Minfei

>
> --
> Josh
--
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/