Bug 12770

Summary: mount_msdos causes panic: kmem_malloc(134217728): kmem_map too small: 7667712 total allocated
Product: Base System Reporter: kenwills <kenwills>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.2-STABLE   
Hardware: Any   
OS: Any   

Description kenwills 1999-07-23 05:50:00 UTC
ide h/w 2 disks

disk 1:
fat16 - 1gb - when mounted causes panic

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/wd0s3b             none            swap    sw              0       0
/dev/wd0s3a             /               ufs     rw              1       1
/dev/wd0s3f             /usr            ufs     rw              2       2
/dev/wd0s3e             /var            ufs     rw              2       2
/dev/wd1s2e             /usr1           ufs     rw              2       2
/dev/wd1s3e             /usr2           ufs     rw              0       2
/dev/wd0s1              /dos            msdos   rw,noauto       0       4
/dev/wd1s1              /dos2           msdos   rw              0       4
/dev/wcd0a              /cdrom          cd9660  ro,noauto       0       0
proc                    /proc           procfs  rw              0       0

Fix: 

ddd dumps me into :

/* THIS FILE IS GENERATED, DO NOT EDIT. */
    
#define DEFINE_SET(set, count)				\
__asm__(".section .set." #set ",\"aw\"");	\
__asm__(".globl " #set);			\
__asm__(".type " #set ",@object");		\
__asm__(".p2align 2");				\
__asm__(#set ":");				\
__asm__(".long " #count);			\
__asm__(".previous")
    
#include "setdefsdef0.c.h"		/* Contains a `DEFINE_SET' for each set */

(which is setdef0.c)

where:
#0  0xc014001b in boot ()
#1  0xc01402a0 in at_shutdown ()
#2  0xc01e284f in kmem_malloc ()
#3  0xc013ceb0 in malloc ()
#4  0xc0175202 in mountmsdosfs ()
#5  0xc0174bb5 in msdosfs_mount ()
#6  0xc01662ee in mount ()
#7  0xc0204a3b in syscall ()
#8  0xc01fb67c in Xint0x80_syscall ()
#9  0x80480e9 in ?? ()

i am preserving dumps if they will be of use.
How-To-Repeat: with disks configured as above ( and wd10s1 can be fat16, fat32 or ntfs )
mount /dos. Panic follows.
Comment 1 Boris Popov freebsd_committer freebsd_triage 2000-01-25 11:47:25 UTC
State Changed
From-To: open->closed

This casused by broken data in the BPB areae. Should be solved by recent commits to -current and wil b e MFC'ed to -stable soon.