Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751718AbbBQQB4 (ORCPT ); Tue, 17 Feb 2015 11:01:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:54874 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750807AbbBQQBy (ORCPT ); Tue, 17 Feb 2015 11:01:54 -0500 Date: Tue, 17 Feb 2015 10:01:47 -0600 From: Josh Poimboeuf To: Miroslav Benes Cc: Seth Jennings , Jiri Kosina , Vojtech Pavlik , Masami Hiramatsu , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 6/9] livepatch: create per-task consistency model Message-ID: <20150217160147.GH11861@treble.redhat.com> References: <2c3d1e685dae5cccc2dfdb1b24c241b2f1c89348.1423499826.git.jpoimboe@redhat.com> <20150217151048.GF11861@treble.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2012 Lines: 56 On Tue, Feb 17, 2015 at 04:48:39PM +0100, Miroslav Benes wrote: > On Tue, 17 Feb 2015, Josh Poimboeuf wrote: > > > On Mon, Feb 16, 2015 at 03:19:10PM +0100, Miroslav Benes wrote: > > > On Mon, 9 Feb 2015, Josh Poimboeuf wrote: > > > > > [...] > > > > > + > > > > +void klp_unpatch_objects(struct klp_patch *patch) > > > > +{ > > > > + struct klp_object *obj; > > > > + > > > > + for (obj = patch->objs; obj->funcs; obj++) > > > > + if (obj->patched) > > > > + klp_unpatch_object(obj); > > > > +} > > > > > > Maybe we should introduce for_each_* macros which could be used in the > > > code and avoid such functions. I do not have strong opinion about it. > > > > Yeah, but each such loop seems to differ a little bit, so I'm not quite > > sure how to structure the macros such that they'd be useful. Maybe for > > a future patch. > > Yes, that is correct. The code in the caller of klp_unpatch_objects would > look something like this > > klp_for_each_object(obj, patch->objs) > if (obj->patched) > klp_unpatch_object(obj) Yeah, that is slightly more readable and less error prone. I'll do it. > > > and externs for functions are redundant. > > > > I agree, but it seems to be the norm in Linux. I have no idea why. I'm > > just following the existing convention. > > Yes, I know. It seems that each author does it differently. You can find > both forms even in one header file in the kernel. There is no functional > difference AFAIK (it is not the case for variables of course). So as long > as we are consistent I do not care. And since we have externs already in > livepatch.h... you can scratch this remark if you want to :) Ok. If there are no objections, let's stick with our existing nonsensical convention for now :-) -- Josh -- 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/