on 30/03/2010 18:41 Andriy Gapon said the following:
> on 30/03/2010 18:36 Fabian Keil said the following:
>> Andriy Gapon <a...@freebsd.org> wrote:
>>
>>> on 29/03/2010 23:29 Fabian Keil said the following:
>>>> Andriy Gapon <a...@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.46fe2...@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
@@ -580,6 +580,7 @@ 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 Gapon
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to