diff options
Diffstat (limited to 'drivers/mtd/ubi/kapi.c')
-rw-r--r-- | drivers/mtd/ubi/kapi.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/kapi.c b/drivers/mtd/ubi/kapi.c index 348dbbcbedc8..a9e2cef7c95c 100644 --- a/drivers/mtd/ubi/kapi.c +++ b/drivers/mtd/ubi/kapi.c | |||
@@ -302,6 +302,7 @@ EXPORT_SYMBOL_GPL(ubi_open_volume_nm); | |||
302 | struct ubi_volume_desc *ubi_open_volume_path(const char *pathname, int mode) | 302 | struct ubi_volume_desc *ubi_open_volume_path(const char *pathname, int mode) |
303 | { | 303 | { |
304 | int error, ubi_num, vol_id; | 304 | int error, ubi_num, vol_id; |
305 | struct path path; | ||
305 | struct kstat stat; | 306 | struct kstat stat; |
306 | 307 | ||
307 | dbg_gen("open volume %s, mode %d", pathname, mode); | 308 | dbg_gen("open volume %s, mode %d", pathname, mode); |
@@ -309,7 +310,12 @@ struct ubi_volume_desc *ubi_open_volume_path(const char *pathname, int mode) | |||
309 | if (!pathname || !*pathname) | 310 | if (!pathname || !*pathname) |
310 | return ERR_PTR(-EINVAL); | 311 | return ERR_PTR(-EINVAL); |
311 | 312 | ||
312 | error = vfs_stat(pathname, &stat); | 313 | error = kern_path(pathname, LOOKUP_FOLLOW, &path); |
314 | if (error) | ||
315 | return ERR_PTR(error); | ||
316 | |||
317 | error = vfs_getattr(&path, &stat); | ||
318 | path_put(&path); | ||
313 | if (error) | 319 | if (error) |
314 | return ERR_PTR(error); | 320 | return ERR_PTR(error); |
315 | 321 | ||