[lkml]   [2018]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: FAT: Operating on broken FAT FS causes the write syscall to return negative number not equal to -1
Thank you!

> This patch returns better error (-EIO) for me.

This works for me likewise.

> (But note, the corrupted FS image doesn't guarantee POSIX behavior.)

Oops, I was just doing some testing and thought that correct behavior
for crafted FS is to return arbitrary valid error code (like -EIO) or
some arbitrary data, say, not larger than FS (not disclosing the
kernel memory, of course). Please excuse me if I was wrong. If fixing
this would slow down some hot code path, then I am not insisting on
returning valid errno. :)

Meanwhile, how should be considered such discrepancies with man pages
for invalid FS images: should it be considered low priority bug,
not-a-bug or feature request (diagnostics)?


вс, 15 июл. 2018 г. в 17:30, Al Viro <>:
> On Sun, Jul 15, 2018 at 11:20:06PM +0900, OGAWA Hirofumi wrote:
> > +static inline bool fat_valid_entry(struct msdos_sb_info *sbi, int entry)
> > +{
> > + if (entry < FAT_START_ENT || sbi->max_cluster <= entry)
> > + return false;
> > + return true;
> > +}
> Pet peeve: if (...) return false; return true; instead of return !....;
> In this case,
> return entry >= FAT_START_ENT && entry < sb->max_cluster;
 \ /
  Last update: 2018-07-15 22:07    [W:0.042 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site