[{"id":1797825,"web_url":"http://patchwork.ozlabs.org/comment/1797825/","msgid":"<20171102.202551.2074914012221899259.davem@davemloft.net>","list_archive_url":null,"date":"2017-11-02T11:25:51","subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>\nDate: Thu,  2 Nov 2017 17:09:45 +0900\n\n> Use PATH_MAX instead of hardcoded array size 256\n> \n> Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>\n\nApplied, thank you.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySN7X5bGmz9t2M\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  2 Nov 2017 22:26:00 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751303AbdKBLZ6 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 07:25:58 -0400","from shards.monkeyblade.net ([184.105.139.130]:48374 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750758AbdKBLZ5 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 2 Nov 2017 07:25:57 -0400","from localhost (unknown [106.252.28.196])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 88F6D13D75C46;\n\tThu,  2 Nov 2017 04:25:55 -0700 (PDT)"],"Date":"Thu, 02 Nov 2017 20:25:51 +0900 (KST)","Message-Id":"<20171102.202551.2074914012221899259.davem@davemloft.net>","To":"bhole_prashant_q7@lab.ntt.co.jp","Cc":"netdev@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net","Subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<20171102080945.7436-1-bhole_prashant_q7@lab.ntt.co.jp>","References":"<20171102080945.7436-1-bhole_prashant_q7@lab.ntt.co.jp>","X-Mailer":"Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Thu, 02 Nov 2017 04:25:56 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1798278,"web_url":"http://patchwork.ozlabs.org/comment/1798278/","msgid":"<1174FFEE-A6FF-4FC5-A6CF-249D99124441@intel.com>","list_archive_url":null,"date":"2017-11-02T21:19:44","subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","submitter":{"id":13252,"url":"http://patchwork.ozlabs.org/api/people/13252/","name":"Rustad, Mark D","email":"mark.d.rustad@intel.com"},"content":"> On Nov 2, 2017, at 1:09 AM, Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp> wrote:\n> \n> Use PATH_MAX instead of hardcoded array size 256\n> \n> Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>\n> ---\n> tools/bpf/bpf_jit_disasm.c     | 3 ++-\n> tools/bpf/bpftool/jit_disasm.c | 3 ++-\n> 2 files changed, 4 insertions(+), 2 deletions(-)\n> \n> diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c\n> index 422d9abd666a..75bf526a0168 100644\n> --- a/tools/bpf/bpf_jit_disasm.c\n> +++ b/tools/bpf/bpf_jit_disasm.c\n> @@ -27,6 +27,7 @@\n> #include <sys/klog.h>\n> #include <sys/types.h>\n> #include <sys/stat.h>\n> +#include <limits.h>\n> \n> #define CMD_ACTION_SIZE_BUFFER\t\t10\n> #define CMD_ACTION_READ_ALL\t\t3\n> @@ -51,7 +52,7 @@ static void get_exec_path(char *tpath, size_t size)\n> static void get_asm_insns(uint8_t *image, size_t len, int opcodes)\n> {\n> \tint count, i, pc = 0;\n> -\tchar tpath[256];\n> +\tchar tpath[PATH_MAX];\n\nSeems like such a nice thing, *but* PATH_MAX is 4096. Can things really tolerate 4k on the stack here?\n\n> \tstruct disassemble_info info;\n> \tdisassembler_ftype disassemble;\n> \tbfd *bfdf;\n> diff --git a/tools/bpf/bpftool/jit_disasm.c b/tools/bpf/bpftool/jit_disasm.c\n> index 5937e134e408..1551d3918d4c 100644\n> --- a/tools/bpf/bpftool/jit_disasm.c\n> +++ b/tools/bpf/bpftool/jit_disasm.c\n> @@ -21,6 +21,7 @@\n> #include <dis-asm.h>\n> #include <sys/types.h>\n> #include <sys/stat.h>\n> +#include <limits.h>\n> \n> #include \"json_writer.h\"\n> #include \"main.h\"\n> @@ -80,7 +81,7 @@ void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes)\n> \tdisassembler_ftype disassemble;\n> \tstruct disassemble_info info;\n> \tint count, i, pc = 0;\n> -\tchar tpath[256];\n> +\tchar tpath[PATH_MAX];\n\nSame comment here.\n\n> \tbfd *bfdf;\n> \n> \tif (!len)\n\n--\nMark Rustad, Networking Division, Intel Corporation","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySdJl0Nggz9sNd\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  3 Nov 2017 08:19:51 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S964931AbdKBVTr (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 17:19:47 -0400","from mga14.intel.com ([192.55.52.115]:5289 \"EHLO mga14.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S964919AbdKBVTp (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tThu, 2 Nov 2017 17:19:45 -0400","from orsmga004.jf.intel.com ([10.7.209.38])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t02 Nov 2017 14:19:44 -0700","from orsmsx106.amr.corp.intel.com ([10.22.225.133])\n\tby orsmga004.jf.intel.com with ESMTP; 02 Nov 2017 14:19:44 -0700","from orsmsx101.amr.corp.intel.com ([169.254.8.49]) by\n\tORSMSX106.amr.corp.intel.com ([169.254.1.120]) with mapi id\n\t14.03.0319.002; Thu, 2 Nov 2017 14:19:44 -0700"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.44,335,1505804400\"; \n\td=\"asc'?scan'208\";a=\"145305362\"","From":"\"Rustad, Mark D\" <mark.d.rustad@intel.com>","To":"Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>","CC":"\"David S . Miller\" <davem@davemloft.net>,\n\t\"netdev@vger.kernel.org\" <netdev@vger.kernel.org>,\n\tAlexei Starovoitov <ast@kernel.org>,\n\t\"Daniel Borkmann\" <daniel@iogearbox.net>","Subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","Thread-Topic":"[PATCH net-next] tools: bpf: handle long path in jit disasm","Thread-Index":"AQHTU7ItrkIv0j4FdUeMgPaGoSfakqMCDo6A","Date":"Thu, 2 Nov 2017 21:19:44 +0000","Message-ID":"<1174FFEE-A6FF-4FC5-A6CF-249D99124441@intel.com>","References":"<20171102080945.7436-1-bhole_prashant_q7@lab.ntt.co.jp>","In-Reply-To":"<20171102080945.7436-1-bhole_prashant_q7@lab.ntt.co.jp>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"yes","X-MS-TNEF-Correlator":"","x-originating-ip":"[10.233.80.175]","Content-Type":"multipart/signed;\n\tboundary=\"Apple-Mail=_61EDC78F-8FCC-4ADF-A71F-E01A94ECD1FB\";\n\tprotocol=\"application/pgp-signature\"; micalg=pgp-sha256","MIME-Version":"1.0","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1798348,"web_url":"http://patchwork.ozlabs.org/comment/1798348/","msgid":"<20171103.095115.2252068730328661789.davem@davemloft.net>","list_archive_url":null,"date":"2017-11-03T00:51:15","subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: \"Rustad, Mark D\" <mark.d.rustad@intel.com>\nDate: Thu, 2 Nov 2017 21:19:44 +0000\n\n> \n>> On Nov 2, 2017, at 1:09 AM, Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp> wrote:\n>> \n>> Use PATH_MAX instead of hardcoded array size 256\n>> \n>> Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>\n ...\n>> static void get_asm_insns(uint8_t *image, size_t len, int opcodes)\n>> {\n>> \tint count, i, pc = 0;\n>> -\tchar tpath[256];\n>> +\tchar tpath[PATH_MAX];\n> \n> Seems like such a nice thing, *but* PATH_MAX is 4096. Can things really tolerate 4k on the stack here?\n\nThis is userland code, why wouldn't it be able to handle 4K on the\nstack?","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySk0t6XpKz9s7g\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  3 Nov 2017 11:51:26 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S934754AbdKCAvY (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 20:51:24 -0400","from shards.monkeyblade.net ([184.105.139.130]:60168 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S932398AbdKCAvX (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 2 Nov 2017 20:51:23 -0400","from localhost (unknown [106.252.28.196])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 3CAAE123833EA;\n\tThu,  2 Nov 2017 17:51:21 -0700 (PDT)"],"Date":"Fri, 03 Nov 2017 09:51:15 +0900 (KST)","Message-Id":"<20171103.095115.2252068730328661789.davem@davemloft.net>","To":"mark.d.rustad@intel.com","Cc":"bhole_prashant_q7@lab.ntt.co.jp, netdev@vger.kernel.org,\n\tast@kernel.org, daniel@iogearbox.net","Subject":"Re: [PATCH net-next] tools: bpf: handle long path in jit disasm","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<1174FFEE-A6FF-4FC5-A6CF-249D99124441@intel.com>","References":"<20171102080945.7436-1-bhole_prashant_q7@lab.ntt.co.jp>\n\t<1174FFEE-A6FF-4FC5-A6CF-249D99124441@intel.com>","X-Mailer":"Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Thu, 02 Nov 2017 17:51:23 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]