From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: edac: no need to check return value of debugfs_create functions From: Greg Kroah-Hartman Message-Id: <20190122152151.16139-17-gregkh@linuxfoundation.org> Date: Tue, 22 Jan 2019 16:21:16 +0100 To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Borislav Petkov , Mauro Carvalho Chehab , linux-edac@vger.kernel.org List-ID: V2hlbiBjYWxsaW5nIGRlYnVnZnMgZnVuY3Rpb25zLCB0aGVyZSBpcyBubyBuZWVkIHRvIGV2ZXIg Y2hlY2sgdGhlCnJldHVybiB2YWx1ZS4gIFRoZSBmdW5jdGlvbiBjYW4gd29yayBvciBub3QsIGJ1 dCB0aGUgY29kZSBsb2dpYyBzaG91bGQKbmV2ZXIgZG8gc29tZXRoaW5nIGRpZmZlcmVudCBiYXNl ZCBvbiB0aGlzLgoKQ2M6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPgpDYzogTWF1cm8g Q2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFiQGtlcm5lbC5vcmc+CkNjOiBsaW51eC1lZGFjQHZnZXIu a2VybmVsLm9yZwpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51 eGZvdW5kYXRpb24ub3JnPgotLS0KIGRyaXZlcnMvZWRhYy9kZWJ1Z2ZzLmMgICAgIHwgNDUgKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZWRhYy9lZGFjX21v ZHVsZS5oIHwgIDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvZGVidWdmcy5jIGIvZHJpdmVy cy9lZGFjL2RlYnVnZnMuYwppbmRleCA5MmRiYjdlMjMyMGMuLmZkMjdlYTA0NTNhMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9lZGFjL2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2VkYWMvZGVidWdmcy5j CkBAIC00NCwxMCArNDQsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBk ZWJ1Z19mYWtlX2luamVjdF9mb3BzID0gewogaW50IF9faW5pdCBlZGFjX2RlYnVnZnNfaW5pdCh2 b2lkKQogewogCWVkYWNfZGVidWdmcyA9IGRlYnVnZnNfY3JlYXRlX2RpcigiZWRhYyIsIE5VTEwp OwotCWlmIChJU19FUlIoZWRhY19kZWJ1Z2ZzKSkgewotCQllZGFjX2RlYnVnZnMgPSBOVUxMOwot CQlyZXR1cm4gLUVOT01FTTsKLQl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU2LDUwICs1MiwzMSBA QCB2b2lkIGVkYWNfZGVidWdmc19leGl0KHZvaWQpCiAJZGVidWdmc19yZW1vdmVfcmVjdXJzaXZl KGVkYWNfZGVidWdmcyk7CiB9CiAKLWludCBlZGFjX2NyZWF0ZV9kZWJ1Z2ZzX25vZGVzKHN0cnVj dCBtZW1fY3RsX2luZm8gKm1jaSkKK3ZvaWQgZWRhY19jcmVhdGVfZGVidWdmc19ub2RlcyhzdHJ1 Y3QgbWVtX2N0bF9pbmZvICptY2kpCiB7Ci0Jc3RydWN0IGRlbnRyeSAqZCwgKnBhcmVudDsKKwlz dHJ1Y3QgZGVudHJ5ICpwYXJlbnQ7CiAJY2hhciBuYW1lWzgwXTsKIAlpbnQgaTsKIAotCWlmICgh ZWRhY19kZWJ1Z2ZzKQotCQlyZXR1cm4gLUVOT0RFVjsKLQotCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV9k aXIobWNpLT5kZXYua29iai5uYW1lLCBlZGFjX2RlYnVnZnMpOwotCWlmICghZCkKLQkJcmV0dXJu IC1FTk9NRU07Ci0JcGFyZW50ID0gZDsKKwlwYXJlbnQgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIobWNp LT5kZXYua29iai5uYW1lLCBlZGFjX2RlYnVnZnMpOwogCiAJZm9yIChpID0gMDsgaSA8IG1jaS0+ bl9sYXllcnM7IGkrKykgewogCQlzcHJpbnRmKG5hbWUsICJmYWtlX2luamVjdF8lcyIsCiAJCQkg ICAgIGVkYWNfbGF5ZXJfbmFtZVttY2ktPmxheWVyc1tpXS50eXBlXSk7Ci0JCWQgPSBkZWJ1Z2Zz X2NyZWF0ZV91OChuYW1lLCBTX0lSVUdPIHwgU19JV1VTUiwgcGFyZW50LAotCQkJCSAgICAgICZt Y2ktPmZha2VfaW5qZWN0X2xheWVyW2ldKTsKLQkJaWYgKCFkKQotCQkJZ290byBub21lbTsKKwkJ ZGVidWdmc19jcmVhdGVfdTgobmFtZSwgU19JUlVHTyB8IFNfSVdVU1IsIHBhcmVudCwKKwkJCQkg ICZtY2ktPmZha2VfaW5qZWN0X2xheWVyW2ldKTsKIAl9CiAKLQlkID0gZGVidWdmc19jcmVhdGVf Ym9vbCgiZmFrZV9pbmplY3RfdWUiLCBTX0lSVUdPIHwgU19JV1VTUiwgcGFyZW50LAotCQkJCSZt Y2ktPmZha2VfaW5qZWN0X3VlKTsKLQlpZiAoIWQpCi0JCWdvdG8gbm9tZW07CisJZGVidWdmc19j cmVhdGVfYm9vbCgiZmFrZV9pbmplY3RfdWUiLCBTX0lSVUdPIHwgU19JV1VTUiwgcGFyZW50LAor CQkJICAgICZtY2ktPmZha2VfaW5qZWN0X3VlKTsKIAotCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV91MTYo ImZha2VfaW5qZWN0X2NvdW50IiwgU19JUlVHTyB8IFNfSVdVU1IsIHBhcmVudCwKLQkJCQkmbWNp LT5mYWtlX2luamVjdF9jb3VudCk7Ci0JaWYgKCFkKQotCQlnb3RvIG5vbWVtOworCWRlYnVnZnNf Y3JlYXRlX3UxNigiZmFrZV9pbmplY3RfY291bnQiLCBTX0lSVUdPIHwgU19JV1VTUiwgcGFyZW50 LAorCQkJICAgJm1jaS0+ZmFrZV9pbmplY3RfY291bnQpOwogCi0JZCA9IGRlYnVnZnNfY3JlYXRl X2ZpbGUoImZha2VfaW5qZWN0IiwgU19JV1VTUiwgcGFyZW50LAotCQkJCSZtY2ktPmRldiwKLQkJ CQkmZGVidWdfZmFrZV9pbmplY3RfZm9wcyk7Ci0JaWYgKCFkKQotCQlnb3RvIG5vbWVtOworCWRl YnVnZnNfY3JlYXRlX2ZpbGUoImZha2VfaW5qZWN0IiwgU19JV1VTUiwgcGFyZW50LCAmbWNpLT5k ZXYsCisJCQkgICAgJmRlYnVnX2Zha2VfaW5qZWN0X2ZvcHMpOwogCiAJbWNpLT5kZWJ1Z2ZzID0g cGFyZW50OwotCXJldHVybiAwOwotbm9tZW06Ci0JZWRhY19kZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNp dmUobWNpLT5kZWJ1Z2ZzKTsKLQlyZXR1cm4gLUVOT01FTTsKIH0KIAogLyogQ3JlYXRlIGEgdG9w bGV2ZWwgZGlyIHVuZGVyIEVEQUMncyBkZWJ1Z2ZzIGhpZXJhcmNoeSAqLwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9lZGFjL2VkYWNfbW9kdWxlLmggYi9kcml2ZXJzL2VkYWMvZWRhY19tb2R1bGUuaApp bmRleCBkZWM4OGRjZWEwMzYuLmJjNjNhNmE5ZGQwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9lZGFj L2VkYWNfbW9kdWxlLmgKKysrIGIvZHJpdmVycy9lZGFjL2VkYWNfbW9kdWxlLmgKQEAgLTcxLDcg KzcxLDcgQEAgZXh0ZXJuIHZvaWQgKmVkYWNfYWxpZ25fcHRyKHZvaWQgKipwLCB1bnNpZ25lZCBz aXplLCBpbnQgbl9lbGVtcyk7CiAjaWZkZWYgQ09ORklHX0VEQUNfREVCVUcKIGludCBlZGFjX2Rl YnVnZnNfaW5pdCh2b2lkKTsKIHZvaWQgZWRhY19kZWJ1Z2ZzX2V4aXQodm9pZCk7Ci1pbnQgZWRh Y19jcmVhdGVfZGVidWdmc19ub2RlcyhzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2kpOwordm9pZCBl ZGFjX2NyZWF0ZV9kZWJ1Z2ZzX25vZGVzKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSk7CiBzdHJ1 Y3QgZGVudHJ5ICplZGFjX2RlYnVnZnNfY3JlYXRlX2Rpcihjb25zdCBjaGFyICpkaXJuYW1lKTsK IHN0cnVjdCBkZW50cnkgKgogZWRhY19kZWJ1Z2ZzX2NyZWF0ZV9kaXJfYXQoY29uc3QgY2hhciAq ZGlybmFtZSwgc3RydWN0IGRlbnRyeSAqcGFyZW50KTsKQEAgLTg1LDcgKzg1LDcgQEAgZWRhY19k ZWJ1Z2ZzX2NyZWF0ZV94MTYoY29uc3QgY2hhciAqbmFtZSwgdW1vZGVfdCBtb2RlLCBzdHJ1Y3Qg ZGVudHJ5ICpwYXJlbnQsIHUKICNlbHNlCiBzdGF0aWMgaW5saW5lIGludCBlZGFjX2RlYnVnZnNf aW5pdCh2b2lkKQkJCQkJeyByZXR1cm4gLUVOT0RFVjsgfQogc3RhdGljIGlubGluZSB2b2lkIGVk YWNfZGVidWdmc19leGl0KHZvaWQpCQkJCQl7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGVkYWNfY3Jl YXRlX2RlYnVnZnNfbm9kZXMoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQkJeyByZXR1cm4gMDsg fQorc3RhdGljIGlubGluZSB2b2lkIGVkYWNfY3JlYXRlX2RlYnVnZnNfbm9kZXMoc3RydWN0IG1l bV9jdGxfaW5mbyAqbWNpKQkJeyB9CiBzdGF0aWMgaW5saW5lIHN0cnVjdCBkZW50cnkgKmVkYWNf ZGVidWdmc19jcmVhdGVfZGlyKGNvbnN0IGNoYXIgKmRpcm5hbWUpCXsgcmV0dXJuIE5VTEw7IH0K IHN0YXRpYyBpbmxpbmUgc3RydWN0IGRlbnRyeSAqCiBlZGFjX2RlYnVnZnNfY3JlYXRlX2Rpcl9h dChjb25zdCBjaGFyICpkaXJuYW1lLCBzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQpCQl7IHJldHVybiBO VUxMOyB9Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7C41C282C5 for ; Tue, 22 Jan 2019 15:22:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8566F217D4 for ; Tue, 22 Jan 2019 15:22:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1548170547; bh=nZ0M9twGJD8LAfaJzrFl8VYsq0r/7+p6enj2M7fargA=; h=From:To:Cc:Subject:Date:List-ID:From; b=gRow7Llsvih3o61zR1dc03KVurzHBdWIyiQfloZPy9O+vXmwbsrTajO6jwu0zob6I 4+Di6Xo8VgBpoHoik3wJTqAzeqaAzvau9R+i4fqbwqkGkKLqrZC5SiexMFmGlikkt4 tIuAO/Pj04/3ipOQR9FZCIYEae018zy62gakEVL8= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729579AbfAVPW0 (ORCPT ); Tue, 22 Jan 2019 10:22:26 -0500 Received: from mail.kernel.org ([198.145.29.99]:34484 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729505AbfAVPWY (ORCPT ); Tue, 22 Jan 2019 10:22:24 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 BF1A5217D4; Tue, 22 Jan 2019 15:22:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1548170543; bh=nZ0M9twGJD8LAfaJzrFl8VYsq0r/7+p6enj2M7fargA=; h=From:To:Cc:Subject:Date:From; b=NrufUabFRi74GElQ/Aa2DE9PepN7dtTPoT5M1hEvUv6flGsGBrxsyqkW1gnZtOSwW eZunQ6qfCoPIApKHrkb+fL5TCmTNVqIreydmm9LmCd6phcRgT9/EbeEYJng98PE2oj o+eVTSAbIkcRLx/llqwOh0TO2yHoCfTuH5QAtOqM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Borislav Petkov , Mauro Carvalho Chehab , linux-edac@vger.kernel.org Subject: [PATCH] edac: no need to check return value of debugfs_create functions Date: Tue, 22 Jan 2019 16:21:16 +0100 Message-Id: <20190122152151.16139-17-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 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 When calling debugfs functions, there is no need to ever check the return value. The function can work or not, but the code logic should never do something different based on this. Cc: Borislav Petkov Cc: Mauro Carvalho Chehab Cc: linux-edac@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/edac/debugfs.c | 45 ++++++++++---------------------------- drivers/edac/edac_module.h | 4 ++-- 2 files changed, 13 insertions(+), 36 deletions(-) diff --git a/drivers/edac/debugfs.c b/drivers/edac/debugfs.c index 92dbb7e2320c..fd27ea0453a3 100644 --- a/drivers/edac/debugfs.c +++ b/drivers/edac/debugfs.c @@ -44,10 +44,6 @@ static const struct file_operations debug_fake_inject_fops = { int __init edac_debugfs_init(void) { edac_debugfs = debugfs_create_dir("edac", NULL); - if (IS_ERR(edac_debugfs)) { - edac_debugfs = NULL; - return -ENOMEM; - } return 0; } @@ -56,50 +52,31 @@ void edac_debugfs_exit(void) debugfs_remove_recursive(edac_debugfs); } -int edac_create_debugfs_nodes(struct mem_ctl_info *mci) +void edac_create_debugfs_nodes(struct mem_ctl_info *mci) { - struct dentry *d, *parent; + struct dentry *parent; char name[80]; int i; - if (!edac_debugfs) - return -ENODEV; - - d = debugfs_create_dir(mci->dev.kobj.name, edac_debugfs); - if (!d) - return -ENOMEM; - parent = d; + parent = debugfs_create_dir(mci->dev.kobj.name, edac_debugfs); for (i = 0; i < mci->n_layers; i++) { sprintf(name, "fake_inject_%s", edac_layer_name[mci->layers[i].type]); - d = debugfs_create_u8(name, S_IRUGO | S_IWUSR, parent, - &mci->fake_inject_layer[i]); - if (!d) - goto nomem; + debugfs_create_u8(name, S_IRUGO | S_IWUSR, parent, + &mci->fake_inject_layer[i]); } - d = debugfs_create_bool("fake_inject_ue", S_IRUGO | S_IWUSR, parent, - &mci->fake_inject_ue); - if (!d) - goto nomem; + debugfs_create_bool("fake_inject_ue", S_IRUGO | S_IWUSR, parent, + &mci->fake_inject_ue); - d = debugfs_create_u16("fake_inject_count", S_IRUGO | S_IWUSR, parent, - &mci->fake_inject_count); - if (!d) - goto nomem; + debugfs_create_u16("fake_inject_count", S_IRUGO | S_IWUSR, parent, + &mci->fake_inject_count); - d = debugfs_create_file("fake_inject", S_IWUSR, parent, - &mci->dev, - &debug_fake_inject_fops); - if (!d) - goto nomem; + debugfs_create_file("fake_inject", S_IWUSR, parent, &mci->dev, + &debug_fake_inject_fops); mci->debugfs = parent; - return 0; -nomem: - edac_debugfs_remove_recursive(mci->debugfs); - return -ENOMEM; } /* Create a toplevel dir under EDAC's debugfs hierarchy */ diff --git a/drivers/edac/edac_module.h b/drivers/edac/edac_module.h index dec88dcea036..bc63a6a9dd0a 100644 --- a/drivers/edac/edac_module.h +++ b/drivers/edac/edac_module.h @@ -71,7 +71,7 @@ extern void *edac_align_ptr(void **p, unsigned size, int n_elems); #ifdef CONFIG_EDAC_DEBUG int edac_debugfs_init(void); void edac_debugfs_exit(void); -int edac_create_debugfs_nodes(struct mem_ctl_info *mci); +void edac_create_debugfs_nodes(struct mem_ctl_info *mci); struct dentry *edac_debugfs_create_dir(const char *dirname); struct dentry * edac_debugfs_create_dir_at(const char *dirname, struct dentry *parent); @@ -85,7 +85,7 @@ edac_debugfs_create_x16(const char *name, umode_t mode, struct dentry *parent, u #else static inline int edac_debugfs_init(void) { return -ENODEV; } static inline void edac_debugfs_exit(void) { } -static inline int edac_create_debugfs_nodes(struct mem_ctl_info *mci) { return 0; } +static inline void edac_create_debugfs_nodes(struct mem_ctl_info *mci) { } static inline struct dentry *edac_debugfs_create_dir(const char *dirname) { return NULL; } static inline struct dentry * edac_debugfs_create_dir_at(const char *dirname, struct dentry *parent) { return NULL; } -- 2.20.1