diff options
author | Sharath Chandra Vurukala <sharathv@codeaurora.org> | 2019-06-12 17:54:56 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-07-08 06:07:56 -0700 |
commit | d633c05953abd01036470c60def05f23a6fa55ff (patch) | |
tree | e312420e85f9779f9ed7b67a1c257652dccae74d /drivers/rmnet/shs/rmnet_shs_wq.c | |
parent | fb652f1bf8474ea91dd4e4fe7dee8b80fe03f7bf (diff) | |
download | data-kernel-d633c05953abd01036470c60def05f23a6fa55ff.tar.gz |
rmnet: shs: Fix KW reported issues
Suspicious dereference of pointer 'ptr' before NULL check at line 673
rmnet_shs_flush_core()
Suspicious dereference of pointer 'ptr' before NULL check at line 874
rmnet_shs_flush_lock_table()
'hash2stamp' might be used uninitialized in this function.
rmnet_shs_flush_node()
Pointer 'hnode' checked for NULL at line 334 will be dereferenced at line 333.
rmnet_shs_wq_get_new_hstat_node()
Pointer 'ep' checked for NULL at line 418 will be dereferenced at line 416.
rmnet_shs_wq_update_hstat_rps_msk()
Pointer 'ep' checked for NULL at line 779 will be dereferenced at line 778.
rmnet_shs_wq_get_dev_rps_msk()
Pointer 'ep' checked for NULL at line 926 will be dereferenced at line 925.
rmnet_shs_wq_find_cpu_and_move_flows()
Pointer 'ep' checked for NULL at line 1075 will be dereferenced at line 1074.
rmnet_shs_wq_refresh_new_flow_list()
Pointer 'ep' checked for NULL at line 1099 will be dereferenced at line 1098.
rmnet_shs_wq_get_lpwr_cpu_new_flow()
Pointer 'ep' checked for NULL at line 1148 will be dereferenced at line 1147.
rmnet_shs_wq_get_perf_cpu_new_flow()
Pointer 'ep' checked for NULL at line 1276 will be dereferenced at line 1275.
rmnet_shs_wq_reset_ep_active()
Pointer 'ep' checked for NULL at line 1290 will be dereferenced at line 1289.
rmnet_shs_wq_set_ep_active()
Pointer 'ep' checked for NULL at line 1305 will be dereferenced at line 1303.
rmnet_shs_wq_refresh_ep_masks()
Pointer 'hnode' checked for NULL at line 1349 will be dereferenced at line 1348.
rmnet_shs_wq_update_stats()
Suspicious dereference of pointer 'ptr' before NULL check at line 1209
rmnet_shs_wq_cleanup_hash_tbl()
Suspicious dereference of pointer 'ptr' before NULL check at line 1390
rmnet_shs_wq_clean_ep_tbl()
Change-Id: Ic978ddcd246efaaae045b890d15c1e7c3bb6bca8
Signed-off-by: Sharath Chandra Vurukala <sharathv@codeaurora.org>
Diffstat (limited to 'drivers/rmnet/shs/rmnet_shs_wq.c')
-rw-r--r-- | drivers/rmnet/shs/rmnet_shs_wq.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/rmnet/shs/rmnet_shs_wq.c b/drivers/rmnet/shs/rmnet_shs_wq.c index bc601fe..870be3d 100644 --- a/drivers/rmnet/shs/rmnet_shs_wq.c +++ b/drivers/rmnet/shs/rmnet_shs_wq.c @@ -325,7 +325,7 @@ void rmnet_shs_wq_hstat_alloc_nodes(u8 num_nodes_to_allocate, u8 is_store_perm) */ struct rmnet_shs_wq_hstat_s *rmnet_shs_wq_get_new_hstat_node(void) { - struct rmnet_shs_wq_hstat_s *hnode; + struct rmnet_shs_wq_hstat_s *hnode = NULL; struct rmnet_shs_wq_hstat_s *ret_node = NULL; unsigned long flags; @@ -407,8 +407,8 @@ void rmnet_shs_wq_create_new_flow(struct rmnet_shs_skbn_s *node_p) /* Refresh the RPS mask associated with this flow */ void rmnet_shs_wq_update_hstat_rps_msk(struct rmnet_shs_wq_hstat_s *hstat_p) { - struct rmnet_shs_skbn_s *node_p; - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_skbn_s *node_p = NULL; + struct rmnet_shs_wq_ep_s *ep = NULL; node_p = hstat_p->node; @@ -773,7 +773,7 @@ u64 rmnet_shs_wq_get_max_pps_among_cores(u32 core_msk) u32 rmnet_shs_wq_get_dev_rps_msk(struct net_device *dev) { u32 dev_rps_msk = 0; - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { if (!ep) @@ -919,7 +919,7 @@ u16 rmnet_shs_wq_find_cpu_to_move_flows(u16 current_cpu, void rmnet_shs_wq_find_cpu_and_move_flows(u16 cur_cpu) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; u16 new_cpu; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { @@ -1069,7 +1069,7 @@ void rmnet_shs_wq_refresh_new_flow_list_per_ep(struct rmnet_shs_wq_ep_s *ep) } void rmnet_shs_wq_refresh_new_flow_list(void) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { if (!ep) @@ -1088,7 +1088,7 @@ int rmnet_shs_wq_get_lpwr_cpu_new_flow(struct net_device *dev) u8 lo_max; int cpu_assigned = -1; u8 is_match_found = 0; - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; if (!dev) { rmnet_shs_crit_err[RMNET_SHS_NETDEV_ERR]++; @@ -1133,7 +1133,7 @@ int rmnet_shs_wq_get_lpwr_cpu_new_flow(struct net_device *dev) int rmnet_shs_wq_get_perf_cpu_new_flow(struct net_device *dev) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; int cpu_assigned = -1; u8 hi_idx; u8 hi_max; @@ -1197,11 +1197,11 @@ static int rmnet_shs_wq_time_check(time_t time, int num_flows) void rmnet_shs_wq_cleanup_hash_tbl(u8 force_clean) { - struct rmnet_shs_skbn_s *node_p; + struct rmnet_shs_skbn_s *node_p = NULL; time_t tns2s; unsigned long ht_flags; struct rmnet_shs_wq_hstat_s *hnode = NULL; - struct list_head *ptr, *next; + struct list_head *ptr = NULL, *next = NULL; list_for_each_safe(ptr, next, &rmnet_shs_wq_hstat_tbl) { hnode = list_entry(ptr, @@ -1271,7 +1271,7 @@ void rmnet_shs_wq_update_ep_rps_msk(struct rmnet_shs_wq_ep_s *ep) void rmnet_shs_wq_reset_ep_active(struct net_device *dev) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { if (!ep) @@ -1287,7 +1287,7 @@ void rmnet_shs_wq_reset_ep_active(struct net_device *dev) void rmnet_shs_wq_set_ep_active(struct net_device *dev) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { if (!ep) @@ -1304,7 +1304,7 @@ void rmnet_shs_wq_set_ep_active(struct net_device *dev) void rmnet_shs_wq_refresh_ep_masks(void) { - struct rmnet_shs_wq_ep_s *ep; + struct rmnet_shs_wq_ep_s *ep = NULL; list_for_each_entry(ep, &rmnet_shs_wq_ep_tbl, ep_list_id) { @@ -1339,7 +1339,7 @@ void rmnet_shs_update_cfg_mask(void) static void rmnet_shs_wq_update_stats(void) { struct timespec time; - struct rmnet_shs_wq_hstat_s *hnode; + struct rmnet_shs_wq_hstat_s *hnode = NULL; (void) getnstimeofday(&time); rmnet_shs_wq_tnsec = RMNET_SHS_SEC_TO_NSEC(time.tv_sec) + time.tv_nsec; @@ -1383,8 +1383,8 @@ void rmnet_shs_wq_process_wq(struct work_struct *work) void rmnet_shs_wq_clean_ep_tbl(void) { - struct rmnet_shs_wq_ep_s *ep; - struct list_head *ptr, *next; + struct rmnet_shs_wq_ep_s *ep = NULL; + struct list_head *ptr = NULL, *next = NULL; list_for_each_safe(ptr, next, &rmnet_shs_wq_ep_tbl) { ep = list_entry(ptr, struct rmnet_shs_wq_ep_s, ep_list_id); |