1.3.33 seems to break PCMCIA networking

Theodore Ts'o (tytso@mit.edu)
Fri, 13 Oct 1995 13:18:51 -0400


1.3.33 doesn't seem to work with the pcmcia drivers anymore (version
2.7.2). Any attempt to use the network interface results in a system
oops. There seems to be an even simpler way to reproduce the problem
without even involving PCMCIA, though. Just configure a kernel with
network devices, but without a network card installed in the system.

Then, boot the kernel and do the following:

<tytso.root@rsts-11> {/home/tytso}, level 2
501# ifconfig eth0
eth0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
unspec addr:[NONE SET] Bcast:[NONE SET] Mask:[NONE SET]
[NO FLAGS] MTU:0 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0
Interrupt:0 Base address:0x0

<tytso.root@rsts-11> {/home/tytso}, level 2
502# ifconfig eth0 10.0.0.6 netmask 255.0.0.0 broadcast 10.0.0.0
<tytso.root@rsts-11> {/home/tytso}, level 2
503# route add -net 10.0.0.0
<tytso.root@rsts-11> {/home/tytso}, level 2
504# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
general protection: 0000
CPU: 0
EIP: 0010:00000004
EFLAGS: 00010202
eax: 00000001 ebx: 001c2054 ecx: 001c2054 edx: 00000000
esi: 0000ba60 edi: 001c2054 ebp: 00000000 esp: 014ced8c
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process ping (pid: 81, process nr: 17, stackpage=014ce000)
Stack: 00139c42 0000b9f0 001c2054 0100000a 0000ba60 0000ba04 001c2054 001c2054
0000ba60 00141c7d 000051a8 00141cfa 0000ba60 001c2054 00000001 0155ac00
014c0001 014cee9c 00000000 00000000 00000000 0015be55 00000302 0007e244
Call Trace: 00139c42 00141c7d 00141cfa 0015be55 0015c3da 0019401d 001421da
00141f74 0014c093 001375da 0011b2b8 0011b5be 0011ad97 00137eb3 0010a7d9
Code: 0a a0 00 f0 c3 e2 00 f0 0a a0 00 f0 0a a0 00 f0 54 ff 00 f0
Segmentation fault

Ksymoops displays the following:

Trace: 139c42 <_dev_queue_xmit+62/220>
Trace: 141c7d <_ip_build_xmit+b2d/c40>
Trace: 141cfa <_ip_build_xmit+baa/c40>
Trace: 15be55 <_inode_getblk+41/1a0>
Trace: 15c3da <_ext2_getblk+d6/260>
Trace: 19401d <_clear_selection+d/50>
Trace: 1421da <_raw_sendto+176/190>
Trace: 141f74 <_raw_getfrag>
Trace: 14c093 <_inet_sendto+ab/d0>
Trace: 1375da <_sys_sendto+10a/130>
Trace: 11b2b8 <_share_page+e8/120>
Trace: 11b5be <_do_no_page+2ce/3e0>
Trace: 11ad97 <_verify_area+27/180>
Trace: 137eb3 <_sys_socketcall+203/330>
Trace: 10a7d9 <_system_call+59/a0>

Code: orb 0xe2c3f000(%eax),%ah
Code: addb %dh,%al
Code: orb 0xa00af000(%eax),%ah
Code: addb %dh,%al
Code: pushl %esp
Code: incl (%eax)

.... and my .config file looks like this:

#
# Automatically generated make config: don't edit
#

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_BLK_DEV_FD=y
CONFIG_ST506=y

#
# Please see drivers/block/README.ide for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_XD is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_ELF=y
# CONFIG_KERNEL_ELF is not set
CONFIG_M486=y
# CONFIG_SMP is not set

#
# Loadable module support
#
CONFIG_MODVERSIONS=y

#
# Networking options
#
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_FIREWALL is not set
# CONFIG_IP_ACCT is not set
# CONFIG_NET_IPIP is not set

#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
CONFIG_INET_SNARL=y
# CONFIG_TCP_NAGLE_OFF is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CDrom)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set

#
# SCSI low-level drivers
#
CONFIG_SCSI_AHA152X=m
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_NCR53C406A is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_PPP=y

#
# CCP compressors for PPP are only built as modules.
#
# CONFIG_SCC is not set
# CONFIG_PLIP is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_ALPHA is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_LANCE is not set
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
CONFIG_EL3=m
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
CONFIG_NET_POCKET=y
# CONFIG_ATP is not set
# CONFIG_DE600 is not set
# CONFIG_DE620 is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
# CONFIG_MINIX_FS is not set
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_MSDOS_FS=y
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_ISO9660_FS=y
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_SMB_FS is not set

#
# character devices
#
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
CONFIG_PRINTER=y
# CONFIG_BUSMOUSE is not set
CONFIG_PSMOUSE=y
CONFIG_82C710_MOUSE=y
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# Kernel hacking
#
# CONFIG_PROFILE is not set
CONFIG_SCSI_CONSTANTS=y