OSDN Git Service

netdevsim: correctly check return value of debugfs_create_dir
authorPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Wed, 20 Dec 2017 03:18:57 +0000 (12:18 +0900)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Dec 2017 18:58:48 +0000 (13:58 -0500)
- Checking return value with IS_ERROR_OR_NULL
- Added error handling where it was not handled

Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netdevsim/bpf.c
drivers/net/netdevsim/netdev.c

index 7799942..7da8146 100644 (file)
@@ -198,7 +198,6 @@ static int nsim_bpf_create_prog(struct netdevsim *ns, struct bpf_prog *prog)
 {
        struct nsim_bpf_bound_prog *state;
        char name[16];
-       int err;
 
        state = kzalloc(sizeof(*state), GFP_KERNEL);
        if (!state)
@@ -211,10 +210,9 @@ static int nsim_bpf_create_prog(struct netdevsim *ns, struct bpf_prog *prog)
        /* Program id is not populated yet when we create the state. */
        sprintf(name, "%u", ns->prog_id_gen++);
        state->ddir = debugfs_create_dir(name, ns->ddir_bpf_bound_progs);
-       if (IS_ERR(state->ddir)) {
-               err = PTR_ERR(state->ddir);
+       if (IS_ERR_OR_NULL(state->ddir)) {
                kfree(state);
-               return err;
+               return -ENOMEM;
        }
 
        debugfs_create_u32("id", 0400, state->ddir, &prog->aux->id);
@@ -346,6 +344,8 @@ int nsim_bpf_init(struct netdevsim *ns)
                           &ns->bpf_bind_verifier_delay);
        ns->ddir_bpf_bound_progs =
                debugfs_create_dir("bpf_bound_progs", ns->ddir);
+       if (IS_ERR_OR_NULL(ns->ddir_bpf_bound_progs))
+               return -ENOMEM;
 
        ns->bpf_tc_accept = true;
        debugfs_create_bool("bpf_tc_accept", 0600, ns->ddir,
index 92678f5..3fd5679 100644 (file)
@@ -151,6 +151,8 @@ static int nsim_init(struct net_device *dev)
 
        ns->netdev = dev;
        ns->ddir = debugfs_create_dir(netdev_name(dev), nsim_ddir);
+       if (IS_ERR_OR_NULL(ns->ddir))
+               return -ENOMEM;
 
        err = nsim_bpf_init(ns);
        if (err)
@@ -469,8 +471,8 @@ static int __init nsim_module_init(void)
        int err;
 
        nsim_ddir = debugfs_create_dir(DRV_NAME, NULL);
-       if (IS_ERR(nsim_ddir))
-               return PTR_ERR(nsim_ddir);
+       if (IS_ERR_OR_NULL(nsim_ddir))
+               return -ENOMEM;
 
        err = bus_register(&nsim_bus);
        if (err)