2018-09-21 10:41:50

by Håkon Bugge

[permalink] [raw]
Subject: [PATCH 0/2] net: if_arp: use define instead of hard-coded value

Struct arpreq contains the name of the device. All other places in the
kernel, the define IFNAMSIZ is used to designate its size. But in
if_arp.h, a literal constant is used.

As it could be good reasons to use constants instead of the defines in
include files under uapi, it seems to be OK to use the define here,
without opening a can of worms in user-land.

This because if_arp.h includes netdevice.h, which also uses
IFNAMSIZ. For the distros I have checked, this also holds true for the
use-land side.

The series also fixes some incorrect indents.

Håkon Bugge (2):
net: if_arp: Fix incorrect indents
net: if_arp: use define instead of hard-coded value

include/uapi/linux/if_arp.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

--
2.14.3



2018-09-21 10:40:41

by Håkon Bugge

[permalink] [raw]
Subject: [PATCH 2/2] net: if_arp: use define instead of hard-coded value

uapi/linux/if_arp.h includes linux/netdevice.h, which uses
IFNAMSIZ. Hence, use it instead of hard-coded value.

Signed-off-by: Håkon Bugge <[email protected]>
---
include/uapi/linux/if_arp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/if_arp.h b/include/uapi/linux/if_arp.h
index b68b4b3d9172..c3cc5a9e5eaf 100644
--- a/include/uapi/linux/if_arp.h
+++ b/include/uapi/linux/if_arp.h
@@ -118,7 +118,7 @@ struct arpreq {
struct sockaddr arp_ha; /* hardware address */
int arp_flags; /* flags */
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
- char arp_dev[16];
+ char arp_dev[IFNAMSIZ];
};

struct arpreq_old {
--
2.14.3


2018-09-21 10:41:21

by Håkon Bugge

[permalink] [raw]
Subject: [PATCH 1/2] net: if_arp: Fix incorrect indents

Fixing incorrect indents and align comments.

Signed-off-by: Håkon Bugge <[email protected]>
---
include/uapi/linux/if_arp.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/include/uapi/linux/if_arp.h b/include/uapi/linux/if_arp.h
index 4605527ca41b..b68b4b3d9172 100644
--- a/include/uapi/linux/if_arp.h
+++ b/include/uapi/linux/if_arp.h
@@ -114,18 +114,18 @@

/* ARP ioctl request. */
struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
- char arp_dev[16];
+ struct sockaddr arp_pa; /* protocol address */
+ struct sockaddr arp_ha; /* hardware address */
+ int arp_flags; /* flags */
+ struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
+ char arp_dev[16];
};

struct arpreq_old {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
+ struct sockaddr arp_pa; /* protocol address */
+ struct sockaddr arp_ha; /* hardware address */
+ int arp_flags; /* flags */
+ struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
};

/* ARP Flag values. */
--
2.14.3


2018-09-26 09:29:08

by Stephen Hemminger

[permalink] [raw]
Subject: Re: [PATCH 2/2] net: if_arp: use define instead of hard-coded value

On Fri, 21 Sep 2018 12:39:30 +0200
Håkon Bugge <[email protected]> wrote:

> uapi/linux/if_arp.h includes linux/netdevice.h, which uses
> IFNAMSIZ. Hence, use it instead of hard-coded value.
>
> Signed-off-by: Håkon Bugge <[email protected]>

I tested build of iproute2 with updated header and there is no issue.

Tested-by: Stephen Hemminger <[email protected]>