Which is why I have always preferred sizeof(struct foo) over
sizeof(var).
Signed-off-by: Jean Delvare <[email protected]>
Cc: Randy Dunlap <[email protected]>
---
Stable team, the non-documentation part of this fix applies to 2.6.31,
2.6.30 and 2.6.27.
Documentation/networking/timestamping/timestamping.c | 2 +-
drivers/net/iseries_veth.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- linux-2.6.32-rc1.orig/Documentation/networking/timestamping/timestamping.c 2009-06-10 05:05:27.000000000 +0200
+++ linux-2.6.32-rc1/Documentation/networking/timestamping/timestamping.c 2009-10-02 11:07:19.000000000 +0200
@@ -381,7 +381,7 @@ int main(int argc, char **argv)
memset(&hwtstamp, 0, sizeof(hwtstamp));
strncpy(hwtstamp.ifr_name, interface, sizeof(hwtstamp.ifr_name));
hwtstamp.ifr_data = (void *)&hwconfig;
- memset(&hwconfig, 0, sizeof(&hwconfig));
+ memset(&hwconfig, 0, sizeof(hwconfig));
hwconfig.tx_type =
(so_timestamping_flags & SOF_TIMESTAMPING_TX_HARDWARE) ?
HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
--- linux-2.6.32-rc1.orig/drivers/net/iseries_veth.c 2009-09-28 10:28:42.000000000 +0200
+++ linux-2.6.32-rc1/drivers/net/iseries_veth.c 2009-10-02 11:07:15.000000000 +0200
@@ -495,7 +495,7 @@ static void veth_take_cap_ack(struct vet
cnx->remote_lp);
} else {
memcpy(&cnx->cap_ack_event, event,
- sizeof(&cnx->cap_ack_event));
+ sizeof(cnx->cap_ack_event));
cnx->state |= VETH_STATE_GOTCAPACK;
veth_kick_statemachine(cnx);
}
--
Jean Delvare
On Fri, 2 Oct 2009 11:30:38 +0200 Jean Delvare wrote:
> Which is why I have always preferred sizeof(struct foo) over
> sizeof(var).
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
I also prefer to use sizeof(struct xyz) in my non-kernel code
instead of sizeof(var).
> ---
> Stable team, the non-documentation part of this fix applies to 2.6.31,
> 2.6.30 and 2.6.27.
>
> Documentation/networking/timestamping/timestamping.c | 2 +-
> drivers/net/iseries_veth.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> --- linux-2.6.32-rc1.orig/Documentation/networking/timestamping/timestamping.c 2009-06-10 05:05:27.000000000 +0200
> +++ linux-2.6.32-rc1/Documentation/networking/timestamping/timestamping.c 2009-10-02 11:07:19.000000000 +0200
> @@ -381,7 +381,7 @@ int main(int argc, char **argv)
> memset(&hwtstamp, 0, sizeof(hwtstamp));
> strncpy(hwtstamp.ifr_name, interface, sizeof(hwtstamp.ifr_name));
> hwtstamp.ifr_data = (void *)&hwconfig;
> - memset(&hwconfig, 0, sizeof(&hwconfig));
> + memset(&hwconfig, 0, sizeof(hwconfig));
> hwconfig.tx_type =
> (so_timestamping_flags & SOF_TIMESTAMPING_TX_HARDWARE) ?
> HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
> --- linux-2.6.32-rc1.orig/drivers/net/iseries_veth.c 2009-09-28 10:28:42.000000000 +0200
> +++ linux-2.6.32-rc1/drivers/net/iseries_veth.c 2009-10-02 11:07:15.000000000 +0200
> @@ -495,7 +495,7 @@ static void veth_take_cap_ack(struct vet
> cnx->remote_lp);
> } else {
> memcpy(&cnx->cap_ack_event, event,
> - sizeof(&cnx->cap_ack_event));
> + sizeof(cnx->cap_ack_event));
> cnx->state |= VETH_STATE_GOTCAPACK;
> veth_kick_statemachine(cnx);
> }
>
>
> --
> Jean Delvare
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
---
~Randy
From: Jean Delvare <[email protected]>
Date: Fri, 2 Oct 2009 11:30:38 +0200
> Which is why I have always preferred sizeof(struct foo) over
> sizeof(var).
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Randy Dunlap <[email protected]>
Any time you see "&" in a sizeof() expression, it's almost
certainly a bug. Something for the folks with automated
tools to look for if they haven't already :-)
I'll apply this, thanks.