diff options
Diffstat (limited to 'fs/seq_file.c')
| -rw-r--r-- | fs/seq_file.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/seq_file.c b/fs/seq_file.c index 05d6b0e78c9..dba43c3ea3a 100644 --- a/fs/seq_file.c +++ b/fs/seq_file.c @@ -449,8 +449,6 @@ EXPORT_SYMBOL(seq_path);  /*   * Same as seq_path, but relative to supplied root. - * - * root may be changed, see __d_path().   */  int seq_path_root(struct seq_file *m, struct path *path, struct path *root,  		  char *esc) @@ -463,6 +461,8 @@ int seq_path_root(struct seq_file *m, struct path *path, struct path *root,  		char *p;  		p = __d_path(path, root, buf, size); +		if (!p) +			return SEQ_SKIP;  		res = PTR_ERR(p);  		if (!IS_ERR(p)) {  			char *end = mangle_path(buf, p, esc); @@ -474,7 +474,7 @@ int seq_path_root(struct seq_file *m, struct path *path, struct path *root,  	}  	seq_commit(m, res); -	return res < 0 ? res : 0; +	return res < 0 && res != -ENAMETOOLONG ? res : 0;  }  /*  |