Skip to content

Commit 8bc456b

Browse files
authored
Add fuzzer for core helper functions (#1153)
* WIP: core helper fuzzer scaffolding Signed-off-by: Dave Thaler <[email protected]> Initial chunk of business logic Signed-off-by: Dave Thaler <[email protected]> More business logic Signed-off-by: Dave Thaler <[email protected]> Add initial helper fuzzer corpus Signed-off-by: Dave Thaler <[email protected]> Fix code analysis warning Signed-off-by: Dave Thaler <[email protected]> Update docs and CI/CD Signed-off-by: Dave Thaler <[email protected]> Update README.md Signed-off-by: Dave Thaler <[email protected]> Fix analysis warning Signed-off-by: Dave Thaler <[email protected]> Add verifier_fuzzer step to github CI/CD Signed-off-by: Dave Thaler <[email protected]> Add core helper and bpf2c fuzzers to CI/CD Signed-off-by: Dave Thaler <[email protected]> Fix fuzzers in CI/CD Signed-off-by: Dave Thaler <[email protected]> Remove changes for other fuzzers from cicd file Signed-off-by: Dave Thaler <[email protected]> Cleanup Signed-off-by: Dave Thaler <[email protected]> * Fix bug in _find_lpm_map_entry() hit by fuzzer Signed-off-by: Dave Thaler <[email protected]>
1 parent 25abe8f commit 8bc456b

28 files changed

+688
-7
lines changed

.github/workflows/cicd.yml

+14-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
build_artifact: Build-x64-fuzzer
5959
cxx_flags: /fsanitize-coverage=inline-bool-flag /fsanitize-coverage=edge /fsanitize-coverage=trace-cmp /fsanitize-coverage=trace-div /ZH:SHA_256
6060
ld_flags: '"clang_rt.fuzzer_MD-x86_64.lib" "libsancov.lib"'
61-
build_options: /p:Fuzzer='True' /t:tests\libfuzzer\execution_context_fuzzer /t:tests\libfuzzer\bpf2c_fuzzer /t:tests\libfuzzer\verifier_fuzzer
61+
build_options: /p:Fuzzer='True' /t:tests\libfuzzer\execution_context_fuzzer /t:tests\libfuzzer\bpf2c_fuzzer /t:tests\libfuzzer\verifier_fuzzer /t:tests\libfuzzer\core_helper_fuzzer
6262

6363
# Run the unit tests in GitHub.
6464
unit_tests:
@@ -179,6 +179,19 @@ jobs:
179179
code_coverage: false
180180
gather_dumps: true
181181

182+
core_helper_fuzzer:
183+
needs: libfuzzer
184+
# Always run this job.
185+
if: github.event_name == 'schedule' || github.event_name == 'pull_request'
186+
uses: ./.github/workflows/reusable-test.yml
187+
with:
188+
name: core_helper_fuzzer
189+
test_command: core_helper_fuzzer core_helper_corpus -max_len=139 -runs=1000 -use_value_profile=1 -artifact_prefix=Artifacts\
190+
build_artifact: Build-x64-fuzzer
191+
environment: windows-2019
192+
code_coverage: false
193+
gather_dumps: true
194+
182195
# Run Cilium regression tests in GitHub.
183196
cilium_tests:
184197
needs: regular

ebpf-for-windows.sln

+23
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bpf2c_fuzzer", "tests\libfu
160160
EndProject
161161
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verifier_fuzzer", "tests\libfuzzer\verifier\verifier_fuzzer.vcxproj", "{DCF12929-B975-4874-A80F-9EAF1CC5A5A0}"
162162
EndProject
163+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_helper_fuzzer", "tests\libfuzzer\core_helper_fuzzer\core_helper_fuzzer.vcxproj", "{88A3E85F-669F-4CEA-8207-2E1545528D62}"
164+
EndProject
163165
Global
164166
GlobalSection(SolutionConfigurationPlatforms) = preSolution
165167
Debug|ARM = Debug|ARM
@@ -1511,6 +1513,26 @@ Global
15111513
{DCF12929-B975-4874-A80F-9EAF1CC5A5A0}.RelWithDebInfo|x64.Build.0 = Release|x64
15121514
{DCF12929-B975-4874-A80F-9EAF1CC5A5A0}.RelWithDebInfo|x86.ActiveCfg = Debug|x64
15131515
{DCF12929-B975-4874-A80F-9EAF1CC5A5A0}.RelWithDebInfo|x86.Build.0 = Debug|x64
1516+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Debug|ARM.ActiveCfg = Debug|x64
1517+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Debug|ARM64.ActiveCfg = Debug|x64
1518+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Debug|x64.ActiveCfg = Debug|x64
1519+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Debug|x64.Build.0 = Debug|x64
1520+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Debug|x86.ActiveCfg = Debug|x64
1521+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.MinSizeRel|ARM.ActiveCfg = Release|x64
1522+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.MinSizeRel|ARM64.ActiveCfg = Release|x64
1523+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.MinSizeRel|x64.ActiveCfg = Debug|x64
1524+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.MinSizeRel|x64.Build.0 = Debug|x64
1525+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.MinSizeRel|x86.ActiveCfg = Release|x64
1526+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Release|ARM.ActiveCfg = Release|x64
1527+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Release|ARM64.ActiveCfg = Release|x64
1528+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Release|x64.ActiveCfg = Release|x64
1529+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Release|x64.Build.0 = Release|x64
1530+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.Release|x86.ActiveCfg = Release|x64
1531+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.RelWithDebInfo|ARM.ActiveCfg = Release|x64
1532+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.RelWithDebInfo|ARM64.ActiveCfg = Release|x64
1533+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.RelWithDebInfo|x64.ActiveCfg = Release|x64
1534+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.RelWithDebInfo|x64.Build.0 = Release|x64
1535+
{88A3E85F-669F-4CEA-8207-2E1545528D62}.RelWithDebInfo|x86.ActiveCfg = Release|x64
15141536
EndGlobalSection
15151537
GlobalSection(SolutionProperties) = preSolution
15161538
HideSolutionNode = FALSE
@@ -1565,6 +1587,7 @@ Global
15651587
{6116AE11-5296-4DE9-8A8E-5380B789907E} = {E184CBC2-4B62-499F-8A4A-F15A5A182259}
15661588
{A0A0D663-DCF7-4BB1-9DDB-7964C3C31603} = {E184CBC2-4B62-499F-8A4A-F15A5A182259}
15671589
{DCF12929-B975-4874-A80F-9EAF1CC5A5A0} = {E184CBC2-4B62-499F-8A4A-F15A5A182259}
1590+
{88A3E85F-669F-4CEA-8207-2E1545528D62} = {E184CBC2-4B62-499F-8A4A-F15A5A182259}
15681591
EndGlobalSection
15691592
GlobalSection(ExtensibilityGlobals) = postSolution
15701593
SolutionGuid = {3D5F862D-74C6-4357-9F95-0B152E33B7B8}

libs/execution_context/ebpf_maps.c

+6-5
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ _delete_array_map(_In_ _Post_invalid_ ebpf_core_map_t* map)
280280

281281
static ebpf_result_t
282282
_find_array_map_entry(
283-
_In_ ebpf_core_map_t* map, _In_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
283+
_In_ ebpf_core_map_t* map, _In_opt_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
284284
{
285285
uint32_t key_value;
286286
if (!map || !key || delete_on_success)
@@ -929,7 +929,7 @@ _delete_hash_map_entry(_In_ ebpf_core_map_t* map, _In_ const uint8_t* key);
929929

930930
static ebpf_result_t
931931
_find_hash_map_entry(
932-
_In_ ebpf_core_map_t* map, _In_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
932+
_In_ ebpf_core_map_t* map, _In_opt_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
933933
{
934934
uint8_t* value = NULL;
935935
if (!map || !key)
@@ -1254,14 +1254,15 @@ _create_lpm_map(
12541254

12551255
static ebpf_result_t
12561256
_find_lpm_map_entry(
1257-
_In_ ebpf_core_map_t* map, _In_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
1257+
_In_ ebpf_core_map_t* map, _In_opt_ const uint8_t* key, _In_ bool delete_on_success, _Outptr_ uint8_t** data)
12581258
{
1259+
if (!map || !key || delete_on_success)
1260+
return EBPF_INVALID_ARGUMENT;
1261+
12591262
uint32_t* prefix_length = (uint32_t*)key;
12601263
uint32_t original_prefix_length = *prefix_length;
12611264
uint8_t* value = NULL;
12621265
ebpf_core_lpm_map_t* trie_map = EBPF_FROM_FIELD(ebpf_core_lpm_map_t, core_map, map);
1263-
if (!map || !key || delete_on_success)
1264-
return EBPF_INVALID_ARGUMENT;
12651266

12661267
ebpf_bitmap_cursor_t cursor;
12671268
ebpf_bitmap_start_reverse_search((ebpf_bitmap_t*)trie_map->data, &cursor);

scripts/create_core_helper_corpus.bat

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@echo off
2+
rem Copyright (c) Microsoft Corporation
3+
rem SPDX-License-Identifier: MIT
4+
rem
5+
rem Usage: create_core_helper_corpus.bat <solution_path> <output_directory>
6+
7+
set SOLUTIONPATH=%1
8+
set OUTPUTPATH=%2
9+
xcopy /d /i /y "%SOLUTIONPATH%\tests\libfuzzer\core_helper_fuzzer\corpus" "%OUTPUTPATH%"

tests/libfuzzer/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ There are now four libFuzzer-based binaries:
1515
1) Copy the libFuzzer binary and existing corpus to a test machine (currently only Windows 10 and Server 2019 are supported).
1616
2) Start the libFuzzer binary, pass the path to the corpus folder, and maximum time to run:
1717
* `bpf2c_fuzzer.exe bpf2c_fuzzer_corpus -use_value_profile=1 -max_total_time=1800`
18-
* `core_helper_fuzzer.exe core_helper_fuzzer core_helper_corpus -max_len=139 -runs=3000 -use_value_profile=1`
18+
* `core_helper_fuzzer.exe core_helper_fuzzer core_helper_corpus -max_len=139 -runs=2000 -use_value_profile=1`
1919
* `execution_context_fuzzer.exe execution_context_fuzzer_corpus -use_value_profile=1 -max_total_time=1800`
2020
* `verifier_fuzzer.exe verifier_corpus -use_value_profile=1 -max_total_time=1800`
2121
3) If the fuzzer hits an issue, it will display the stack trace and create a file containing the input that triggered the crash.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
Copyright (c) Microsoft Corporation
4+
SPDX-License-Identifier: MIT
5+
-->
6+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7+
<ItemGroup Label="ProjectConfigurations">
8+
<ProjectConfiguration Include="Debug|x64">
9+
<Configuration>Debug</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Release|x64">
13+
<Configuration>Release</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
16+
</ItemGroup>
17+
<PropertyGroup Label="Globals">
18+
<VCProjectVersion>16.0</VCProjectVersion>
19+
<Keyword>Win32Proj</Keyword>
20+
<ProjectGuid>{88a3e85f-669f-4cea-8207-2e1545528d62}</ProjectGuid>
21+
<RootNamespace>fuzz2</RootNamespace>
22+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
23+
<ProjectName>core_helper_fuzzer</ProjectName>
24+
</PropertyGroup>
25+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
26+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
27+
<ConfigurationType>Application</ConfigurationType>
28+
<UseDebugLibraries>true</UseDebugLibraries>
29+
<PlatformToolset>v142</PlatformToolset>
30+
<CharacterSet>Unicode</CharacterSet>
31+
<EnableASAN>true</EnableASAN>
32+
</PropertyGroup>
33+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
34+
<ConfigurationType>Application</ConfigurationType>
35+
<UseDebugLibraries>false</UseDebugLibraries>
36+
<PlatformToolset>v142</PlatformToolset>
37+
<WholeProgramOptimization>true</WholeProgramOptimization>
38+
<CharacterSet>Unicode</CharacterSet>
39+
<EnableASAN>true</EnableASAN>
40+
<SpectreMitigation>false</SpectreMitigation>
41+
</PropertyGroup>
42+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
43+
<ImportGroup Label="ExtensionSettings">
44+
</ImportGroup>
45+
<ImportGroup Label="Shared">
46+
</ImportGroup>
47+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
48+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
49+
</ImportGroup>
50+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
51+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
52+
</ImportGroup>
53+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
54+
<ClCompile>
55+
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
56+
<AdditionalIncludeDirectories>$(SolutionDir)tests\libfuzzer\include;$(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
57+
</ClCompile>
58+
<Link>
59+
<SubSystem>Console</SubSystem>
60+
<AdditionalDependencies>mincore.lib;;%(AdditionalDependencies)</AdditionalDependencies>
61+
<AdditionalLibraryDirectories>$(VCToolsInstallDir)lib\$(Platform)</AdditionalLibraryDirectories>
62+
</Link>
63+
</ItemDefinitionGroup>
64+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
65+
<ClCompile>
66+
<PreprocessorDefinitions>NDEBUG;_CONSOLE;NO_CATCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
67+
<AdditionalIncludeDirectories>$(SolutionDir)tests\libfuzzer\include;$(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
68+
</ClCompile>
69+
<Link>
70+
<SubSystem>Console</SubSystem>
71+
<GenerateDebugInformation>true</GenerateDebugInformation>
72+
<AdditionalDependencies>mincore.lib;;%(AdditionalDependencies)</AdditionalDependencies>
73+
<AdditionalLibraryDirectories>$(VCToolsInstallDir)lib\$(Platform)</AdditionalLibraryDirectories>
74+
</Link>
75+
</ItemDefinitionGroup>
76+
<ItemGroup>
77+
<ClCompile Include="libfuzz_harness.cpp" />
78+
</ItemGroup>
79+
<ItemGroup>
80+
<ProjectReference Include="..\..\..\libs\execution_context\user\execution_context_user.vcxproj">
81+
<Project>{18127b0d-8381-4afe-9a3a-cf53241992d3}</Project>
82+
</ProjectReference>
83+
<ProjectReference Include="..\..\..\libs\platform\user\platform_user.vcxproj">
84+
<Project>{c26cb6a9-158c-4a9e-a243-755ddd98e5fe}</Project>
85+
</ProjectReference>
86+
<ProjectReference Include="..\..\..\libs\ubpf\user\ubpf_user.vcxproj">
87+
<Project>{245f0ec7-1ebc-4d68-8b1f-f758ea9196ae}</Project>
88+
</ProjectReference>
89+
</ItemGroup>
90+
<ItemGroup>
91+
<CustomBuild Include="..\..\..\scripts\create_core_helper_corpus.bat">
92+
<FileType>Document</FileType>
93+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)core_helper_corpus\bpf_tail_call</Outputs>
94+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)core_helper_corpus\bpf_tail_call</Outputs>
95+
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)scripts\create_core_helper_corpus.bat $(SolutionDir) $(OutDir)core_helper_corpus</Command>
96+
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)scripts\create_core_helper_corpus.bat $(SolutionDir) $(OutDir)core_helper_corpus</Command>
97+
</CustomBuild>
98+
</ItemGroup>
99+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
100+
<ImportGroup Label="ExtensionTargets">
101+
</ImportGroup>
102+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
Copyright (c) Microsoft Corporation
4+
SPDX-License-Identifier: MIT
5+
-->
6+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7+
<ItemGroup>
8+
<Filter Include="Source Files">
9+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
10+
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
11+
</Filter>
12+
<Filter Include="Header Files">
13+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
14+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
15+
</Filter>
16+
<Filter Include="Resource Files">
17+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
18+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
19+
</Filter>
20+
</ItemGroup>
21+
<ItemGroup>
22+
<ClCompile Include="libfuzz_harness.cpp">
23+
<Filter>Source Files</Filter>
24+
</ClCompile>
25+
</ItemGroup>
26+
<ItemGroup>
27+
<CustomBuild Include="..\..\..\scripts\create_core_helper_corpus.bat">
28+
<Filter>Source Files</Filter>
29+
</CustomBuild>
30+
</ItemGroup>
31+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
��������������������
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+

2+
����
Binary file not shown.
Binary file not shown.

tests/libfuzzer/core_helper_fuzzer/corpus/bpf_ringbuf_output

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
�����
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
�

tests/libfuzzer/core_helper_fuzzer/corpus/bpf_trace_printk3

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
%%%llu��������
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
%%%u%ld����������������
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
%lli%%%lx%d������������������������
Binary file not shown.

0 commit comments

Comments
 (0)