* [bug report] fs/ntfs3: Rework file operations
@ 2021-09-02 10:25 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2021-09-02 10:25 UTC (permalink / raw)
To: almaz.alexandrovich; +Cc: ntfs3
Hello Konstantin Komarov,
This is a semi-automatic email about new static checker warnings.
The patch 78ab59fee07f: "fs/ntfs3: Rework file operations" from Aug
31, 2021, leads to the following Smatch complaint:
fs/ntfs3/frecord.c:2887 ni_remove_name_undo()
error: we previously assumed 'de2' could be null (see line 2876)
fs/ntfs3/frecord.c
2871 bool ni_remove_name_undo(struct ntfs_inode *dir_ni, struct ntfs_inode *ni,
2872 struct NTFS_DE *de, struct NTFS_DE *de2, int undo_step)
2873 {
2874 struct ntfs_sb_info *sbi = ni->mi.sbi;
2875 struct ATTRIB *attr;
2876 u16 de_key_size = de2 ? le16_to_cpu(de2->key_size) : 0;
^^^
This assumes "de2" can be NULL.
2877
2878 switch (undo_step) {
2879 case 4:
2880 if (ni_insert_resident(ni, de_key_size, ATTR_NAME, NULL, 0,
2881 &attr, NULL, NULL)) {
2882 return false;
2883 }
2884 memcpy(Add2Ptr(attr, SIZEOF_RESIDENT), de2 + 1, de_key_size);
2885
2886 mi_get_ref(&ni->mi, &de2->ref);
^^^^^^^^^
Unchecked dereference.
2887 de2->size = cpu_to_le16(ALIGN(de_key_size, 8) +
2888 sizeof(struct NTFS_DE));
2889 de2->flags = 0;
2890 de2->res = 0;
2891
2892 if (indx_insert_entry(&dir_ni->dir, dir_ni, de2, sbi, NULL,
2893 1)) {
2894 return false;
2895 }
2896 fallthrough;
2897
2898 case 2:
2899 de_key_size = le16_to_cpu(de->key_size);
No need for this assignment.
2900
2901 if (ni_insert_resident(ni, de_key_size, ATTR_NAME, NULL, 0,
2902 &attr, NULL, NULL)) {
2903 return false;
2904 }
2905
2906 memcpy(Add2Ptr(attr, SIZEOF_RESIDENT), de + 1, de_key_size);
2907 mi_get_ref(&ni->mi, &de->ref);
2908
2909 if (indx_insert_entry(&dir_ni->dir, dir_ni, de, sbi, NULL, 1)) {
2910 return false;
2911 }
2912 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-02 10:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 10:25 [bug report] fs/ntfs3: Rework file operations Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.