f2fs: handle errors from get_node_page calls
Add check for error pointers returned from get_node_page in order to avoid dereferencing a bad address on the next use. Signed-off-by: Jason Hrycay <jason.hrycay@motorola.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
Родитель
83d5d6f66b
Коммит
1e03e38b35
|
@ -218,6 +218,8 @@ int f2fs_getxattr(struct inode *inode, int name_index, const char *name,
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
|
|
||||||
page = get_node_page(sbi, fi->i_xattr_nid);
|
page = get_node_page(sbi, fi->i_xattr_nid);
|
||||||
|
if (IS_ERR(page))
|
||||||
|
return PTR_ERR(page);
|
||||||
base_addr = page_address(page);
|
base_addr = page_address(page);
|
||||||
|
|
||||||
list_for_each_xattr(entry, base_addr) {
|
list_for_each_xattr(entry, base_addr) {
|
||||||
|
@ -268,6 +270,8 @@ ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
page = get_node_page(sbi, fi->i_xattr_nid);
|
page = get_node_page(sbi, fi->i_xattr_nid);
|
||||||
|
if (IS_ERR(page))
|
||||||
|
return PTR_ERR(page);
|
||||||
base_addr = page_address(page);
|
base_addr = page_address(page);
|
||||||
|
|
||||||
list_for_each_xattr(entry, base_addr) {
|
list_for_each_xattr(entry, base_addr) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче