Since the driver is just using netlink to receive acknowledgements
for command requests, having a large (32K) buffer is unnecessary.
Allocating large buffers on stack will break in application is
using smaller per-thread stacks.

It looks like original code intended to use a smaller buffer
for the read than the socket, so keep that set of defines.

Fixes: ccdcba53a3f4 ("net/mlx5: use Netlink to add/remove MAC addresses")
Cc: nelio.laranje...@6wind.com
Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 drivers/common/mlx5/mlx5_nl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/common/mlx5/mlx5_nl.c b/drivers/common/mlx5/mlx5_nl.c
index d9f0d4129e35..847e78dbcea6 100644
--- a/drivers/common/mlx5/mlx5_nl.c
+++ b/drivers/common/mlx5/mlx5_nl.c
@@ -28,7 +28,7 @@
 
 
 /* Size of the buffer to receive kernel messages */
-#define MLX5_NL_BUF_SIZE (32 * 1024)
+#define MLX5_NL_BUF_SIZE 4096
 /* Send buffer size for the Netlink socket */
 #define MLX5_SEND_BUF_SIZE 32768
 /* Receive buffer size for the Netlink socket */
@@ -330,7 +330,7 @@ mlx5_nl_recv(int nlsk_fd, uint32_t sn, int (*cb)(struct 
nlmsghdr *, void *arg),
             void *arg)
 {
        struct sockaddr_nl sa;
-       char buf[MLX5_RECV_BUF_SIZE];
+       char buf[MLX5_NL_BUF_SIZE];
        struct iovec iov = {
                .iov_base = buf,
                .iov_len = sizeof(buf),
-- 
2.20.1

Reply via email to