From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161894AbcFGQwf (ORCPT ); Tue, 7 Jun 2016 12:52:35 -0400 Received: from mail.skyhub.de ([78.46.96.112]:58896 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161343AbcFGQwb (ORCPT ); Tue, 7 Jun 2016 12:52:31 -0400 From: Borislav Petkov To: linux-edac Cc: Tony Luck , Yazen Ghannam , X86 ML , LKML Subject: [RFC PATCH 4/4] x86/mce-inject: Use debugfs_remove_recursive() Date: Tue, 7 Jun 2016 18:52:25 +0200 Message-Id: <1465318345-22043-5-git-send-email-bp@alien8.de> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1465318345-22043-1-git-send-email-bp@alien8.de> References: <1465318345-22043-1-git-send-email-bp@alien8.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Borislav Petkov ... and simplify a bit. No functionality change. Signed-off-by: Borislav Petkov --- arch/x86/kernel/cpu/mcheck/mce-inject.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce-inject.c b/arch/x86/kernel/cpu/mcheck/mce-inject.c index f1d8d3f9ec1d..675d2da3d31f 100644 --- a/arch/x86/kernel/cpu/mcheck/mce-inject.c +++ b/arch/x86/kernel/cpu/mcheck/mce-inject.c @@ -676,8 +676,8 @@ static struct dfs_node { static int __init debugfs_init(void) { - int i; u64 cap; + int i; rdmsrl(MSR_IA32_MCG_CAP, cap); n_banks = cap & MCG_BANKCNT_MASK; @@ -700,28 +700,12 @@ static int __init debugfs_init(void) return 0; err_dfs_add: - while (--i >= 0) - debugfs_remove(dfs_fls[i].d); - - debugfs_remove(dfs_inj); + debugfs_remove_recursive(dfs_inj); dfs_inj = NULL; return -ENOMEM; } -static void __exit debugfs_exit(void) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(dfs_fls); i++) - debugfs_remove(dfs_fls[i].d); - - memset(&dfs_fls, 0, sizeof(dfs_fls)); - - debugfs_remove(dfs_inj); - dfs_inj = NULL; -} - static int inject_init(void) { int err; @@ -752,6 +736,16 @@ module_init(inject_init); * guarantee all openers of mce_chrdev will get a reference to us. */ #ifndef CONFIG_X86_MCELOG +static void __exit debugfs_exit(void) +{ + debugfs_remove_recursive(dfs_inj); + dfs_inj = NULL; + + unregister_nmi_handler(NMI_LOCAL, "mce_notify"); + + free_cpumask_var(mce_inject_cpumask); +} + module_exit(debugfs_exit); #endif -- 2.7.3