Skip to contentSkip to conversation

drivers/net/wan/z85230.c: Use designated initializers

PATCH In review Kees Cook 2 participants 3 messages Jul 31, 2017 – Aug 2, 2017

Subsystems (2)
lore
Share & tools
lore

Kees Cook

author
#0 lore raw

PATCH 1/1 drivers/net/wan/z85230.c: Use designated initializers

In preparation for the randstruct gcc plugin performing randomization of structures that are entirely function pointers, use designated initializers so the compiler doesn't get angry.

---
This is a prerequisite for the future randstruct fptr randomization. I'd prefer to carry this in my gcc-plugin tree for v4.14 with an Ack from someone on net-dev, or if possible, have it applied to v4.13 via net-dev.

Thanks!

---
 drivers/net/wan/z85230.c | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)
drivers/net/wan/z85230.c +14 -16
index 2f0bd6955f33..deea41e96f01 100644
@@ -483,11 +483,10 @@ static void z8530_status(struct z8530_channel *chan)
 	write_zsctrl(chan, RES_H_IUS);
 }
 
-struct z8530_irqhandler z8530_sync =
-{
-	z8530_rx,
-	z8530_tx,
-	z8530_status
+struct z8530_irqhandler z8530_sync = {
+	.rx = z8530_rx,
+	.tx = z8530_tx,
+	.status = z8530_status,
 };
 
 EXPORT_SYMBOL(z8530_sync);
@@ -605,15 +604,15 @@ static void z8530_dma_status(struct z8530_channel *chan)
 }
 
 static struct z8530_irqhandler z8530_dma_sync = {
-	z8530_dma_rx,
-	z8530_dma_tx,
-	z8530_dma_status
+	.rx = z8530_dma_rx,
+	.tx = z8530_dma_tx,
+	.status = z8530_dma_status,
 };
 
 static struct z8530_irqhandler z8530_txdma_sync = {
-	z8530_rx,
-	z8530_dma_tx,
-	z8530_dma_status
+	.rx = z8530_rx,
+	.tx = z8530_dma_tx,
+	.status = z8530_dma_status,
 };
 
 /**
@@ -678,11 +677,10 @@ static void z8530_status_clear(struct z8530_channel *chan)
 	write_zsctrl(chan, RES_H_IUS);
 }
 
-struct z8530_irqhandler z8530_nop=
-{
-	z8530_rx_clear,
-	z8530_tx_clear,
-	z8530_status_clear
+struct z8530_irqhandler z8530_nop = {
+	.rx = z8530_rx_clear,
+	.tx = z8530_tx_clear,
+	.status = z8530_status_clear,
 };
 
 
Signature · 6 lines
2.7.4


-- 
Kees Cook
Pixel Security
maintainer Acked-by on v1 1/1
#1 lore raw

From: Kees Cook <[email protected]>
Date: Sun, 30 Jul 2017 18:31:17 -0700

Quoted 10 lines

In preparation for the randstruct gcc plugin performing randomization of structures that are entirely function pointers, use designated initializers so the compiler doesn't get angry.

---
This is a prerequisite for the future randstruct fptr randomization. I'd prefer to carry this in my gcc-plugin tree for v4.14 with an Ack from someone on net-dev, or if possible, have it applied to v4.13 via net-dev.

Please queue this up into the gcc-plugin tree then:

It isn't a bug fix so I would only have put it into 'net-next' rather than 'net'.

Thanks.

author
#2 lore raw
Quoted 14 lines · David Miller

From: Kees Cook <[email protected]>
Date: Sun, 30 Jul 2017 18:31:17 -0700

Quoted 10 lines

In preparation for the randstruct gcc plugin performing randomization of structures that are entirely function pointers, use designated initializers so the compiler doesn't get angry.

---
This is a prerequisite for the future randstruct fptr randomization. I'd prefer to carry this in my gcc-plugin tree for v4.14 with an Ack from someone on net-dev, or if possible, have it applied to v4.13 via net-dev.

Quoted 6 lines

Please queue this up into the gcc-plugin tree then:

It isn't a bug fix so I would only have put it into 'net-next' rather than 'net'.

Okay, sounds good. I'll carry it. Thanks!

-Kees

Signature · 2 lines
Kees Cook
Pixel Security