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)? Thanks Anatoly вс, 15 июл. 2018 г. в 17:30, Al Viro <[email protected]>: > > 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;

