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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: SeongJae Park <sjpark@xxxxxxxxx>

On Tue, 30 Mar 2021 11:22:45 +0200 Greg KH <greg@xxxxxxxxx> wrote:

> On Tue, Mar 30, 2021 at 09:05:31AM +0000, sj38.park@xxxxxxxxx wrote:
> > +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.

> 
> 
> > +	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.

> 
> > +	dbgfs_ctxs[0] = dbgfs_new_ctx();
> > +	if (!dbgfs_ctxs[0])
> > +		return -ENOMEM;
> > +	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

> 
> thanks,
> 
> greg k-h




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux