Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757149AbbFBKCl (ORCPT ); Tue, 2 Jun 2015 06:02:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36715 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753146AbbFBKCf (ORCPT ); Tue, 2 Jun 2015 06:02:35 -0400 Date: Tue, 2 Jun 2015 18:06:06 +0800 From: Minfei Huang To: Miroslav Benes Cc: Minfei Huang , Josh Poimboeuf , "sjenning@redhat.com" , Jiri Kosina , =?utf-8?Q?Vojt=C4=9Bch_Pavl=C3=ADk?= , "live-patching@vger.kernel.org" , "linux-kernel@vger.kernel.org" , pmladek@suse.cz Subject: Re: [PATCH] livepatch: add module locking around kallsyms calls Message-ID: <20150602100606.GA17412@dhcp-128-1.nay.redhat.com> References: <1433173717-20885-1-git-send-email-mbenes@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1774 Lines: 46 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/