Thread (17 messages) 17 messages, 2 authors, 2021-03-30

Re: [PATCH v26 07/13] mm/damon: Implement a debugfs-based user space interface

From: SeongJae Park <hidden>
Date: 2021-03-30 10:21:14
Also in: linux-mm, lkml

From: SeongJae Park <redacted>

On Tue, 30 Mar 2021 09:59:50 +0000 SeongJae Park [off-list ref] wrote:
From: SeongJae Park <redacted>

On Tue, 30 Mar 2021 11:22:45 +0200 Greg KH [off-list ref] wrote:
quoted
On Tue, Mar 30, 2021 at 09:05:31AM +0000, sj38.park@gmail.com wrote:
quoted
+static int __init __damon_dbgfs_init(void)
+{
+	struct dentry *dbgfs_root;
+	const char * const file_names[] = {"monitor_on"};
+	const struct file_operations *fops[] = {&monitor_on_fops};
+	int i;
+
+	dbgfs_root = debugfs_create_dir("damon", NULL);
+
+	for (i = 0; i < ARRAY_SIZE(file_names); i++)
+		debugfs_create_file(file_names[i], 0600, dbgfs_root, NULL,
+				fops[i]);
+	dbgfs_fill_ctx_dir(dbgfs_root, dbgfs_ctxs[0]);
+
+	dbgfs_dirs = kmalloc_array(1, sizeof(dbgfs_root), GFP_KERNEL);
No error checking for memory allocation failures?
Oops, I will add the check in the next spin.
quoted
quoted
+	dbgfs_dirs[0] = dbgfs_root;
+
+	return 0;
+}
+
+/*
+ * Functions for the initialization
+ */
+
+static int __init damon_dbgfs_init(void)
+{
+	int rc;
+
+	dbgfs_ctxs = kmalloc(sizeof(*dbgfs_ctxs), GFP_KERNEL);
No error checking?
Will add in the next spin.
quoted
quoted
+	dbgfs_ctxs[0] = dbgfs_new_ctx();
+	if (!dbgfs_ctxs[0])
+		return -ENOMEM;
And, I found that I'm not printing the error for this failure.  I guess this
might made you to to think below error message should printed inside the
callee.

I will add 'pr_err()' here and above unchecked failure case, in the next
version.

BTW, I forgot saying thank you for your review.  Appreciate!


Thanks,
SeongJae Park
quoted
quoted
+	dbgfs_nr_ctxs = 1;
+
+	rc = __damon_dbgfs_init();
+	if (rc)
+		pr_err("%s: dbgfs init failed\n", __func__);
Shouldn't the error be printed out in the function that failed, not in
this one?
I thought some other functions (in future) might want to use
'__damon_dbgfs_init()' but siletnly handles it's failure.  Therefore I made the
function fails silently but returns the error code explicitly.  Am I missing
somthing?


Thanks,
SeongJae Park
quoted
thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help