SMBFS: recvmsg called within BH (was: Re: One more boobytrap needed for 2.2.15pre ?)

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Wed Feb 23 2000 - 15:47:43 EST


Andris, do you use smbfs?
I found the first codepath that could cause your problems:

Within net bottom half handler:
ip_rcv()
 calls ip_local_deliver()
 calls tcp_v4_rcv()
 calls tcp_v4_do_rcv()
 calls tcp_rcv_established()
 calls sk->data_ready

could be smb_data_callback() [in fs/smbfs/sock.c]
 calls _recvfrom()
 calls socket->ops->recvmsg()
could be inet_recvmsg
 calls tcp_recvmsg !!!!! < this must not be called from an BH.

Ok, it seems that smb_data_callback() is broken in 2.2.14.
It cannot read the data directly, it must wake the waiting thread up,
and the thread must call recvmsg() at process level.

--
	Manfred

- 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 : Wed Feb 23 2000 - 21:00:34 EST