diff mbox

r8169: initialize rtl8169_stats seqlock

Message ID 20140225011228.GC14970@merlin.infradead.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Kyle McMartin Feb. 25, 2014, 1:12 a.m. UTC
From: Kyle McMartin <kyle@redhat.com>

Boris reports he's seeing:
> [    9.195943] INFO: trying to register non-static key.
> [    9.196031] the code is fine but needs lockdep annotation.
> [    9.196031] turning off the locking correctness validator.
> [    9.196031] CPU: 1 PID: 933 Comm: modprobe Not tainted 3.14.0-rc4+ #1
with the r8169 driver.

These are occuring because the seqcount embedded in u64_stats_sync on
32-bit SMP is uninitialized which is making lockdep unhappy.

Signed-off-by: Kyle McMartin <kyle@redhat.com>

---

Patch is only compile tested by me, as these initializers will disappear
on 64-bit.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller Feb. 25, 2014, 1:32 a.m. UTC | #1
From: Kyle McMartin <kyle@infradead.org>
Date: Mon, 24 Feb 2014 20:12:28 -0500

> From: Kyle McMartin <kyle@redhat.com>
> 
> Boris reports he's seeing:
>> [    9.195943] INFO: trying to register non-static key.
>> [    9.196031] the code is fine but needs lockdep annotation.
>> [    9.196031] turning off the locking correctness validator.
>> [    9.196031] CPU: 1 PID: 933 Comm: modprobe Not tainted 3.14.0-rc4+ #1
> with the r8169 driver.
> 
> These are occuring because the seqcount embedded in u64_stats_sync on
> 32-bit SMP is uninitialized which is making lockdep unhappy.
> 
> Signed-off-by: Kyle McMartin <kyle@redhat.com>

Good catch, applied, thanks Kyle.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Borislav Petkov Feb. 25, 2014, 7:50 a.m. UTC | #2
On Mon, Feb 24, 2014 at 08:32:40PM -0500, David Miller wrote:
> > Boris reports he's seeing:
> >> [    9.195943] INFO: trying to register non-static key.
> >> [    9.196031] the code is fine but needs lockdep annotation.
> >> [    9.196031] turning off the locking correctness validator.
> >> [    9.196031] CPU: 1 PID: 933 Comm: modprobe Not tainted 3.14.0-rc4+ #1
> > with the r8169 driver.
> > 
> > These are occuring because the seqcount embedded in u64_stats_sync on
> > 32-bit SMP is uninitialized which is making lockdep unhappy.
> > 
> > Signed-off-by: Kyle McMartin <kyle@redhat.com>
> 
> Good catch, applied, thanks Kyle.

Thanks Kyle!

Tested-by: Borislav Petkov <bp@suse.de>
diff mbox

Patch

--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -7118,6 +7118,8 @@  rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	}
 
 	mutex_init(&tp->wk.mutex);
+	u64_stats_init(&tp->rx_stats.syncp);
+	u64_stats_init(&tp->tx_stats.syncp);
 
 	/* Get MAC address */
 	for (i = 0; i < ETH_ALEN; i++)