From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754044AbbDMKUc (ORCPT ); Mon, 13 Apr 2015 06:20:32 -0400 Received: from cantor2.suse.de ([195.135.220.15]:56333 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753709AbbDMKU1 (ORCPT ); Mon, 13 Apr 2015 06:20:27 -0400 Date: Mon, 13 Apr 2015 12:22:41 +0200 From: Petr Mladek To: Minfei Huang Cc: jpoimboe@redhat.com, sjenning@redhat.com, jkosina@suse.cz, vojtech@suse.cz, live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] livepatch: Add a new function to verify the address and name match for extra module Message-ID: <20150413102240.GE16088@pathway.suse.cz> References: <1428844554-4015-1-git-send-email-minfei.huang@hotmail.com> <20150413083725.GA16088@pathway.suse.cz> <20150413094121.GD16088@pathway.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 On Mon 2015-04-13 17:50:23, Minfei Huang wrote: > On 04/13/15 at 11:41P, Petr Mladek wrote: > > On Mon 2015-04-13 17:11:19, Minfei Huang wrote: > > > On 04/13/15 at 10:37P, Petr Mladek wrote: > > > > On Sun 2015-04-12 21:15:53, Minfei Huang wrote: > > > > > In order to restrict the patch, we can verify the provided function > > > > > address and name match. Now we have can only verify the vmlinux function > > > > > name and address. > > > > > > > > > > Add a new function to verify extra module function name and address. The > > > > > patch would not be patched, if the function name and address are not > > > > > matched. > > > > > > > > old_addr could be predefined only for vmlinux. It does not make sense > > > > to define it for modules because they are loaded dynamically, each > > > > time on a different addresses. It means that it does not make sense > > > > to verify addresses from modules. They always need to be detected. > > > > > > > > > > Please correct me if there is something wrong for below comment. > > > > > > As commented in the doc that function address is optional, it is more > > > confortable during patching the patch, if function name and address are > > > provided. > > > > > > For now we only use function name to detect the module function. It is > > > more accurate to detect the function using function name and address. > > > > I think that it is the other way. It is easier to create patch without > > the addresses. It is enough for most patches. > > > > The function address is needed only if there are more functions of > > the same name. There are only few in vmlinux. > > > > We currently does not allow to handle name conflicts inside a module. > > But the chance is very small that there will be such a conflict. > > Do you know about any module that could not be patched because > > of this? > > > > Yes, the function name exceeding to 128 is not happened, in general. > But I donot think it is the reason that livepatch donot support this > case. > > Patched these patches, we can still use function name to detect function > for both vmlinux and extra module. > > It is poisonless that we support to verify both function name and > address to detect function for extra module. Please, read my previous mails. We do not know old_addr for modules at build time. Therefore we could solve this problem easily for modules. I think that the whole problem is rather theoretical and it is not worth spending time on it. Best Regards, Petr