lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150225164655.GL2039@nanopsycho.orion>
Date:	Wed, 25 Feb 2015 17:46:55 +0100
From:	Jiri Pirko <jiri@...nulli.us>
To:	Vadim Kochan <vadim4j@...il.com>
Cc:	stephen@...workplumber.org, netdev@...r.kernel.org
Subject: Re: [PATCH iproute2] lib: Replace 16384 netlink buf by macro

Wed, Feb 25, 2015 at 05:04:17PM CET, vadim4j@...il.com wrote:
>From: Vadim Kochan <vadim4j@...il.com>
>
>Replaced hard coded 16384 sized netlink message buffer
>by NL_BUF(x) macro.
>
>Buffer size can be overrided by -DNLBUF_SIZE.
>
>Signed-off-by: Vadim Kochan <vadim4j@...il.com>
>---
> include/libnetlink.h | 6 ++++++
> ip/iplink.c          | 2 +-
> lib/libnetlink.c     | 8 ++++----
> misc/ss.c            | 2 +-
> 4 files changed, 12 insertions(+), 6 deletions(-)
>
>diff --git a/include/libnetlink.h b/include/libnetlink.h
>index 898275b..883f581 100644
>--- a/include/libnetlink.h
>+++ b/include/libnetlink.h
>@@ -170,5 +170,11 @@ extern int rtnl_from_file(FILE *, rtnl_filter_t handler,
>  * messages from dump file */
> #define NLMSG_TSTAMP	15
> 
>+#ifndef NLBUF_SIZE
>+#define NLBUF_SIZE 16384
>+#endif
>+
>+#define NL_BUF(b) char  b[NLBUF_SIZE]
>+
> #endif /* __LIBNETLINK_H__ */
> 
>diff --git a/ip/iplink.c b/ip/iplink.c
>index 5893ee4..b9949a8 100644
>--- a/ip/iplink.c
>+++ b/ip/iplink.c
>@@ -770,7 +770,7 @@ int iplink_get(unsigned int flags, char *name, __u32 filt_mask)
> {
> 	int len;
> 	struct iplink_req req;
>-	char answer[16384];
>+	NL_BUF(answer);

Why to obfuscate this? "char answer[NLBUF_SIZE];" seems allright...

> 
> 	memset(&req, 0, sizeof(req));
> 
>diff --git a/lib/libnetlink.c b/lib/libnetlink.c
>index 77e07ef..1f7a173 100644
>--- a/lib/libnetlink.c
>+++ b/lib/libnetlink.c
>@@ -194,7 +194,7 @@ int rtnl_dump_filter_l(struct rtnl_handle *rth,
> 		.msg_iov = &iov,
> 		.msg_iovlen = 1,
> 	};
>-	char buf[16384];
>+	NL_BUF(buf);
> 	int dump_intr = 0;
> 
> 	iov.iov_base = buf;
>@@ -317,7 +317,7 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
> 		.msg_iov = &iov,
> 		.msg_iovlen = 1,
> 	};
>-	char   buf[16384];
>+	NL_BUF(buf);
> 
> 	memset(&nladdr, 0, sizeof(nladdr));
> 	nladdr.nl_family = AF_NETLINK;
>@@ -432,7 +432,7 @@ int rtnl_listen(struct rtnl_handle *rtnl,
> 		.msg_iov = &iov,
> 		.msg_iovlen = 1,
> 	};
>-	char   buf[16384];
>+	NL_BUF(buf);
> 
> 	memset(&nladdr, 0, sizeof(nladdr));
> 	nladdr.nl_family = AF_NETLINK;
>@@ -498,7 +498,7 @@ int rtnl_from_file(FILE *rtnl, rtnl_filter_t handler,
> {
> 	int status;
> 	struct sockaddr_nl nladdr;
>-	char   buf[16384];
>+	NL_BUF(buf);
> 	struct nlmsghdr *h = (void*)buf;
> 
> 	memset(&nladdr, 0, sizeof(nladdr));
>diff --git a/misc/ss.c b/misc/ss.c
>index 21a4366..0bd110f 100644
>--- a/misc/ss.c
>+++ b/misc/ss.c
>@@ -2222,7 +2222,7 @@ Exit:
> static int tcp_show_netlink_file(struct filter *f)
> {
> 	FILE	*fp;
>-	char	buf[16384];
>+	NL_BUF(buf);
> 
> 	if ((fp = fopen(getenv("TCPDIAG_FILE"), "r")) == NULL) {
> 		perror("fopen($TCPDIAG_FILE)");
>-- 
>2.2.2
>
>--
>To unsubscribe from this list: send the line "unsubscribe netdev" in
>the body of a message to majordomo@...r.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ