Re: [PATCH] livepatch: add module locking around kallsyms calls

From: Minfei Huang
Date: Tue Jun 02 2015 - 06:02:43 EST


On 06/02/15 at 11:15am, Miroslav Benes wrote:
> On Tue, 2 Jun 2015, Minfei Huang wrote:
> > > - if (kallsyms_on_each_symbol(klp_verify_callback, &args))
> > > - return 0;
> > > + mutex_lock(&module_mutex);
> > > + ret = kallsyms_on_each_symbol(klp_verify_callback, &args);
> > > + mutex_unlock(&module_mutex);
> > >
> >
> > Hi.
> > In livepatch code path, returning value 0 may represent the right, but
> > sometime represent wrong, like the above function.
> >
> > Is it possible that we can wrap such function and return the unified
> > value? Thus we can not confuse the returning value any more.
>
> Hi,
>
> I must admit I do not understand. Both klp_find_object_symbol and
> klp_verify_vmlinux_symbol return 0 on success or -EINVAL. It is true that
> kallsyms_on_each_symbol and module_kallsyms_on_each symbol are different.
> That is why our kallsyms callbacks are different. See the implementation
> of those. But that is the API. Is this what you are worried about?
>

Sorry to confuse you about the unclear description.

Yes. kallsyms_on_each_symbol return 0 to imply the failure. I know we
should comply the API which we call from the other module, but it may be
better to wrap the API as a function, if the return value conflicts with
current rule.

Otherwise it may confuse someone that the error message will be printed,
although the return value is 0, like kallsyms_on_each_symbol.

But I do not insist my view.

Thanks
Minfei

> > Otherwise annotation is appreciate.
--
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/