Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5464755ybi; Wed, 12 Jun 2019 03:00:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqxI1k4Vsnpal98z6dGgxEBWRzQRw8bMSHHMEBlft/LPWcVkEWOPka1nIdGFw0hht2dgbmhB X-Received: by 2002:a17:902:bb90:: with SMTP id m16mr13979701pls.54.1560333647043; Wed, 12 Jun 2019 03:00:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560333647; cv=none; d=google.com; s=arc-20160816; b=zkZHqlJ23KPJ9P2CO7Sz9slMQshc4g55Fuc4QXEhsn+fyY7JFhTG43EZDr3YGOBFU9 fqNgWkOdwVZNjxc+/YYVfhZCQsDaRNWFot91vK/qtUxae61r5qidFXudJlS3NGYdCHuj OwkBzjt8tZCjS0nycBq92fAJbfhjh2wsyrmnToHlAxvRiAAgHLtaJuqWYgSAsFn+x0cs NEaOeait6Y2wF8QrDuE/TJLhdVB6/0aGP5XyPurONmCSpqCI6ezihg4OrhoQybWG56lK kaSB4WVvXC6tJt86k0dv48Yh8Xg1nzuFUFrWsoLZEt9KynXxCR2x5RgID4aWANybKScG SbAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=AMlgJmKjueHCf6nZJXMZB6WkJZdCE4lmeip8Wkc0Gb0=; b=TjaiLldm1YHzL4xCv/yRBt4eKTzhjqkOTdxnXMhZEdRPDTvOw+tubl3wqsje8tjpp5 JQWoXfUq5tslhrLPSAbdVQTA9j+Sf2BaSg6ig4Sjh2yqr1nP+xboMhFUqUvgAry6ZZ8h KxJc3go8biN3lbaKC6lxWIxXLcS7hKo7I6qtzV/S+IzlQRF8m1ClqVJJl60iGuGSPNwX RxzNc8cHqBp3UuvDcFag0j0zJ/S/tLtMoCXNp3nTEJbRcTsHPXgDByjJoYtCBVQC3zzj fNugBA6IZMv0f0XLzMq4JTSWaPOsDFs1J4Twiaw6c5LCt+v3Hbq7oIakJ6D109UTVCKv 1rMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=H5XGG3bo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l3si16148387pgl.560.2019.06.12.03.00.29; Wed, 12 Jun 2019 03:00:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=H5XGG3bo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731999AbfFLJ6m (ORCPT + 99 others); Wed, 12 Jun 2019 05:58:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:55448 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726878AbfFLJ6m (ORCPT ); Wed, 12 Jun 2019 05:58:42 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 28B22208C2; Wed, 12 Jun 2019 09:58:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1560333521; bh=rd5QVACaIHkIaNCptV/ZkwpcoLClv4T852TI2/wT5Yo=; h=From:To:Cc:Subject:Date:From; b=H5XGG3bogdKthXXEi8pCIuAPXjcjVvvVcqNlQxJx/UL+GdX6sgFwP2ZinO3hzwYJ9 9H7TEoN3rejBBOTu6wFxG+dwwQBDmr2U09r/IGs1BknnOevagSSyz6mLvajNkHGfDx uYbUHxgqnS/pVaFj8QThNfcMOAe+rvd3TMNza1gY= From: Greg Kroah-Hartman To: akinobu.mita@gmail.com Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH] fault-inject: clean up debugfs file creation logic Date: Wed, 12 Jun 2019 11:58:28 +0200 Message-Id: <20190612095828.17936-1-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is no need to check the return value of a debugfs_create_file call, a caller should never change what they do depending on if debugfs is working properly or not, so remove the checks, simplifying the logic in the file a lot. Also fix up the error check for debugfs_create_dir() which was not returning NULL for an error, but rather a error pointer. Cc: Akinobu Mita Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- lib/fault-inject.c | 73 +++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 47 deletions(-) diff --git a/lib/fault-inject.c b/lib/fault-inject.c index 3cb21b2bf088..8186ca84910b 100644 --- a/lib/fault-inject.c +++ b/lib/fault-inject.c @@ -166,10 +166,10 @@ static int debugfs_ul_get(void *data, u64 *val) DEFINE_SIMPLE_ATTRIBUTE(fops_ul, debugfs_ul_get, debugfs_ul_set, "%llu\n"); -static struct dentry *debugfs_create_ul(const char *name, umode_t mode, - struct dentry *parent, unsigned long *value) +static void debugfs_create_ul(const char *name, umode_t mode, + struct dentry *parent, unsigned long *value) { - return debugfs_create_file(name, mode, parent, value, &fops_ul); + debugfs_create_file(name, mode, parent, value, &fops_ul); } #ifdef CONFIG_FAULT_INJECTION_STACKTRACE_FILTER @@ -185,12 +185,11 @@ static int debugfs_stacktrace_depth_set(void *data, u64 val) DEFINE_SIMPLE_ATTRIBUTE(fops_stacktrace_depth, debugfs_ul_get, debugfs_stacktrace_depth_set, "%llu\n"); -static struct dentry *debugfs_create_stacktrace_depth( - const char *name, umode_t mode, - struct dentry *parent, unsigned long *value) +static void debugfs_create_stacktrace_depth(const char *name, umode_t mode, + struct dentry *parent, + unsigned long *value) { - return debugfs_create_file(name, mode, parent, value, - &fops_stacktrace_depth); + debugfs_create_file(name, mode, parent, value, &fops_stacktrace_depth); } #endif /* CONFIG_FAULT_INJECTION_STACKTRACE_FILTER */ @@ -202,51 +201,31 @@ struct dentry *fault_create_debugfs_attr(const char *name, struct dentry *dir; dir = debugfs_create_dir(name, parent); - if (!dir) - return ERR_PTR(-ENOMEM); - - if (!debugfs_create_ul("probability", mode, dir, &attr->probability)) - goto fail; - if (!debugfs_create_ul("interval", mode, dir, &attr->interval)) - goto fail; - if (!debugfs_create_atomic_t("times", mode, dir, &attr->times)) - goto fail; - if (!debugfs_create_atomic_t("space", mode, dir, &attr->space)) - goto fail; - if (!debugfs_create_ul("verbose", mode, dir, &attr->verbose)) - goto fail; - if (!debugfs_create_u32("verbose_ratelimit_interval_ms", mode, dir, - &attr->ratelimit_state.interval)) - goto fail; - if (!debugfs_create_u32("verbose_ratelimit_burst", mode, dir, - &attr->ratelimit_state.burst)) - goto fail; - if (!debugfs_create_bool("task-filter", mode, dir, &attr->task_filter)) - goto fail; + if (IS_ERR(dir)) + return dir; + + debugfs_create_ul("probability", mode, dir, &attr->probability); + debugfs_create_ul("interval", mode, dir, &attr->interval); + debugfs_create_atomic_t("times", mode, dir, &attr->times); + debugfs_create_atomic_t("space", mode, dir, &attr->space); + debugfs_create_ul("verbose", mode, dir, &attr->verbose); + debugfs_create_u32("verbose_ratelimit_interval_ms", mode, dir, + &attr->ratelimit_state.interval); + debugfs_create_u32("verbose_ratelimit_burst", mode, dir, + &attr->ratelimit_state.burst); + debugfs_create_bool("task-filter", mode, dir, &attr->task_filter); #ifdef CONFIG_FAULT_INJECTION_STACKTRACE_FILTER - - if (!debugfs_create_stacktrace_depth("stacktrace-depth", mode, dir, - &attr->stacktrace_depth)) - goto fail; - if (!debugfs_create_ul("require-start", mode, dir, - &attr->require_start)) - goto fail; - if (!debugfs_create_ul("require-end", mode, dir, &attr->require_end)) - goto fail; - if (!debugfs_create_ul("reject-start", mode, dir, &attr->reject_start)) - goto fail; - if (!debugfs_create_ul("reject-end", mode, dir, &attr->reject_end)) - goto fail; - + debugfs_create_stacktrace_depth("stacktrace-depth", mode, dir, + &attr->stacktrace_depth); + debugfs_create_ul("require-start", mode, dir, &attr->require_start); + debugfs_create_ul("require-end", mode, dir, &attr->require_end); + debugfs_create_ul("reject-start", mode, dir, &attr->reject_start); + debugfs_create_ul("reject-end", mode, dir, &attr->reject_end); #endif /* CONFIG_FAULT_INJECTION_STACKTRACE_FILTER */ attr->dname = dget(dir); return dir; -fail: - debugfs_remove_recursive(dir); - - return ERR_PTR(-ENOMEM); } EXPORT_SYMBOL_GPL(fault_create_debugfs_attr); -- 2.22.0