mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 23:18:20 +00:00
Orangefs: address problems found by static checker
Don't check for negative rc from boolean. Don't pointlessly initialize variables, it short-circuits gcc's uninitialized variable warnings. And max_new_nr_segs can never be zero, so don't check for it. Preserve original kstrdup pointer for freeing later. Don't check for negative value in unsigned variable. Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
84d02150de
commit
eeaa3d448c
@ -104,7 +104,6 @@ static void readdir_handle_dtor(struct pvfs2_bufmap *bufmap,
|
||||
*
|
||||
* \param dir_emit callback function called for each entry read.
|
||||
*
|
||||
* \retval <0 on error
|
||||
* \retval 0 when directory has been completely traversed
|
||||
* \retval >0 if we don't call dir_emit for all entries
|
||||
*
|
||||
@ -253,8 +252,6 @@ get_new_buffer_index:
|
||||
__func__,
|
||||
llu(pos));
|
||||
ret = dir_emit(ctx, ".", 1, ino, DT_DIR);
|
||||
if (ret < 0)
|
||||
goto out_destroy_handle;
|
||||
ctx->pos++;
|
||||
gossip_ldebug(GOSSIP_DIR_DEBUG,
|
||||
"%s: ctx->pos:%lld\n",
|
||||
@ -270,8 +267,6 @@ get_new_buffer_index:
|
||||
__func__,
|
||||
llu(pos));
|
||||
ret = dir_emit(ctx, "..", 2, ino, DT_DIR);
|
||||
if (ret < 0)
|
||||
goto out_destroy_handle;
|
||||
ctx->pos++;
|
||||
gossip_ldebug(GOSSIP_DIR_DEBUG,
|
||||
"%s: ctx->pos:%lld\n",
|
||||
@ -293,17 +288,6 @@ get_new_buffer_index:
|
||||
(unsigned long)pos);
|
||||
ret =
|
||||
dir_emit(ctx, current_entry, len, current_ino, DT_UNKNOWN);
|
||||
if (ret < 0) {
|
||||
gossip_debug(GOSSIP_DIR_DEBUG,
|
||||
"dir_emit() failed. ret:%d\n",
|
||||
ret);
|
||||
if (i < 2) {
|
||||
gossip_err("dir_emit failed on one of the first two true PVFS directory entries.\n");
|
||||
gossip_err("Duplicate entries may appear.\n");
|
||||
}
|
||||
buffer_full = 1;
|
||||
break;
|
||||
}
|
||||
ctx->pos++;
|
||||
gossip_ldebug(GOSSIP_DIR_DEBUG,
|
||||
"%s: ctx->pos:%lld\n",
|
||||
|
@ -463,12 +463,12 @@ static ssize_t do_readv_writev(enum PVFS_io_type type, struct file *file,
|
||||
unsigned int to_free;
|
||||
size_t count;
|
||||
unsigned long seg;
|
||||
unsigned long new_nr_segs = 0;
|
||||
unsigned long max_new_nr_segs = 0;
|
||||
unsigned long seg_count = 0;
|
||||
unsigned long *seg_array = NULL;
|
||||
struct iovec *iovecptr = NULL;
|
||||
struct iovec *ptr = NULL;
|
||||
unsigned long new_nr_segs;
|
||||
unsigned long max_new_nr_segs;
|
||||
unsigned long seg_count;
|
||||
unsigned long *seg_array;
|
||||
struct iovec *iovecptr;
|
||||
struct iovec *ptr;
|
||||
|
||||
total_count = 0;
|
||||
ret = -EINVAL;
|
||||
@ -477,12 +477,6 @@ static ssize_t do_readv_writev(enum PVFS_io_type type, struct file *file,
|
||||
|
||||
/* Compute total and max number of segments after split */
|
||||
max_new_nr_segs = bound_max_iovecs(iov, nr_segs, &count);
|
||||
if (max_new_nr_segs < 0) {
|
||||
gossip_lerr("%s: could not bound iovec %lu\n",
|
||||
__func__,
|
||||
max_new_nr_segs);
|
||||
goto out;
|
||||
}
|
||||
|
||||
gossip_debug(GOSSIP_FILE_DEBUG,
|
||||
"%s-BEGIN(%pU): count(%d) after estimate_max_iovecs.\n",
|
||||
|
@ -1077,6 +1077,7 @@ void debug_string_to_mask(char *debug_string, void *mask, int type)
|
||||
char *unchecked_keyword;
|
||||
int i;
|
||||
char *strsep_fodder = kstrdup(debug_string, GFP_KERNEL);
|
||||
char *original_pointer;
|
||||
int element_count = 0;
|
||||
struct client_debug_mask *c_mask;
|
||||
__u64 *k_mask;
|
||||
@ -1092,6 +1093,7 @@ void debug_string_to_mask(char *debug_string, void *mask, int type)
|
||||
element_count = num_kmod_keyword_mask_map;
|
||||
}
|
||||
|
||||
original_pointer = strsep_fodder;
|
||||
while ((unchecked_keyword = strsep(&strsep_fodder, ",")))
|
||||
if (strlen(unchecked_keyword)) {
|
||||
for (i = 0; i < element_count; i++)
|
||||
@ -1105,7 +1107,7 @@ void debug_string_to_mask(char *debug_string, void *mask, int type)
|
||||
&k_mask);
|
||||
}
|
||||
|
||||
kfree(strsep_fodder);
|
||||
kfree(original_pointer);
|
||||
}
|
||||
|
||||
void do_c_mask(int i,
|
||||
|
@ -77,10 +77,8 @@ ssize_t pvfs2_inode_getxattr(struct inode *inode, const char *prefix,
|
||||
gossip_err("pvfs2_inode_getxattr: bogus NULL pointers\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (size < 0 ||
|
||||
(strlen(name) + strlen(prefix)) >= PVFS_MAX_XATTR_NAMELEN) {
|
||||
gossip_err("Invalid size (%d) or key length (%d)\n",
|
||||
(int)size,
|
||||
if ((strlen(name) + strlen(prefix)) >= PVFS_MAX_XATTR_NAMELEN) {
|
||||
gossip_err("Invalid key length (%d)\n",
|
||||
(int)(strlen(name) + strlen(prefix)));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user