diff options
Diffstat (limited to 'kernel/gcov/fs.c')
| -rw-r--r-- | kernel/gcov/fs.c | 52 | 
1 files changed, 27 insertions, 25 deletions
diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c index 7a7d2ee96d4..15ff01a7637 100644 --- a/kernel/gcov/fs.c +++ b/kernel/gcov/fs.c @@ -75,7 +75,7 @@ static int __init gcov_persist_setup(char *str)  	unsigned long val;  	if (kstrtoul(str, 0, &val)) { -		pr_warning("invalid gcov_persist parameter '%s'\n", str); +		pr_warn("invalid gcov_persist parameter '%s'\n", str);  		return 0;  	}  	gcov_persist = val; @@ -242,7 +242,7 @@ static struct gcov_node *get_node_by_name(const char *name)  	list_for_each_entry(node, &all_head, all) {  		info = get_node_info(node); -		if (info && (strcmp(info->filename, name) == 0)) +		if (info && (strcmp(gcov_info_filename(info), name) == 0))  			return node;  	} @@ -279,7 +279,7 @@ static ssize_t gcov_seq_write(struct file *file, const char __user *addr,  	seq = file->private_data;  	info = gcov_iter_get_info(seq->private);  	mutex_lock(&node_lock); -	node = get_node_by_name(info->filename); +	node = get_node_by_name(gcov_info_filename(info));  	if (node) {  		/* Reset counts or remove node for unloaded modules. */  		if (node->num_loaded == 0) @@ -365,7 +365,7 @@ static const char *deskew(const char *basename)   */  static void add_links(struct gcov_node *node, struct dentry *parent)  { -	char *basename; +	const char *basename;  	char *target;  	int num;  	int i; @@ -376,14 +376,14 @@ static void add_links(struct gcov_node *node, struct dentry *parent)  	if (!node->links)  		return;  	for (i = 0; i < num; i++) { -		target = get_link_target(get_node_info(node)->filename, -					 &gcov_link[i]); +		target = get_link_target( +				gcov_info_filename(get_node_info(node)), +				&gcov_link[i]);  		if (!target)  			goto out_err; -		basename = strrchr(target, '/'); -		if (!basename) +		basename = kbasename(target); +		if (basename == target)  			goto out_err; -		basename++;  		node->links[i] = debugfs_create_symlink(deskew(basename),  							parent,	target);  		if (!node->links[i]) @@ -450,7 +450,7 @@ static struct gcov_node *new_node(struct gcov_node *parent,  	} else  		node->dentry = debugfs_create_dir(node->name, parent->dentry);  	if (!node->dentry) { -		pr_warning("could not create file\n"); +		pr_warn("could not create file\n");  		kfree(node);  		return NULL;  	} @@ -463,7 +463,7 @@ static struct gcov_node *new_node(struct gcov_node *parent,  err_nomem:  	kfree(node); -	pr_warning("out of memory\n"); +	pr_warn("out of memory\n");  	return NULL;  } @@ -576,7 +576,7 @@ static void add_node(struct gcov_info *info)  	struct gcov_node *parent;  	struct gcov_node *node; -	filename = kstrdup(info->filename, GFP_KERNEL); +	filename = kstrdup(gcov_info_filename(info), GFP_KERNEL);  	if (!filename)  		return;  	parent = &root_node; @@ -630,8 +630,8 @@ static void add_info(struct gcov_node *node, struct gcov_info *info)  	 */  	loaded_info = kcalloc(num + 1, sizeof(struct gcov_info *), GFP_KERNEL);  	if (!loaded_info) { -		pr_warning("could not add '%s' (out of memory)\n", -			   info->filename); +		pr_warn("could not add '%s' (out of memory)\n", +			gcov_info_filename(info));  		return;  	}  	memcpy(loaded_info, node->loaded_info, @@ -644,8 +644,9 @@ static void add_info(struct gcov_node *node, struct gcov_info *info)  		 * data set replaces the copy of the last one.  		 */  		if (!gcov_info_is_compatible(node->unloaded_info, info)) { -			pr_warning("discarding saved data for %s " -				   "(incompatible version)\n", info->filename); +			pr_warn("discarding saved data for %s " +				"(incompatible version)\n", +				gcov_info_filename(info));  			gcov_info_free(node->unloaded_info);  			node->unloaded_info = NULL;  		} @@ -655,8 +656,8 @@ static void add_info(struct gcov_node *node, struct gcov_info *info)  		 * The initial one takes precedence.  		 */  		if (!gcov_info_is_compatible(node->loaded_info[0], info)) { -			pr_warning("could not add '%s' (incompatible " -				   "version)\n", info->filename); +			pr_warn("could not add '%s' (incompatible " +				"version)\n", gcov_info_filename(info));  			kfree(loaded_info);  			return;  		} @@ -691,8 +692,9 @@ static void save_info(struct gcov_node *node, struct gcov_info *info)  	else {  		node->unloaded_info = gcov_info_dup(info);  		if (!node->unloaded_info) { -			pr_warning("could not save data for '%s' " -				   "(out of memory)\n", info->filename); +			pr_warn("could not save data for '%s' " +				"(out of memory)\n", +				gcov_info_filename(info));  		}  	}  } @@ -707,8 +709,8 @@ static void remove_info(struct gcov_node *node, struct gcov_info *info)  	i = get_info_index(node, info);  	if (i < 0) { -		pr_warning("could not remove '%s' (not found)\n", -			   info->filename); +		pr_warn("could not remove '%s' (not found)\n", +			gcov_info_filename(info));  		return;  	}  	if (gcov_persist) @@ -735,7 +737,7 @@ void gcov_event(enum gcov_action action, struct gcov_info *info)  	struct gcov_node *node;  	mutex_lock(&node_lock); -	node = get_node_by_name(info->filename); +	node = get_node_by_name(gcov_info_filename(info));  	switch (action) {  	case GCOV_ADD:  		if (node) @@ -747,8 +749,8 @@ void gcov_event(enum gcov_action action, struct gcov_info *info)  		if (node)  			remove_info(node, info);  		else { -			pr_warning("could not remove '%s' (not found)\n", -				   info->filename); +			pr_warn("could not remove '%s' (not found)\n", +				gcov_info_filename(info));  		}  		break;  	}  | 
