No subject
Tue Nov 20 16:43:21 MST 2007
create_buffers+4C: STW r0,-116(r30)
LDI 4096,r4
SUB r4,r8,r4
COMIB,> 0,r4,create_buffers+0x00a0
LDI 0,r3
ZDEPI -1,31,16,r5
BL get_unused_buffer_head,r2
OR r9,r0,r26
MOVB,=,N r28,r26,create_buffers+0x00a8 ***** %r2
STW r3,20(r26)
Just called get_unused_buffer_head, which died on the indicated line:
get_unused_buffer_head+4C: ADDIL L%0x73000,r27
LDO -1(r20),r20 ; nr_unused_buffer_heads--
LDW 232(r1),r3 ; r3 = bh
STW r20,264(r4) ; nr_unused_buffer_heads--
OR r3,r0,r28 ; return value = r3
LDW 28(r3),r19 *** died here
B get_unused_buffer_head+0x00e0
STW r19,232(r1)
Since %r3 is zero at this moment, we die. I think we are dying trying
to execute 'unused_list = bh->b_next_free;' in get_unused_buffer_head()
with bh = 0. No idea why.
-P
More information about the parisc-linux
mailing list