Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966261AbcCQAzw (ORCPT ); Wed, 16 Mar 2016 20:55:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51951 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932684AbcCQAzv (ORCPT ); Wed, 16 Mar 2016 20:55:51 -0400 From: Jessica Yu To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Rusty Russell Cc: Steven Rostedt , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org, Jessica Yu Subject: [PATCH v3 0/2] Livepatch module notifier cleanup Date: Wed, 16 Mar 2016 20:55:37 -0400 Message-Id: <1458176139-17455-1-git-send-email-jeyu@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1720 Lines: 44 These are the remaining 2 patches that came from the original ftrace/livepatch module notifier patchset found here: https://lkml.org/lkml/2016/2/8/1180 Basically, the patchset does a bit of module.c cleanup (patch 1) in preparation for the klp_module_{coming,going} calls (patch 2). We decided to stop relying on the module notifier callchain in favor of hard-coding the appropriate livepatch function calls that handle coming and going modules. Hard-coding these calls will guarantee that ftrace and livepatch exit/initialization routines are called in the correct order without relying on module notifiers. The patches should be nearly exactly the same as those from the previous discussion, except in patch 2 I've added back the #if IS_ENABLED(CONFIG_LIVEPATCH) guard in livepatch.h. Patches based on linux-next. v2 discussion found here: https://lkml.kernel.org/g/1457726628-9171-1-git-send-email-jeyu@redhat.com v3: - Remove confusing comment above klp_module_going() - Place prepare_coming_module() after complete_formation() - Fix small race in klp_module_coming() by setting mod->klp_alive to false in the error path v2: - we don't need to change mod->state to GOING when cleaning up during failed module load - modify mod->state check to allow klp_module_going() to be called in both COMING and GOING states Jessica Yu (2): modules: split part of complete_formation() into prepare_coming_module() livepatch/module: remove livepatch module notifier include/linux/livepatch.h | 13 ++++ kernel/livepatch/core.c | 147 ++++++++++++++++++++++------------------------ kernel/module.c | 36 +++++++++--- 3 files changed, 112 insertions(+), 84 deletions(-) -- 2.4.3