lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 060/879] selftests/bpf: Fix parsing of prog types in UAPI hdr for bpftool sync
    Date
    From: Quentin Monnet <quentin@isovalent.com>

    [ Upstream commit 4eeebce6ac4ad80ee8243bb847c98e0e55848d47 ]

    The script for checking that various lists of types in bpftool remain in
    sync with the UAPI BPF header uses a regex to parse enum bpf_prog_type.
    If this enum contains a set of values different from the list of program
    types in bpftool, it complains.

    This script should have reported the addition, some time ago, of the new
    BPF_PROG_TYPE_SYSCALL, which was not reported to bpftool's program types
    list. It failed to do so, because it failed to parse that new type from
    the enum. This is because the new value, in the BPF header, has an
    explicative comment on the same line, and the regex does not support
    that.

    Let's update the script to support parsing enum values when they have
    comments on the same line.

    Signed-off-by: Quentin Monnet <quentin@isovalent.com>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/bpf/20220404140944.64744-1-quentin@isovalent.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/testing/selftests/bpf/test_bpftool_synctypes.py | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/testing/selftests/bpf/test_bpftool_synctypes.py b/tools/testing/selftests/bpf/test_bpftool_synctypes.py
    index 6bf21e47882a..c0e7acd698ed 100755
    --- a/tools/testing/selftests/bpf/test_bpftool_synctypes.py
    +++ b/tools/testing/selftests/bpf/test_bpftool_synctypes.py
    @@ -180,7 +180,7 @@ class FileExtractor(object):
    @enum_name: name of the enum to parse
    """
    start_marker = re.compile(f'enum {enum_name} {{\n')
    - pattern = re.compile('^\s*(BPF_\w+),?$')
    + pattern = re.compile('^\s*(BPF_\w+),?(\s+/\*.*\*/)?$')
    end_marker = re.compile('^};')
    parser = BlockParser(self.reader)
    parser.search_block(start_marker)
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 00:03    [W:3.276 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site