[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171219163014.1434bb62@cakuba.netronome.com>
Date: Tue, 19 Dec 2017 16:30:14 -0800
From: Jakub Kicinski <jakub.kicinski@...ronome.com>
To: "Prashant Bhole" <bhole_prashant_q7@....ntt.co.jp>
Cc: "'David Miller'" <davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] netdevsim: correctly check return value of
debugfs_create_dir
On Wed, 20 Dec 2017 09:16:01 +0900, Prashant Bhole wrote:
> > From: David Miller [mailto:davem@...emloft.net]
> >
> > From: "Prashant Bhole" <bhole_prashant_q7@....ntt.co.jp>
> > Date: Tue, 19 Dec 2017 13:45:47 +0900
> >
> > > I tried to evaluate whether fixing return value of
> > > debugfs_create_dir() (and
> > > friends) will be useful or not because it has not been changed since
> > > very long time. Now I am not much convinced about changing this api.
> > >
> > > Important and possible error codes could be -EEXIST and -ENOMEM.
> > > Suppose -EEXIST is returned, IMO the directory shouldn't exists in the
> > > first place because it is specific to particular module. Also, there
> > > is no point in creating file in such directory, because directory
> > > owner (creator) might remove it too. This means there are less chances
> > > that api change will be useful. Please let me know your opinion on it.
> > >
> > > If you are ok with above explanation, shall I submit v2 for this patch?
> >
> > Well, something is seriously wrong if the directory exists already.
> >
> > It could be that two netdevsim modules, independantly compiled, are trying
> to
> > be loaded.
> >
> > Wouldn't it clearly be desirable to fail and not load the module in that
> case?
> >
> > This is why I think ignoring debugfs errors is foolish.
>
> Right. I am planning to do following (quoting previous mail), In debugfs
> error will not be ignored in modules load.
> -----------
> Dave,
> Thanks for comments. I will try to fix error handling in netdevsim first.
>
> Jakub,
> Let's decide with an example. The typical directory structure for netdevsim
> interface is as below:
> /sys/kernel/debug/netdevsim/sim0/bpf_bound_progs/
> Please let me know if you are ok with following:
>
> 1) If debugfs_create_dir() fails in module_init, let's keep it fatal error
> with corrected condition:
> + if (IS_ERR_OR_NULL(nsim_ddir))
> + return -ENOMEM;
Ack.
> 2) In case sim0 or bpf_bound_progs are fail to create, we need to add
> checks before creating any file in them.
What do you mean by "check before"? Checking if creation of each file
fails or not, or something different?
Powered by blists - more mailing lists