diff options
author | Chinmay Agarwal <chinagar@codeaurora.org> | 2020-05-20 18:54:16 +0530 |
---|---|---|
committer | Chinmay Agarwal <chinagar@codeaurora.org> | 2020-05-20 23:41:50 +0530 |
commit | d6c991beeff2b0cedd188dac8d04da3900c5c1ea (patch) | |
tree | 30dc69cf72866dc89f7fe8dd0a7e023426e4d0d3 | |
parent | e002315f6197f00982564ff5053ab98dce682e6c (diff) | |
download | data-kernel-d6c991beeff2b0cedd188dac8d04da3900c5c1ea.tar.gz |
drivers: rmnet: shs: Fix Error reported in Static Analysis
NULL check added in "rmnet_shs_wq_mem_init" for "shs_proc_dir" .
Change-Id: I75296da8476ee52e4c49dc0e7f8d83ac7568782d
Signed-off-by: Chinmay Agarwal <chinagar@codeaurora.org>
-rw-r--r-- | drivers/rmnet/shs/rmnet_shs_wq.c | 3 | ||||
-rw-r--r-- | drivers/rmnet/shs/rmnet_shs_wq_mem.c | 9 | ||||
-rw-r--r-- | drivers/rmnet/shs/rmnet_shs_wq_mem.h | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/drivers/rmnet/shs/rmnet_shs_wq.c b/drivers/rmnet/shs/rmnet_shs_wq.c index f300c22..6b2a31e 100644 --- a/drivers/rmnet/shs/rmnet_shs_wq.c +++ b/drivers/rmnet/shs/rmnet_shs_wq.c @@ -2149,7 +2149,8 @@ void rmnet_shs_wq_init(struct net_device *dev) return; } - rmnet_shs_wq_mem_init(); + if( rmnet_shs_wq_mem_init() ) + rmnet_shs_wq_genl_deinit(); trace_rmnet_shs_wq_high(RMNET_SHS_WQ_INIT, RMNET_SHS_WQ_INIT_START, 0xDEF, 0xDEF, 0xDEF, 0xDEF, NULL, NULL); diff --git a/drivers/rmnet/shs/rmnet_shs_wq_mem.c b/drivers/rmnet/shs/rmnet_shs_wq_mem.c index e914d78..7c5dbad 100644 --- a/drivers/rmnet/shs/rmnet_shs_wq_mem.c +++ b/drivers/rmnet/shs/rmnet_shs_wq_mem.c @@ -953,13 +953,19 @@ void rmnet_shs_wq_mem_update_cached_netdevs(void) } /* Creates the proc folder and files for shs shared memory */ -void rmnet_shs_wq_mem_init(void) +int rmnet_shs_wq_mem_init(void) { kuid_t shs_uid; kgid_t shs_gid; shs_proc_dir = proc_mkdir("shs", NULL); + if(!shs_proc_dir) + { + rm_err("%s", "SHS_MEM: shs_proc_dir returned as NULL\n"); + return -1; + } + shs_uid = make_kuid(&init_user_ns, 1001); shs_gid = make_kgid(&init_user_ns, 1001); @@ -977,6 +983,7 @@ void rmnet_shs_wq_mem_init(void) ssflow_shared = NULL; netdev_shared = NULL; rmnet_shs_wq_ep_unlock_bh(); + return 0; } /* Remove shs files and folders from proc fs */ diff --git a/drivers/rmnet/shs/rmnet_shs_wq_mem.h b/drivers/rmnet/shs/rmnet_shs_wq_mem.h index e955606..374a556 100644 --- a/drivers/rmnet/shs/rmnet_shs_wq_mem.h +++ b/drivers/rmnet/shs/rmnet_shs_wq_mem.h @@ -107,7 +107,7 @@ void rmnet_shs_wq_mem_update_cached_sorted_gold_flows(struct list_head *gold_flo void rmnet_shs_wq_mem_update_cached_sorted_ss_flows(struct list_head *ss_flows); void rmnet_shs_wq_mem_update_cached_netdevs(void); -void rmnet_shs_wq_mem_init(void); +int rmnet_shs_wq_mem_init(void); void rmnet_shs_wq_mem_deinit(void); |