Commit 39c06704 authored by Borislav Petkov (AMD)'s avatar Borislav Petkov (AMD) Committed by PrithivishS
Browse files

RAS: Export helper to get ras_debugfs_dir

mainline inclusion
from mainline-v6.9-rc1
commit 9d2b6fa09d15d021fb83ec6f1336176ebaebbeec
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IAYOV8
CVE: NA

Reference: https://github.com/torvalds/linux/commit/9d2b6fa09d15d021fb83ec6f1336176ebaebbeec



--------------------------------

commit 9d2b6fa09d15d021fb83ec6f1336176ebaebbeec upstream.

Export a getter instead of the debugfs node directly so that, other
in-tree-only RAS modules can use it.

Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: default avatarYazen Ghannam <yazen.ghannam@amd.com>
Link: https://lore.kernel.org/r/20240301143748.854090-2-yazen.ghannam@amd.com


Signed-off-by: default avatarJeevan deep J <j.jeevandeep@amd.com>
Signed-off-by: default avatarPrithivishS <sprithiv@amd.com>
parent c6007e25
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -480,9 +480,15 @@ DEFINE_SHOW_ATTRIBUTE(array);

static int __init create_debugfs_nodes(void)
{
	struct dentry *d, *pfn, *decay, *count, *array;
	struct dentry *d, *pfn, *decay, *count, *array, *dfs;

	d = debugfs_create_dir("cec", ras_debugfs_dir);
	dfs = ras_get_debugfs_root();
	if (!dfs) {
		pr_warn("Error getting RAS debugfs root!\n");
		return -1;
	}

	d = debugfs_create_dir("cec", dfs);
	if (!d) {
		pr_warn("Error creating cec debugfs node!\n");
		return -1;
+7 −1
Original line number Diff line number Diff line
@@ -3,10 +3,16 @@
#include <linux/ras.h>
#include "debugfs.h"

struct dentry *ras_debugfs_dir;
static struct dentry *ras_debugfs_dir;

static atomic_t trace_count = ATOMIC_INIT(0);

struct dentry *ras_get_debugfs_root(void)
{
	return ras_debugfs_dir;
}
EXPORT_SYMBOL_GPL(ras_get_debugfs_root);

int ras_userspace_consumers(void)
{
	return atomic_read(&trace_count);
+1 −1
Original line number Diff line number Diff line
@@ -4,6 +4,6 @@

#include <linux/debugfs.h>

extern struct dentry *ras_debugfs_dir;
struct dentry *ras_get_debugfs_root(void);

#endif /* __RAS_DEBUGFS_H__ */