From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754786AbcA3ACw (ORCPT ); Fri, 29 Jan 2016 19:02:52 -0500 Received: from smtprelay0175.hostedemail.com ([216.40.44.175]:40584 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753425AbcA3ACu (ORCPT ); Fri, 29 Jan 2016 19:02:50 -0500 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2198:2199:2393:2553:2559:2562:2693:3138:3139:3140:3141:3142:3352:3622:3865:3866:3868:3871:3872:4321:5007:6261:7875:8660:10004:10400:10848:10967:11026:11232:11473:11658:11914:12043:12296:12438:12517:12519:12555:12740:13069:13148:13230:13311:13357:14096:14097:14659:21063:21080:30029:30045:30051:30054:30075:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:1,LUA_SUMMARY:none X-HE-Tag: pull67_188bc6e0cdc60 X-Filterd-Recvd-Size: 2832 Date: Fri, 29 Jan 2016 19:02:47 -0500 From: Steven Rostedt To: Jessica Yu Cc: Josh Poimboeuf , Miroslav Benes , Seth Jennings , Jiri Kosina , Vojtech Pavlik , Ingo Molnar , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org, Rusty Russell Subject: Re: livepatch: Implement separate coming and going module notifiers Message-ID: <20160129190247.628cf295@gandalf.local.home> In-Reply-To: <20160129225829.GC14026@packer-debian-8-amd64.digitalocean.com> References: <1454049827-3726-1-git-send-email-jeyu@redhat.com> <1454049827-3726-2-git-send-email-jeyu@redhat.com> <20160129173010.GA19101@treble.redhat.com> <20160129124014.204020ed@gandalf.local.home> <20160129175834.GB19101@treble.redhat.com> <20160129194223.GC19101@treble.redhat.com> <20160129225829.GC14026@packer-debian-8-amd64.digitalocean.com> X-Mailer: Claws Mail 3.13.1 (GTK+ 2.24.29; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 29 Jan 2016 17:58:29 -0500 Jessica Yu wrote: > diff --git a/kernel/module.c b/kernel/module.c > index 8358f46..eccd289 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -979,8 +979,12 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user, > /* Final destruction now no one is using it. */ > if (mod->exit != NULL) > mod->exit(); > blocking_notifier_call_chain(&module_notify_list, > MODULE_STATE_GOING, mod); > + klp_module_disable(mod); > + ftrace_release_mod(mod); > + > async_synchronize_full(); > > /* Store the name of the last unloaded module for diagnostic purposes */ > @@ -3371,6 +3375,13 @@ static int complete_formation(struct module *mod, struct load_info *info) > mod->state = MODULE_STATE_COMING; > mutex_unlock(&module_mutex); > > + ftrace_module_enable(mod); > + err = klp_module_enable(mod); // write all relocations before calling coming notifiers > + if (err) { > + ftrace_release_mod(mod); This isn't needed. If complete_formation() fails with an error, then its caller (load_module) will do the clean up and call ftrace_release_mod(). -- Steve > + goto out; > + } > + > blocking_notifier_call_chain(&module_notify_list, > MODULE_STATE_COMING, mod); > return 0; >