From patchwork Fri Nov 23 20:58:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Nikita V. Shirokov" X-Patchwork-Id: 1002521 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=tehnerd.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=tehnerd-com.20150623.gappssmtp.com header.i=@tehnerd-com.20150623.gappssmtp.com header.b="bEQAY5qV"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 431pZn1Lz3z9s3l for ; Sat, 24 Nov 2018 07:59:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726542AbeKXHof (ORCPT ); Sat, 24 Nov 2018 02:44:35 -0500 Received: from mail-pg1-f175.google.com ([209.85.215.175]:33277 "EHLO mail-pg1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726467AbeKXHof (ORCPT ); Sat, 24 Nov 2018 02:44:35 -0500 Received: by mail-pg1-f175.google.com with SMTP id z11so3491393pgu.0 for ; Fri, 23 Nov 2018 12:58:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tehnerd-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=VYtfWW5nLIr/EZ6tdksAMfW2jzhsPLwc3V2Mcb65VTw=; b=bEQAY5qV1aoD1v+nMK7Z8ASi/owCxCOu0b/J5nwQ2VB02AqV1NiK45lzVRvXkNuaal 1iSij633PkUD6ZnUsrS/iZMS1mnhEPJuZ0js/zbnblYRd+sETMWXL9p69pKJVdfdLLrV DTD8D7en4H6TNEikrWaOCoyR3g3KPHWpAZvt5NHiF/HhRfI3y5dAqkr7UE5y8xkFzV+M cxYtzchg+IUaXApQo/m/igCufloaJbvihyQujCdBSr6wfMp3iT4tCMxnBxNX3AeYxZ4j Muezch+NW7BZ7tY0DstYz0bIahxK2ElLGej78gi85pyU07Q4RQNcvMHTPBus8Z4jMEZa s70g== 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; bh=VYtfWW5nLIr/EZ6tdksAMfW2jzhsPLwc3V2Mcb65VTw=; b=HN2wuKs92EZZrDz6+oshrE/pd5eZWooy/KJb5TNsqXxbWKxNsX8aaJFeXGSugrduty HLj615ao+hUgW3tXAjK1+dNEQpT5y5kDbNmoBHzyTm2qNSapg9jYHJIDIwzI4uYRyEJS APha5zXZiQrIkoJbujP97mmZaSQdBnUKgs3lMUgjm1IWDCpQes38KOoHkWLwPK+AYJX7 J16kZzy6MnpJPovqXI9EEWKG1pN/NKAcBEpfY9uDVb0rL2MOKtJ927i1BojvKliOiJo1 k4dltQZP+HvvpiDtQA6idGZKgLcGw85O12t/QzTUX+ZaCahkB2xuZ49OzibLWi+53gNb KpgA== X-Gm-Message-State: AA+aEWbVqT3rFpDwRJD54/JbrW0kYMJU1PMNy+W+Zh+7bwIME+DKph6v 7kElbwaoS8LBnujiBDt1WSCm8m+ggpE7kg== X-Google-Smtp-Source: AFSGD/XvVsPRhbfqRwzMXTsunDqugqJGfUweZSWD/bWgXun8oId9Welc22zgEisHQ74W2gUMIWZ0nw== X-Received: by 2002:a63:d005:: with SMTP id z5mr15414999pgf.64.1543006722739; Fri, 23 Nov 2018 12:58:42 -0800 (PST) Received: from localhost.localdomain (c-73-202-177-53.hsd1.ca.comcast.net. [73.202.177.53]) by smtp.gmail.com with ESMTPSA id a10sm41250293pfi.138.2018.11.23.12.58.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 12:58:41 -0800 (PST) From: "Nikita V. Shirokov" To: Alexei Starovoitov , Daniel Borkmann Cc: netdev@vger.kernel.org, "Nikita V. Shirokov" Subject: [PATCH v2 bpf-next 1/1] libbpf: make bpf_object__open default to UNSPEC Date: Fri, 23 Nov 2018 12:58:12 -0800 Message-Id: <20181123205812.2562-1-tehnerd@tehnerd.com> X-Mailer: git-send-email 2.15.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org currently by default libbpf's bpf_object__open requires bpf's program to specify version in a code because of two things: 1) default prog type is set to KPROBE 2) KPROBE requires (in kernel/bpf/syscall.c) version to be specified in this patch i'm changing default prog type to UNSPEC and also changing requirments for version's section to be present in object file. now it would reflect what we have today in kernel (only KPROBE prog type requires for version to be explicitly set). v1 -> v2: - RFC tag has been dropped Signed-off-by: Nikita V. Shirokov --- tools/lib/bpf/libbpf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 0f14f7c074c2..ed4212a4c5f9 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -333,7 +333,7 @@ bpf_program__init(void *data, size_t size, char *section_name, int idx, prog->idx = idx; prog->instances.fds = NULL; prog->instances.nr = -1; - prog->type = BPF_PROG_TYPE_KPROBE; + prog->type = BPF_PROG_TYPE_UNSPEC; prog->btf_fd = -1; return 0; @@ -1649,12 +1649,12 @@ static bool bpf_prog_type__needs_kver(enum bpf_prog_type type) case BPF_PROG_TYPE_LIRC_MODE2: case BPF_PROG_TYPE_SK_REUSEPORT: case BPF_PROG_TYPE_FLOW_DISSECTOR: - return false; case BPF_PROG_TYPE_UNSPEC: - case BPF_PROG_TYPE_KPROBE: case BPF_PROG_TYPE_TRACEPOINT: - case BPF_PROG_TYPE_PERF_EVENT: case BPF_PROG_TYPE_RAW_TRACEPOINT: + case BPF_PROG_TYPE_PERF_EVENT: + return false; + case BPF_PROG_TYPE_KPROBE: default: return true; }