Comments (6)
thank you very much @pjattke for your time
from blacksmith.
Hi @AnaMazda
See the README regarding the dimm-id
parameter:
[...] we can run Blacksmith in fuzzing mode by passing a random DIMM ID (e.g., --dimm-id 1; only used internally for logging into stdout.log)
That said, dimm-id
does not affect anything except for the logged output ing stdout.log
.
I would suggest playing with the parameters we pass to mmap
(see Memory.cpp):
- Try replacing
MAP_SHARED
byMAP_PRIVATE
- Try removing
MAP_ANONYMOUS
Does anything of that make the program work? Do you get by chance any compilation errors/warnings?
from blacksmith.
its compiled without any errors/warnings but the same issue still.
from blacksmith.
Are you running Blacksmith on a native host (i.e., no VM or similar)? Are you compiling Blacksmith with gcc-8/g++-8?
I'm sorry but it's hard to tell what's the issue as I cannot reproduce it on any of our systems. Please consult Google or StackOverflow for general advice on mmap
. A few more things you could try:
- You could post the synopsis section of
man mmap
so I can compare if anything of the interface changed (what I wouldn't expect though). - Try to change the other call parameters of our call to
mmap
too:- What happens if you change the
start_address
in Memory.hpp? You could also try with just passingNULL
to this parameter. - Does a smaller allocation (changing
MEM_SIZE
) succeed?
- What happens if you change the
- You could try to add
-ggdb3
to the targetsbs
andblacksmith
inCMakeLists.txt
and then run blacksmith via gdb, e.g.:sudo gdb --args ./blacksmith --dimm-id 0 --runtime-limit 120 --ranks 1
Please note that besides this issue you will also need to update the DRAM address function if you are not using an i7-8700K (probably, others of the same u-arch "Coffee Lake" would also work). Otherwise Blacksmith won't know how to address rows in order to hammer them.
from blacksmith.
yes I'm using VMware !!
mmap synopsis
SYNOPSIS
#include <sys/mman.h>
void *mmap(void *addr, size_t length, int prot, int flags,
int fd, off_t offset);
int munmap(void *addr, size_t length);
from blacksmith.
We haven't tested Blacksmith in a VM yet. But you probably have the issue described in this SO post: invalid argument in mmap.
Feel free to make the required changes and submit a PR. We would be happy to incorporate the required changes. Thanks!
from blacksmith.
Related Issues (14)
- Blacksmith not running: mmap: Cannot allocate memory HOT 5
- blacksmith doesnt work : /mnt/huge/buff not found HOT 3
- Blacksmith terminated: Illegal instruction HOT 5
- Blacksmith on non-Coffee Lake CPUs HOT 20
- Could not find conflicting address sets HOT 2
- Could not mount superpage from /mnt/huge/buff. Error: No such file or directory HOT 2
- Does this work on WSL2? HOT 4
- Packaging of Blacksmith in Guix. HOT 4
- Some questions regarding the use of time-based side channels in blacksmith HOT 3
- Blacksmith run hangs and log shows strange characters HOT 2
- Fuzzer unable to find patterns on some DIMMs HOT 3
- Unable to compile on ARM processor HOT 1
- Dead loop of counting the number of possible activations per refresh interval HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blacksmith.