on 30/03/2010 18:41 Andriy Gapon said the following: > on 30/03/2010 18:36 Fabian Keil said the following: >> Andriy Gapon <avg_at_freebsd.org> wrote: >> >>> on 29/03/2010 23:29 Fabian Keil said the following: >>>> Andriy Gapon <avg_at_freebsd.org> wrote: >>>>> Thus, clearly, it is a fault of a tool that formatted the media for FAT. >>>>> It should have picked correct values, or rejected incorrect values if >>>>> those were provided as overrides via command line options. >>>> The kernel still shouldn't panic, though. >>> A quick reply to this point only - yes, I completely agree. >>> But remember that the panic happened only after the sources were modified :) >> It wasn't clear from my message, but I was mainly referring to the >> division-by-zero panic mentioned at the beginning of the thread, >> for which I posted a work-around in <20100319191133.46fe271c_at_r500.local>. > > Oh, yes, right. To clarify - I already forgot that the original problem was division by zero panic and for some reason thought that it was EINVAL. Anyways, here is a patch that I would use. Unfortunately, ENOTIME to understand newfs_msdos code and fix it too, --- a/sys/fs/msdosfs/msdosfs_vfsops.c +++ b/sys/fs/msdosfs/msdosfs_vfsops.c _at__at_ -580,6 +580,7 _at__at_ mountmsdosfs(struct vnode *devvp, struct mount *mp) || (pmp->pm_BytesPerSec & (pmp->pm_BytesPerSec - 1)) || (pmp->pm_HugeSectors == 0) || (pmp->pm_FATsecs == 0) + || (SecPerClust * pmp->pm_BlkPerSec > MAXBSIZE / DEV_BSIZE) ) { error = EINVAL; goto error_exit; -- Andriy GaponReceived on Wed Mar 31 2010 - 12:48:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:02 UTC