hfsplus: Initialize directory subfolders in hfsplus_mknod
Subsystems (2)
hfsplus: Initialize directory subfolders in hfsplus_mknod
Addresses uninitialized subfolders attribute being used in hfsplus_subfolders_inc and hfsplus_subfolders_dec.
Reported-by [email protected]
Signed-off-by Siddharth Menon <[email protected]>
--- fs/hfsplus/btree.c | 1 + fs/hfsplus/dir.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-)
fs/hfsplus/btree.c +1 -0
@@ -363,6 +363,7 @@ int hfs_bmap_reserve(struct hfs_btree *tree, int rsvd_nodes)HFSPLUS_SB (tree->sb)->alloc_blksz_shift; hip->fs_blocks = hip->alloc_blocks <<HFSPLUS_SB (tree->sb)->fs_shift; + hip->subfolders =0 ;inode_set_bytes (inode, inode->i_size); count = inode->i_size >> tree->node_size_shift; tree->free_nodes += count - tree->node_count;
fs/hfsplus/dir.c +5 -2
@@ -485,11 +485,14 @@ static int hfsplus_mknod(struct mnt_idmap *idmap, struct inode *dir,mutex_lock (&sbi->vh_mutex); inode =hfsplus_new_inode (dir->i_sb, dir, mode); +if (test_bit (HFSPLUS_SB_HFSX , &sbi->flags)) +HFSPLUS_I (dir)->subfolders =0 ; +if (!inode) goto out; -if (S_ISBLK (mode) ||S_ISCHR (mode) ||S_ISFIFO (mode) ||S_ISSOCK (mode)) -init_special_inode (inode, mode, rdev); +if (S_ISBLK (mode) ||S_ISCHR (mode) ||S_ISFIFO (mode) ||S_ISSOCK (mode)){ +init_special_inode (inode, mode, rdev);} res =hfsplus_create_cat (inode->i_ino, dir, &dentry->d_name, inode);if (res)
Signature · 1 line
2.39.2
Al Viro
maintainerfs/hfsplus/dir.c static int hfsplus_mknod(struct mnt_idmap *idmap, struct inode *dir, · line 495
Quoted 4 lines · Siddharth Menon
fs/hfsplus/dir.c +2
-2-if (S_ISBLK (mode) ||S_ISCHR (mode) ||S_ISFIFO (mode) ||S_ISSOCK (mode)) -init_special_inode (inode, mode, rdev); +if (S_ISBLK (mode) ||S_ISCHR (mode) ||S_ISFIFO (mode) ||S_ISSOCK (mode)){ +init_special_inode (inode, mode, rdev);}
Huh? What's that chunk about?
Quoted 8 lines · Siddharth Menon
hfsplus: Initialize directory subfolders in
hfsplus_mknodAddresses uninitialized subfolders attribute being used in
hfsplus_subfolders_incandhfsplus_subfolders_dec.
Odd indentation :(
Also, why the extra blank line before:
Quoted 1 line
Signed-off-by Siddharth Menon <[email protected]>
This one?
thanks,
greg k-h