> >>EIP: c012c2c8 <locks_remove_locks+28/94>
> Trace: c012dcbf <dput+8b/f4>
> Trace: c0121a9b <__fput+43/50>
> Trace: c0121adf <close_fp+37/80>
> Trace: c0114da8 <do_exit+fc/1f0>
> Trace: c01096ec <die_if_kernel+44/48>
> Trace: c0186add <sprintf+20b1/2988>
> Trace: c0187649 <bad_pmd_string+295/2c8>
> Trace: c010ddfe <do_page_fault+31a/32c>
> Trace: c0187649 <bad_pmd_string+295/2c8>
> Trace: c010933a <error_code+32/3c>
> Trace: c01274c4 <sys_newfstat+3c/68>
> Trace: c01091fa <system_call+3a/40>
> Code: c012c2c8 <locks_remove_locks+28/94>
> Code: c012c2c8 <locks_remove_locks+28/94> 8a 46 24 movb 0x24(%esi),%al
> Code: c012c2cb <locks_remove_locks+2b/94> a8 01 testb $0x1,%al
> Code: c012c2cd <locks_remove_locks+2d/94> 74 09 je c012c2d8 <locks_remove_locks+38/94>
> Code: c012c2cf <locks_remove_locks+2f/94> 8b 4c 24 54 movl 0x54(%esp,1),%ecx
> Code: c012c2d9 <locks_remove_locks+39/94> 39 4e 14 cmpl %ecx,0x14(%esi)
> Code: c012c2dc <locks_remove_locks+3c/94> 74 10 je c012c2e8 <locks_remove_locks+48/94>
> Code: c012c2de <locks_remove_locks+3e/94> a8 02 testb $0x2,%al
> Code: c012c2e0 <locks_remove_locks+40/94> 74 48 je c012c324 <locks_remove_locks+84/94>
Hi Bill et. al.,
Looks like close_fp() is handing locks_remove_locks() a file pointer
with a NULL dentry. At the moment there are no pointer checks in
lock_remove_locks() because this didn't used to be possible.
I don't know whether locks_remove_locks() should handle this case, or
whether to handle it before deciding to call locks_remove_locks() or
whether perhaps it is symptomatic of a dentry problem i.e. that the NULL
dentry is a bug in itself, not just a new case for us to handle.
Comments?
-Andy
-- Andy Walker Kvaerner Engineering a.s. Andrew.Walker@lysaker.kvaerner.no P.O. Box 222, N-1324 Lysaker, Norway......if the answer isn't violence, neither is your silence......
(pwei barmy army - oslo "filial")