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

From: Andris Pavenis (andris@stargate.astr.lu.lv)
Date: Thu Feb 24 2000 - 02:46:24 EST


On Wed, 23 Feb 2000, Manfred Spraul wrote:
> Andris, do you use smbfs?

Yes.

And there are also some problems with SMBFS (new with 2.2.X):
After some time connection to shares (shared from WinNT 4.0) is lost.
This problem appeared when I upgraded to 2.2.X. Therefore I used some
periodic task (once per some minutes called 'df -t smbfs') to keep
connection alive

Andris

> 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 : Tue Feb 29 2000 - 21:00:09 EST