Linux 2.4.18-pre4 bonding driver...
A message that is not in the archive (sent off-list or not yet received): [email protected]
Marcelo,
Is this code from linux-2.4.18-pre4/drivers/net/bonding.c safe?
static int bond_close(struct net_device *master)
{
write_lock_irqsave(&bond->lock, flags);
<snip>
bond_release_all(master);
write_unlock_irqrestore(&bond->lock, flags);AFAICS 'bond_release_all()' calls a bunch of lower level networking functions some of which do sleep. It does nothing to release the bond->lock when this occurs.
Cheers,
Trond
From: Trond Myklebust <[email protected]>
Date: Thu, 17 Jan 2002 22:15:00 +0100
Is this code from linux-2.4.18-pre4/drivers/net/bonding.c safe?
We don't know, ask the Bonding maintainers as they asked us to merge in these updates for them.
Franks a lot,
David S. Miller
[email protected]
Quoted 13 lines · Trond Myklebust
Marcelo,
Is this code from
linux-2.4.18-pre4/drivers/net/bonding.csafe?static int
bond_close(struct net_device *master){ write_lock_irqsave(&bond->lock, flags); <snip> bond_release_all(master); write_unlock_irqrestore(&bond->lock, flags);
Quoted 3 lines
AFAICS '
bond_release_all()' calls a bunch of lower level networking functions some of which do sleep. It does nothing to release thebond->lockwhen this occurs.
They are not safe, indeed.
Have you tried to contact the driver authors ?