Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3503175imu; Fri, 18 Jan 2019 11:32:17 -0800 (PST) X-Google-Smtp-Source: ALg8bN6NUTmLBCiAa2YBdGTXAO1Y3/gfhoKOuWfylIVC1ibGR1BVRxchFscfMcYhOfuTQ/pKXYfl X-Received: by 2002:aa7:8802:: with SMTP id c2mr20540726pfo.20.1547839937289; Fri, 18 Jan 2019 11:32:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547839937; cv=none; d=google.com; s=arc-20160816; b=JCrntXLJ6KeX+5CF/M5aADGzQ7RcsgpS0RQDxGbptpD68t6n/YpPxFd80heXXrkdg/ ACXJBTFcETywBAfhmvtV5ey2LDijMyUvB6iZ3b47yNkdNNjFsyd1fYGV0iEr6j9jHlWW 8oFMTo6le2lcLK5pRCVWvrCwxNx+uewrLksmTGeVS3FrBWrsT5BqZ3eanuNSixAA3aUR ryukfT0hstnNBIH26oZWvlwKOXQGOSTmorZnV7g14L5aOuk3vxx+5QMvc4DGV32O/H4f FZ801Bk6fF+t7znQHIxkpHTc1jTxb7zIENaiWL/G7dufcNXoj8YYul+WRwx4HPN8ZJNE JLwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date:dkim-signature; bh=w6ZmAvWp7VHJfVq/cx3Xyc4lPF+lIn6FIm7mNS9JWj8=; b=u9ewFpEwkBwyrtdzfz42c3pufjM2CiPUvU4aLG6xLU4Vr32uo5tnXQcJ2bEeqm4mBu 8PnFCe/CVZu9uXwVlrgv1lITlts82jwDXDv7YiA3ksPU+q+uhcPfcFeIHuCvGm+8JwSc 16kKEVIp5rlUj/csfVylsjiMqKY24NPK3DlMtBXGf2Mpoo6TObIj0QvO1zFQCtyzPXuu ABDUt4AN7JdDQf2SMYloMxnl9RuVe8RjjJTxq+lNg+/BsIrzjf3Z3bH3S5c1Keg8Fei9 VF7uhBsEpV+KsVscuRpLmslMYbqp5boLS67WbOE2qaCt2j4uiIiM4e6f+a6RaSiz854B Vw1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@netronome-com.20150623.gappssmtp.com header.s=20150623 header.b=Qe+56cQi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ca6si5534686plb.141.2019.01.18.11.32.01; Fri, 18 Jan 2019 11:32:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@netronome-com.20150623.gappssmtp.com header.s=20150623 header.b=Qe+56cQi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729311AbfARTQK (ORCPT + 99 others); Fri, 18 Jan 2019 14:16:10 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:39098 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729199AbfARTQJ (ORCPT ); Fri, 18 Jan 2019 14:16:09 -0500 Received: by mail-qk1-f193.google.com with SMTP id c21so8670479qkl.6 for ; Fri, 18 Jan 2019 11:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :organization:mime-version:content-transfer-encoding; bh=w6ZmAvWp7VHJfVq/cx3Xyc4lPF+lIn6FIm7mNS9JWj8=; b=Qe+56cQiedB1bRSMPePsd89o9WE5gc0KTUDHleOADdK5HA2Ve6+fZBzcVUidyl89qx mB1OfPf7daQaaljXHDlUaTEx5b7DR/r1/BHBtv+zYNPNBhmXfFI5iCTvYySCUIW5jFXg AZ1GVKeVByVaBcdMOolLBdaagmpKSq9ep3aqS9WvHLr2fjz2yUir+BBAKAhg7XRTCTj1 49LMwpsUknFoan05IQWpYb/wwoxJ7KptiT5zcuhJzDJ6p/3Oi30kvB1iMCaJP/NAVWgd 1XEgYDBH2Lpa1xRxTIBAynAmsly/RNqoaqemLK96r5tBj8utgbOv/Lyurs5bhOfRx17f lX2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:organization:mime-version:content-transfer-encoding; bh=w6ZmAvWp7VHJfVq/cx3Xyc4lPF+lIn6FIm7mNS9JWj8=; b=TaYKYe8xx58XUDMnGqtK8Y2FNFfYfTDPdg586Wm2N8ZBPQk+3oqXerS0ZO6WXMun3A aRjgEJnTsRuV/gyQDXPcYqzSFbwtJB0dcgPB7aVSPuRZtpQlT9qL7VNvHKniTiI6pVVi vtbz8UcBxZCzvTP5SPg9u8RIAFovbu4BZNNNOp9JwpcirMHh7rArR9KutOaccu5OX29r P6huP6FJqRj/5jN+TI60rjf5R1zr/N9JjRDdByvkIdtUypkKSnExso++CW4MohpKqWKY A9uRCFnFHi3HV0VfJaOb34kqOsylU6hNVE7jSUcxN+u0vG/WHQRpL80l9Ei7/CgVd6Ja uZ9w== X-Gm-Message-State: AJcUukfdDbux7dycnwhY/nAZTkmnflOl1+dnKwxymBisrYCa3Yc8M7I3 ziSurVlFrExXGEmgAQLePQo8BQ== X-Received: by 2002:a37:7cc5:: with SMTP id x188mr15440957qkc.307.1547838968218; Fri, 18 Jan 2019 11:16:08 -0800 (PST) Received: from cakuba.netronome.com ([66.60.152.14]) by smtp.gmail.com with ESMTPSA id v50sm56476226qtc.7.2019.01.18.11.16.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 18 Jan 2019 11:16:08 -0800 (PST) Date: Fri, 18 Jan 2019 11:16:03 -0800 From: Jakub Kicinski To: Jiri Olsa Cc: Alexei Starovoitov , Daniel Borkmann , lkml , netdev@vger.kernel.org, Lance Digby Subject: Re: [PATCH] bpftool: Fix prog dump by tag Message-ID: <20190118111603.5f0d7206@cakuba.netronome.com> In-Reply-To: <20190118125817.10763-1-jolsa@kernel.org> References: <20190118125817.10763-1-jolsa@kernel.org> Organization: Netronome Systems, Ltd. MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 18 Jan 2019 13:58:17 +0100, Jiri Olsa wrote: > Lance reported an issue with bpftool not being able to > dump program if there are more programs loaded and you > want to dump any but the first program, like: > > # bpftool prog > 28: kprobe name trace_req_start tag 1dfc28ba8b3dd597 gpl > loaded_at 2019-01-18T17:02:40+1100 uid 0 > xlated 112B jited 109B memlock 4096B map_ids 13 > 29: kprobe name trace_req_compl tag 5b6a5ecc6030a683 gpl > loaded_at 2019-01-18T17:02:40+1100 uid 0 > xlated 928B jited 575B memlock 4096B map_ids 13,14 > # bpftool prog dum jited tag 1dfc28ba8b3dd597 > 0: push %rbp > 1: mov %rsp,%rbp > ... > > # bpftool prog dum jited tag 5b6a5ecc6030a683 > Error: can't get prog info (29): Bad address > > The problem is in the prog_fd_by_tag function not cleaning > the struct bpf_prog_info before another request, so the > previous program length is still in there and kernel assumes > it needs to dump the program, which fails because there's no > user pointer set. > > Moving the struct bpf_prog_info declaration into the loop, > so it gets cleaned before each query. > > Reported-by: Lance Digby > Signed-off-by: Jiri Olsa Aw. Acked-by: Jakub Kicinski Thanks!