From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,USER_AGENT_GIT,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09FBFC282C4 for ; Wed, 13 Feb 2019 01:58:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C217A222C1 for ; Wed, 13 Feb 2019 01:58:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="PSDHlbt8" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733205AbfBMB6p (ORCPT ); Tue, 12 Feb 2019 20:58:45 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:44835 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728534AbfBMB6p (ORCPT ); Tue, 12 Feb 2019 20:58:45 -0500 Received: by mail-pg1-f193.google.com with SMTP id y1so359657pgk.11 for ; Tue, 12 Feb 2019 17:58:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7TsJhW/cMqfdf50XZdWjINNlRT75e3nymKaNGkp/1bI=; b=PSDHlbt8d+psllpi6xoLRUwsRSBB2uzaac7nRrfA0pU/XTnqz5+wuWW3h93q1BgEOI tLZM52zNZCBy6RPsh4kTNqumYFhtC1nBbhlkkBz7wO5KFeuy0W6laknWhq8iXIAnHaxg i+QdaOcz645dW+oNUvCB9UUFmEYj/n08fLW4IqriwB1YM+z/S0EkD+BmrLKmIw7j6DWE hmKzu4R6BRGarrEb5wq6EcSxROfRQ/IZDR3BSOioIWOBkpSygfm+4mHO5b20vFJSZCCu h2b/RMQiK59IKdAeCXT85gs22ZtbKbl1T12NCIXr72/Omn21f/fYCG5F6Uq4KGjBcq5r kKqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7TsJhW/cMqfdf50XZdWjINNlRT75e3nymKaNGkp/1bI=; b=nQD6rduJkDGAXDDbpq6jJrRUg30JUEJsov+8ObL76HgtqoKiTeLY5gDrYA3YJ/Muxg wP0nP1fHHjmNilC2d8/y3owHjTui76I5ChlwrLaNNlCxymvuyGS70stj90a0b+vTJhKh MJPi8eWvyG41fOT29S1CsxKpKxC1+qqZeeFO0NO2tvuTF7472CWxz69sRQ+vXFm2/j8g EQ2BP9hsjoQdb483aS9MQIzKhQfUc/d3qlm98BbanQm6SlTw2BaiQrjt5Dl4rV6yyW7d MekMXWCT691uZbYQ7ntJ975f0VfrDYBFHhRMgcUGezCKFzUjrwyjKh6ZLcWT7qY+jUC8 EMCw== X-Gm-Message-State: AHQUAubP3asJDaaJgUT5zIj15n3ShNC1H/kYspENe6qH8YW2RC0cp1qi HKaFypl7k0RbyUZCTYIcxswGAA== X-Google-Smtp-Source: AHgI3IYPqOHpNYjOqMoim2hS+hgIU2kkEWb20/PEianh9nUcPO1q90p8lOJOOkkBQgs8bY9S6jhIsQ== X-Received: by 2002:a65:610f:: with SMTP id z15mr6355442pgu.153.1550023124134; Tue, 12 Feb 2019 17:58:44 -0800 (PST) Received: from localhost ([2620:15c:2c4:201:f5a:7eca:440a:3ead]) by smtp.gmail.com with ESMTPSA id a15sm21149588pgd.4.2019.02.12.17.58.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 12 Feb 2019 17:58:43 -0800 (PST) From: Eric Dumazet To: David Ahern , Stephen Hemminger Cc: netdev , Eric Dumazet , Eric Dumazet , Hangbin Liu , Phil Sutter Subject: [PATCH iproute2] lib/libnetlink: ensure a minimum of 32KB for the buffer used in rtnl_recvmsg() Date: Tue, 12 Feb 2019 17:58:41 -0800 Message-Id: <20190213015841.140383-1-edumazet@google.com> X-Mailer: git-send-email 2.21.0.rc0.258.g878e2cd30e-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In the past, we tried to increase the buffer size up to 32 KB in order to reduce number of syscalls per dump. Commit 2d34851cd341 ("lib/libnetlink: re malloc buff if size is not enough") brought the size back to 4KB because the kernel can not know the application is ready to receive bigger requests. See kernel commits 9063e21fb026 ("netlink: autosize skb lengthes") and d35c99ff77ec ("netlink: do not enter direct reclaim from netlink_dump()") for more details. Fixes: 2d34851cd341 ("lib/libnetlink: re malloc buff if size is not enough") Signed-off-by: Eric Dumazet Cc: Hangbin Liu Cc: Phil Sutter --- lib/libnetlink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libnetlink.c b/lib/libnetlink.c index 1892a02ab5d0d73776c9882ffc77edcd2c663d01..0d48a3d43cf03065dacbd419578ab10af56431a4 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -718,6 +718,8 @@ static int rtnl_recvmsg(int fd, struct msghdr *msg, char **answer) if (len < 0) return len; + if (len < 32768) + len = 32768; buf = malloc(len); if (!buf) { fprintf(stderr, "malloc error: not enough buffer\n"); -- 2.21.0.rc0.258.g878e2cd30e-goog