summaryrefslogtreecommitdiffstats
path: root/fs/ntfs3/attrlist.c
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2023-03-28 20:05:16 +0900
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>2023-07-03 00:21:23 +0400
commitea303f72d70ce2f0b0aa94ab127085289768c5a6 (patch)
tree0512ac780a43cb61960b8ac567ad5d7b13c2bf76 /fs/ntfs3/attrlist.c
parent97498cd610c0d030a7bd49a7efad974790661162 (diff)
downloadlinux-ea303f72d70ce2f0b0aa94ab127085289768c5a6.tar.gz
linux-ea303f72d70ce2f0b0aa94ab127085289768c5a6.tar.bz2
linux-ea303f72d70ce2f0b0aa94ab127085289768c5a6.zip
fs/ntfs3: Use __GFP_NOWARN allocation at ntfs_load_attr_list()
syzbot is reporting too large allocation at ntfs_load_attr_list(), for a crafted filesystem can have huge data_size. Reported-by: syzbot <syzbot+89dbb3a789a5b9711793@syzkaller.appspotmail.com> Link: https://syzkaller.appspot.com/bug?extid=89dbb3a789a5b9711793 Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Diffstat (limited to 'fs/ntfs3/attrlist.c')
-rw-r--r--fs/ntfs3/attrlist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ntfs3/attrlist.c b/fs/ntfs3/attrlist.c
index c0c6bcbc8c05..81c22df27c72 100644
--- a/fs/ntfs3/attrlist.c
+++ b/fs/ntfs3/attrlist.c
@@ -52,7 +52,7 @@ int ntfs_load_attr_list(struct ntfs_inode *ni, struct ATTRIB *attr)
if (!attr->non_res) {
lsize = le32_to_cpu(attr->res.data_size);
- le = kmalloc(al_aligned(lsize), GFP_NOFS);
+ le = kmalloc(al_aligned(lsize), GFP_NOFS | __GFP_NOWARN);
if (!le) {
err = -ENOMEM;
goto out;
@@ -80,7 +80,7 @@ int ntfs_load_attr_list(struct ntfs_inode *ni, struct ATTRIB *attr)
if (err < 0)
goto out;
- le = kmalloc(al_aligned(lsize), GFP_NOFS);
+ le = kmalloc(al_aligned(lsize), GFP_NOFS | __GFP_NOWARN);
if (!le) {
err = -ENOMEM;
goto out;