mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 22:20:50 +07:00
Btrfs: check return value of ulist_alloc() properly
ulist_alloc() has the possibility of returning NULL. So, it is necessary to check the return value. Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
This commit is contained in:
parent
f54fb859da
commit
3d6b5c3b5c
@ -1469,6 +1469,10 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
|
|||||||
* be exceeded
|
* be exceeded
|
||||||
*/
|
*/
|
||||||
ulist = ulist_alloc(GFP_ATOMIC);
|
ulist = ulist_alloc(GFP_ATOMIC);
|
||||||
|
if (!ulist) {
|
||||||
|
ret = -ENOMEM;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
||||||
ULIST_ITER_INIT(&uiter);
|
ULIST_ITER_INIT(&uiter);
|
||||||
while ((unode = ulist_next(ulist, &uiter))) {
|
while ((unode = ulist_next(ulist, &uiter))) {
|
||||||
@ -1541,6 +1545,10 @@ void btrfs_qgroup_free(struct btrfs_root *root, u64 num_bytes)
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ulist = ulist_alloc(GFP_ATOMIC);
|
ulist = ulist_alloc(GFP_ATOMIC);
|
||||||
|
if (!ulist) {
|
||||||
|
btrfs_std_error(fs_info, -ENOMEM);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
||||||
ULIST_ITER_INIT(&uiter);
|
ULIST_ITER_INIT(&uiter);
|
||||||
while ((unode = ulist_next(ulist, &uiter))) {
|
while ((unode = ulist_next(ulist, &uiter))) {
|
||||||
|
Loading…
Reference in New Issue
Block a user