Re: NWFS 2.2.2 Source Code for Linux Kernels 2.0/2.2/2.4 Released

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Sat Apr 01 2000 - 16:06:29 EST


Steve,

Looks like what Al Viro said about calling the ioctl() functions in
DISK.C prior to an open call is valid for some of the SCSI disk
drivers. That's what happened here, the scsi driver was called with an
ioctl() prior to an open() call. I am putting in a patch for 2.4 for
the scanning stuff. Al did state that some of the drivers would break
if they got an ioctl call prior to someone opening the device. I will
also do a patch for 2.0 and 2.2.

Jeff

"Steven N. Hirsch" wrote:
>
> On Fri, 31 Mar 2000, Jeff V. Merkey wrote:
>
> > The NWFS 2.2.2 Open Source Code has been posted, and is available for
> > download at www.timpanogas.com or 207.109.151.240. The files
> > nwfs0331.zip and nwfs0331.tar.gz contain this release. There is still
> > much work to do on Linux 2.4. Support for Linux Kernel's 2.0/2.2 is
> > nearing completion.
>
> Hi Jeff,
>
> I downloaded nwfs0331 and tried bringing the module up on a 2.2.14-pre15
> SMP system. The build goes without incident, but this repeatable oops
> occurs when loading the module:
>
> ksymoops 2.3.3 on i686 2.2.15pre15. Options used
> -V (default)
> -k /proc/ksyms (default)
> -l /proc/modules (default)
> -o /lib/modules/2.2.15pre15/ (default)
> -m /lib/modules/2.2.15pre15/System.map (specified)
>
> Mar 31 21:26:02 pii kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000000c
> Mar 31 21:26:02 pii kernel: current->tss.cr3 = 04713000, %cr3 = 04713000
> Mar 31 21:26:02 pii kernel: *pde = 00000000
> Mar 31 21:26:02 pii kernel: Oops: 0000
> Mar 31 21:26:02 pii kernel: CPU: 1
> Mar 31 21:26:02 pii kernel: EIP: 0010:[scsi_block_when_processing_errors+11/300]
> Mar 31 21:26:02 pii kernel: EIP: 0010:[<c01c1a43>]
> Using defaults from ksymoops -t elf32-i386 -a i386
> Mar 31 21:26:02 pii kernel: EFLAGS: 00010286
> Mar 31 21:26:02 pii kernel: eax: 00000005 ebx: c15f1a2c ecx: c01c74f4 edx: 00000000
> Mar 31 21:26:02 pii kernel: esi: 00000010 edi: 00000001 ebp: 00000000 esp: c15f197c
> Mar 31 21:26:02 pii kernel: ds: 0018 es: 0018 ss: 0018
> Mar 31 21:26:02 pii kernel: Process insmod (pid: 2947, process nr: 94, stackpage=c15f1000)
> Mar 31 21:26:02 pii kernel: Stack: 00000001 00000810 00001000 00000008 00000028 00000008 c01c755e 00000000
> Mar 31 21:26:02 pii kernel: c15f1a34 00000008 0000002c 00000810 00000000 00001000 00000008 0010002c
> Mar 31 21:26:02 pii kernel: 00000001 00000000 00000008 c15f1a2c 00001000 c01296ff 00000008 00000000
> Mar 31 21:26:02 pii kernel: Call Trace: [sd_ioctl+106/1292] [get_blkfops+27/32] [<d0132259>] [<d0131048>] [sd_ioctl+0/1292] [kfree_skbmem+51/64] [__kfree_skb+152/160]
> Mar 31 21:26:02 pii kernel: Call Trace: [<c01c755e>] [<c01296ff>] [<d0132259>] [<d0131048>] [<c01c74f4>] [<c0164407>] [<c01644ac>]
> Mar 31 21:26:02 pii kernel: [<c0164407>] [<c01644ac>] [<d0061346>] [<d0060e44>] [<c010bf9b>] [<d00241f9>] [<c0168f49>] [<c01242f3>]
> Mar 31 21:26:02 pii kernel: [<c01248f3>] [<d0131048>] [<d01317bd>] [<d01317f9>] [<d0151e9b>] [<d0158040>] [<d01518ab>] [<d0131048>]
> Mar 31 21:26:02 pii kernel: [<d0131048>] [<d01317bd>] [<d01317f9>] [<d0151e9b>] [<d0158040>] [<d0150622>] [<d0131048>] [do_xprt_transmit+1018/1044]
> Mar 31 21:26:02 pii kernel: [<d0131048>] [<d01317bd>] [<d01317f9>] [<d0151e9b>] [<d0158040>] [<d0150622>] [<d0131048>] [<c01876b6>]
> Mar 31 21:26:02 pii kernel: [<d01326ea>] [<d0134982>] [<d0131048>] [rpc_release_client+84/104] [rpc_release_task+399/492] [__rpc_execute+714/728] [rpc_call_sync+134/148] [xprt_timer+0/100]
> Mar 31 21:26:02 pii kernel: [<d01326ea>] [<d0134982>] [<d0131048>] [<c0185470>] [<c01894e3>] [<c0188f0e>] [<c0185626>] [<c0187124>]
> Mar 31 21:26:02 pii kernel: [<c0152f05>] [<c014a763>] [<c014f40b>] [<c0217ea0>] [<c01a2d97>] [<c01a58c9>] [<c0117088>] [<d0131048>]
> Mar 31 21:26:02 pii kernel: [<d0131048>] [<d01315c1>] [<d0158200>] [<d0131000>] [sys_init_module+1186/1316] [<d0167460>] [<d012b000>] [<d0131048>]
> Mar 31 21:26:02 pii kernel: [<d0131048>] [<d01315c1>] [<d0158200>] [<d0131000>] [<c01191ee>] [<d0167460>] [<d012b000>] [<d0131048>]
> Mar 31 21:26:02 pii kernel: [<c010a1d4>]
> Mar 31 21:26:02 pii kernel: Code: 8b 4d 0c f6 41 70 01 0f 84 03 01 00 00 bf 00 e0 ff ff 21 e7
>
> >>EIP; c01c1a43 <scsi_block_when_processing_errors+b/12c> <=====
> Trace; c01c755e <sd_ioctl+6a/50c>
> Trace; c01296ff <get_blkfops+1b/20>
> Trace; d0132259 <[nwfs]CreateBitBlockList+41/dc>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; c01c74f4 <sd_ioctl+0/50c>
> Trace; c0164407 <kfree_skbmem+33/40>
> Trace; c01644ac <__kfree_skb+98/a0>
> Trace; c0164407 <kfree_skbmem+33/40>
> Trace; c01644ac <__kfree_skb+98/a0>
> Trace; d0061346 <[vmnet]VNetHubReceive+72/7c>
> Trace; d0060e44 <[vmnet]VNetSend+20/3c>
> Trace; c010bf9b <__global_restore_flags+27/44>
> Trace; d00241f9 <[3c59x]boomerang_start_xmit+181/1e8>
> Trace; c0168f49 <qdisc_restart+39/6c>
> Trace; c01242f3 <kmem_cache_grow+217/3c4>
> Trace; c01248f3 <kmalloc+107/198>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01317bd <[nwfs]FlushFAT+75/78>
> Trace; d01317f9 <[nwfs]FlushFATBuffer+39/5c>
> Trace; d0151e9b <[nwfs].data.end+1d70/31b5>
> Trace; d0158040 <[nwfs]__module_using_checksums+4376/a7b5>
> Trace; d01518ab <[nwfs].data.end+1780/31b5>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01317bd <[nwfs]FlushFAT+75/78>
> Trace; d01317f9 <[nwfs]FlushFATBuffer+39/5c>
> Trace; d0151e9b <[nwfs].data.end+1d70/31b5>
> Trace; d0158040 <[nwfs]__module_using_checksums+4376/a7b5>
> Trace; d0150622 <[nwfs].data.end+4f7/31b5>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01317bd <[nwfs]FlushFAT+75/78>
> Trace; d01317f9 <[nwfs]FlushFATBuffer+39/5c>
> Trace; d0151e9b <[nwfs].data.end+1d70/31b5>
> Trace; d0158040 <[nwfs]__module_using_checksums+4376/a7b5>
> Trace; d0150622 <[nwfs].data.end+4f7/31b5>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; c01876b6 <do_xprt_transmit+3fa/414>
> Trace; d01326ea <[nwfs]SetBitBlockValue+9a/c4>
> Trace; d0134982 <[nwfs]WriteClusterWithOffset+56/194>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01326ea <[nwfs]SetBitBlockValue+9a/c4>
> Trace; d0134982 <[nwfs]WriteClusterWithOffset+56/194>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; c0185470 <rpc_release_client+54/68>
> Trace; c01894e3 <rpc_release_task+18f/1ec>
> Trace; c0188f0e <__rpc_execute+2ca/2d8>
> Trace; c0185626 <rpc_call_sync+86/94>
> Trace; c0187124 <xprt_timer+0/64>
> Trace; c0152f05 <nfs3_proc_lookup+a5/10c>
> Trace; c014a763 <nfs_refresh_inode+6f/488>
> Trace; c014f40b <nfs_lookup_revalidate+1cb/284>
> Trace; c0217ea0 <RCSid+9960/9b60>
> Trace; c01a2d97 <lf+2f/60>
> Trace; c01a58c9 <vt_console_print+2f1/308>
> Trace; c0117088 <printk+190/19c>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01315c1 <[nwfs]InitializeFAT_LRU+65/70>
> Trace; d0158200 <[nwfs]__module_using_checksums+4536/a7b5>
> Trace; d0131000 <[nwfs]AddToUserQuotaHash+54/7c>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; d01315c1 <[nwfs]InitializeFAT_LRU+65/70>
> Trace; d0158200 <[nwfs]__module_using_checksums+4536/a7b5>
> Trace; d0131000 <[nwfs]AddToUserQuotaHash+54/7c>
> Trace; c01191ee <sys_init_module+4a2/524>
> Trace; d0167460 <END_OF_CODE+8fe1/????>
> Trace; d012b000 <[nwfs]MountRawVolume+e0/310>
> Trace; d0131048 <[nwfs]RemoveUserQuotaHash+20/94>
> Trace; c010a1d4 <system_call+34/38>
> Code; c01c1a43 <scsi_block_when_processing_errors+b/12c>
> 00000000 <_EIP>:
> Code; c01c1a43 <scsi_block_when_processing_errors+b/12c> <=====
> 0: 8b 4d 0c movl 0xc(%ebp),%ecx <=====
> Code; c01c1a46 <scsi_block_when_processing_errors+e/12c>
> 3: f6 41 70 01 testb $0x1,0x70(%ecx)
> Code; c01c1a4a <scsi_block_when_processing_errors+12/12c>
> 7: 0f 84 03 01 00 00 je 110 <_EIP+0x110> c01c1b53 <scsi_block_when_processing_errors+11b/12c>
> Code; c01c1a50 <scsi_block_when_processing_errors+18/12c>
> d: bf 00 e0 ff ff movl $0xffffe000,%edi
> Code; c01c1a55 <scsi_block_when_processing_errors+1d/12c>
> 12: 21 e7 andl %esp,%edi
>
> -----------------------------------------------
>
> Once in this state, the module shows up as "initializing" in lsmod and
> cannot be removed (i.e. reboot time). The log discloses:
>
> Mar 31 21:26:01 pii kernel: nwfs: initialized successfully
> Mar 31 21:26:01 pii kernel: starting REMIRROR process ...
> Mar 31 21:26:01 pii kernel: starting LRU process ...
> Mar 31 21:26:01 pii kernel: starting ASYNCH_IO processes [ 0 1 2 3 4 5 6 7 ]
> Mar 31 21:26:01 pii kernel: starting LRU Timer ...
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-33
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-33
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-34
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-34
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-36
> Mar 31 21:26:02 pii modprobe: modprobe: Can't locate module block-major-36
>
> (oops follows..)
>
> ----------------------------------------------
>
> A few questions:
>
> - Does the module expect that an NWFS will exist at load time?
>
> - If so, how can I create it? The linux utilities (which I notice have
> been pulled from your ftp site) simply dump core immediately, doing
> nothing of use.
>
> Let me know how I can help.
>
> Steve
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:08 EST