Sergej Schumilo
976d8e8329
minor fix (file_helper.c)
2022-10-16 23:51:13 +02:00
Sergej Schumilo
6e0a6ccbda
add "clang-format on/off" comments
...
to enable auto-formatting of vl.c & kvm-all.c
2022-10-16 23:51:13 +02:00
Sergej Schumilo
e4269fc973
manual code cleanups (reviewed)
...
Tried to minimize actual code modifcations but we got
- several comments/printf messages edited to meet line limits
- occasionally switch some lines to put declarations or printfs in blocks
- couple more places marked TODO or FIXME to avoid non-trivial changes
- fixed PAGE_SIZE define in helpers.h to avoid redeclaration warning
- remove several chunks of dead or commented code
Co-authored-by: Steffen Schulz <steffen.schulz@intel.com>
2022-10-16 23:51:13 +02:00
Steffen Schulz
949ab6c9f9
add a .clang-format for Qemu style plus various fixes
...
Based on bab9fdd5d1/.clang-format
2022-10-16 23:51:13 +02:00
Sergej Schumilo
80f22f77d6
fix usage of nyx_debug_p() (add missing prefix)
2022-09-22 05:19:45 +02:00
Steffen Schulz
e83025a145
replace custom printf with nyx_<level>() wrappers
...
This introduces generic printf wrappers to replace the various
instances of debug_printf, fprintf, QEMU_PR_PRINTF etc.
Several more hardcoded printf() are still present and should probably be
replaced with nyx_debug_p().
2022-09-22 05:07:37 +02:00
Steffen Schulz
f91ff284ee
switch debug logging to use qemu_log_mask()
...
Default qemu_log is written to stderr, or logged to file with -D
Additional qemu_log_masked(LOG_NYX) can be enabled with -d nyx
2022-09-22 05:07:37 +02:00
Steffen Schulz
bd34c46b85
fix printf format string errors
2022-09-22 05:07:37 +02:00
Steffen Schulz
ab668227f9
add NYX_DEBUG option in debug mode
2022-09-22 05:07:37 +02:00
Steffen Schulz
d407bab254
No vm_start() on snapshot restore ( fixes #29 )
...
Actual vm_start() performed by caller in vl.c. This extra vm_start()
breaks "qemu -S" function in combination with snapshot loads.
2022-09-07 20:11:21 +02:00
Sergej Schumilo
4df041cd8e
Merge pull request #22 from il-steffen/page_cache_racing
...
Page cache racing
2022-05-25 10:52:52 +02:00
Steffen Schulz
6a336d0d3a
Revert "page_cache: auto-create workdir files or resume based on existing files"
...
This reverts commit b8995723775c5ee75355ef4e87922cec359245e5.
2022-05-25 01:06:50 +02:00
Steffen Schulz
c93998e817
Revert "page_cache: use file lock also for read access"
...
This reverts commit 5c24050a645b0db69a806cb100f4e263ca191838.
2022-05-25 01:06:38 +02:00
Sergej Schumilo
5c8cf793ec
Merge pull request #21 from schumilo/qemu-nyx-4.2.0
...
various build script fixes
2022-05-11 19:55:34 +02:00
Sergej Schumilo
847a32fbf2
update libxdc submodule
2022-05-11 19:53:55 +02:00
Sergej Schumilo
dd901b5f84
fix build script (error in non-static mode)
2022-05-11 19:53:11 +02:00
Sergej Schumilo
b39169eca6
don’t install libxdc or libcapstone (in non-static mode)
2022-05-11 19:50:43 +02:00
Sergej Schumilo
54f4d2f1ab
check arguments before compiling dependencies
2022-05-11 19:40:57 +02:00
Sergej Schumilo
ab7ee8223c
Merge pull request #15 from il-steffen/buildfixes
...
compile.sh fixes
2022-05-11 19:14:26 +02:00
Sergej Schumilo
f66671d93b
Merge pull request #20 from schumilo/qemu-nyx-4.2.0
...
various bug fixes from dev branch
2022-05-11 18:03:52 +02:00
Sergej Schumilo
108fa3baf9
fix starved bug in vanilla kvm mode (caused by reading of uninitialized memory)
2022-05-11 18:00:12 +02:00
Steffen Schulz
d4ba169bea
Remove superfluous printf
...
Extra printf just spams the console on startup..
2022-05-11 18:00:11 +02:00
Steffen Schulz
9e56f6731e
fix timeout detection to only reset on VM reset
...
reset_timeout_detection() is already called at end of NEXT_PAYLOAD
handler to properly re-init the timer on every new execution.
Remove the additional call in synchronization_lock() which prevents
proper timeout on targets that do a lot of hprintf().
Also remove extra call in synchronization_lock_timeout_found() which
really just seems to be a duplicate with no observable effect.
To reproduce, run a harness that uses hprintf() in infinite loop. It
will take longer due to execute due to userland overhead but should
eventually return with aux_buffer/runtime similar to configured timeout.
2022-05-11 18:00:11 +02:00
Steffen Schulz
35809c5207
cleanup timeout_detection
2022-05-11 18:00:11 +02:00
Steffen Schulz
a2ee5ef587
fix runtime_usec wraparound in aux_buffer
...
To reproduce the issue, launch fast running harness with aux_buffer->timeout_usec=0 and timeout_sec=1
2022-05-11 18:00:11 +02:00
Sergej Schumilo
9959725652
fix warning: in vl.c
2022-05-11 18:00:11 +02:00
Sergej Schumilo
e6c25cbdee
fix warning: remove unused variables
2022-05-11 18:00:11 +02:00
Steffen Schulz
02d6e1545c
allow to override libxdc/capstone repo locations
...
Fetch submodules only if either LIBXDC_ROOT or CAPSTONE_ROOT are empty.
2022-04-27 01:40:45 +02:00
Steffen Schulz
ec36a3551f
extra LDFLAGS needed for libxdc dev
version + ptdump_static
...
Note sure why -Llibxdc is needed when libxdc Makefile contains -L.?
2022-04-27 01:30:36 +02:00
Steffen Schulz
c3bbf86ddd
avoid hardcoded paths in configure script
...
Allows calling configure with custom libxdc/capstone locations
2022-04-27 00:45:48 +02:00
Steffen Schulz
5846b4b094
cosmetic overhaul for compile_qemu_nyx.sh
2022-04-27 00:38:55 +02:00
Sergej Schumilo
00da434bec
Merge pull request #13 from schumilo/qemu-nyx-4.2.0
...
fix oobs read (in shadow_memory_read_page_frame)
2022-04-18 19:27:19 +02:00
Sergej Schumilo
2c3b7a7873
fix oobs read (in shadow_memory_read_page_frame)
2022-04-18 19:24:58 +02:00
Sergej Schumilo
fc39d1d5da
Merge pull request #11 from schumilo/qemu-nyx-4.2.0
...
improve shadow_memory_read_physical_memory()
2022-04-09 06:51:44 +02:00
Sergej Schumilo
72a95d8bfb
improve shadow_memory_read_physical_memory()
...
this patch removes several limitations (size & alignment)
2022-04-09 06:50:19 +02:00
Sergej Schumilo
1acaa75a8b
Merge pull request #10 from nyx-fuzz/qemu-nyx-4.2.0-dev-intel
...
push qemu-nyx-4.2.0-dev-intel to qemu-nyx-4.2.0
2022-04-07 11:04:36 +02:00
Sergej Schumilo
d86e2b05a4
Merge pull request #9 from schumilo/qemu-nyx-4.2.0-dev-intel
...
several changes
2022-04-07 11:01:57 +02:00
Sergej Schumilo
758e65871b
update NYX_HOST_VERSION
2022-04-07 10:58:16 +02:00
Sergej Schumilo
0449772d10
fix compile script
2022-04-07 10:52:48 +02:00
Sergej Schumilo
164f449a02
fix several compiler warnings
2022-04-07 10:52:30 +02:00
Sergej Schumilo
ea4bdcd6d9
Merge pull request #7 from c01db33f/qemu-nyx-4.2.0
...
Reimplemented x86_64 page table walking code.
2022-04-07 07:09:14 +02:00
Sergej Schumilo
8c192d29a5
Merge pull request #8 from x86-sec/optarg-bug
...
Qemu nyx options parsing / optarg bug
2022-04-06 17:27:39 +02:00
Benoît Morgan
d45d4da277
Optarg bug
2022-03-25 10:38:34 +01:00
Mark Brand
e7f63f4401
Reimplemented x86_64 page table walking code.
2022-03-18 10:31:38 +01:00
Sergej Schumilo
c08e4ac942
Merge pull request #6 from schumilo/qemu-nyx-4.2.0
...
bug fix: don't reuse ram_offset as physical address
2022-03-04 03:32:33 +01:00
Sergej Schumilo
8e8f6e5b2b
uncomment several fprintfs in state_reallocation
2022-02-23 10:28:44 +01:00
Sergej Schumilo
1f675b053a
fix crash notifier injection
...
Decide which crash notifier (32bit or 64bit) to inject, based on the
current memory mode instead of the current CPU mode. Otherwise, in the
case of a 32bit loader running on a 64bit operating system, the wrong
notifier code will be injected.
2022-02-23 10:26:02 +01:00
Sergej Schumilo
b95d6b9236
fix a global oob read
...
Use an additional constant to specifiy the size of the crash notifier
code in 32 bit mode (submit_panic / submit_kasan).
2022-02-23 08:55:00 +01:00
Sergej Schumilo
954158c43a
Revert "checkout specific libxdc commit"
...
This reverts commit d5a7011ad20ba5ba91f1371f9d40154035d5d768.
2022-02-23 08:39:36 +01:00
Sergej Schumilo
0f8447d93a
Merge pull request #4 from il-steffen/staging-upstream-3
...
various improvements
2022-02-22 23:26:27 +01:00