* [PATCH iproute2-next] libnetlink: Use NLMSG_LENGTH to set nlmsg_len
@ 2018-10-04 21:37 David Ahern
2018-10-05 20:09 ` David Ahern
0 siblings, 1 reply; 2+ messages in thread
From: David Ahern @ 2018-10-04 21:37 UTC (permalink / raw)
To: netdev; +Cc: stephen, David Ahern
From: David Ahern <dsahern@gmail.com>
Some of the inner headers are not 4-byte aligned, so use
NLMSG_LENGTH instead of sizeof(req) to set nlmsg_len.
Signed-off-by: David Ahern <dsahern@gmail.com>
---
lib/libnetlink.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/lib/libnetlink.c b/lib/libnetlink.c
index 9276be29363f..449536197f60 100644
--- a/lib/libnetlink.c
+++ b/lib/libnetlink.c
@@ -238,7 +238,7 @@ int rtnl_addrdump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct ifaddrmsg ifm;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg)),
.nlh.nlmsg_type = RTM_GETADDR,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -254,7 +254,7 @@ int rtnl_addrlbldump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct ifaddrlblmsg ifal;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrlblmsg)),
.nlh.nlmsg_type = RTM_GETADDRLABEL,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -296,7 +296,7 @@ int rtnl_ruledump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct fib_rule_hdr frh;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct fib_rule_hdr)),
.nlh.nlmsg_type = RTM_GETRULE,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -312,7 +312,7 @@ int rtnl_neighdump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct ndmsg ndm;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ndmsg)),
.nlh.nlmsg_type = RTM_GETNEIGH,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -328,7 +328,7 @@ int rtnl_neightbldump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct ndtmsg ndtmsg;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ndtmsg)),
.nlh.nlmsg_type = RTM_GETNEIGHTBL,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -344,7 +344,7 @@ int rtnl_mdbdump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct br_port_msg bpm;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct br_port_msg)),
.nlh.nlmsg_type = RTM_GETMDB,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -360,7 +360,7 @@ int rtnl_netconfdump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct netconfmsg ncm;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct netconfmsg)),
.nlh.nlmsg_type = RTM_GETNETCONF,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
@@ -376,7 +376,7 @@ int rtnl_nsiddump_req(struct rtnl_handle *rth, int family)
struct nlmsghdr nlh;
struct rtgenmsg rtm;
} req = {
- .nlh.nlmsg_len = sizeof(req),
+ .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtgenmsg)),
.nlh.nlmsg_type = RTM_GETNSID,
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
--
2.11.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH iproute2-next] libnetlink: Use NLMSG_LENGTH to set nlmsg_len
2018-10-04 21:37 [PATCH iproute2-next] libnetlink: Use NLMSG_LENGTH to set nlmsg_len David Ahern
@ 2018-10-05 20:09 ` David Ahern
0 siblings, 0 replies; 2+ messages in thread
From: David Ahern @ 2018-10-05 20:09 UTC (permalink / raw)
To: David Ahern, netdev; +Cc: stephen
On 10/4/18 3:37 PM, David Ahern wrote:
> From: David Ahern <dsahern@gmail.com>
>
> Some of the inner headers are not 4-byte aligned, so use
> NLMSG_LENGTH instead of sizeof(req) to set nlmsg_len.
>
this patch is wrong; headers are supposed to be 4-bytes aligned.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-10-06 3:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-04 21:37 [PATCH iproute2-next] libnetlink: Use NLMSG_LENGTH to set nlmsg_len David Ahern
2018-10-05 20:09 ` David Ahern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).