[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130219.005247.363934836692752429.davem@davemloft.net>
Date: Tue, 19 Feb 2013 00:52:47 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: fubar@...ibm.com
Cc: nikolay@...hat.com, netdev@...r.kernel.org, andy@...yhouse.net
Subject: Re: [PATCH net 2/3] bonding: Fix initialize after use for 3ad
machine state spinlock
From: Jay Vosburgh <fubar@...ibm.com>
Date: Mon, 18 Feb 2013 13:33:10 -0800
> Nikolay Aleksandrov <nikolay@...hat.com> wrote:
>
>>The 3ad machine state spinlock can be used before it is inititialized
>>while doing bond_enslave() (and the port is being initialized) since
>>port->slave is set before the lock is prepared, thus causing soft
>>lock-ups and a multitude of other nasty bugs.
>
> Does this change cause the "uninitialized port" warnings in
> bond_3ad_state_machine_handler and bond_3ad_rx_indication to
> intermittently print during the enslavement process? If so (and it
> looks to me like it will), I think the warnings should be removed, since
> after this change, port->slave being NULL isn't really an error
> condition that needs a warning to the log.
>
>>Signed-off-by: Nikolay Aleksandrov <nikolay@...hat.com>
...
>>-static inline void __initialize_port_locks(struct port *port)
>>+static inline void __initialize_port_locks(struct slave *port)
>> {
>> // make sure it isn't called twice
>>- spin_lock_init(&(SLAVE_AD_INFO(port->slave).state_machine_lock));
>>+ spin_lock_init(&(SLAVE_AD_INFO(port).state_machine_lock));
>
> Change the name of the variable here, too, not just the type.
> This is confusing.
I made this adjustment and applied Nikolay's patch.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists