Dan Carpenter
2014-01-27 20:48:56 UTC
Hello Sachin Prabhu,
The patch 0f8dce1cb745: "cifs: Re-order M-F Symlink code" from Nov
25, 2013, leads to the following static checker warning:
fs/cifs/link.c:188 couldbe_mf_symlink()
error: should you be using something like S_ISREG() here?
fs/cifs/link.c
185 bool
186 couldbe_mf_symlink(const struct cifs_fattr *fattr)
187 {
188 if (!(fattr->cf_mode & S_IFREG))
^^^^^^
Should this be:
if (!S_ISREG(fattr->cf_mode))
189 /* it's not a symlink */
190 return false;
191
192 if (fattr->cf_eof != CIFS_MF_SYMLINK_FILE_SIZE)
193 /* it's not a symlink */
194 return false;
195
196 return true;
197 }
If this a real bug then please give the credit to Neil Brown because he
suggested I add this to Smatch (not pushed yet).
Reported-by: NeilBrown <neilb-***@public.gmane.org>
regards,
dan carpenter
The patch 0f8dce1cb745: "cifs: Re-order M-F Symlink code" from Nov
25, 2013, leads to the following static checker warning:
fs/cifs/link.c:188 couldbe_mf_symlink()
error: should you be using something like S_ISREG() here?
fs/cifs/link.c
185 bool
186 couldbe_mf_symlink(const struct cifs_fattr *fattr)
187 {
188 if (!(fattr->cf_mode & S_IFREG))
^^^^^^
Should this be:
if (!S_ISREG(fattr->cf_mode))
189 /* it's not a symlink */
190 return false;
191
192 if (fattr->cf_eof != CIFS_MF_SYMLINK_FILE_SIZE)
193 /* it's not a symlink */
194 return false;
195
196 return true;
197 }
If this a real bug then please give the credit to Neil Brown because he
suggested I add this to Smatch (not pushed yet).
Reported-by: NeilBrown <neilb-***@public.gmane.org>
regards,
dan carpenter