littlefs: Failure due to writing 0x70 into location with value 0x10

I made the lfs_rambd.c behave more like a flash – i.e. initialize with the erase_value and verify, before programming, that the program operation only clears bits.

My current branch is https://github.com/pjsg/littlefs/tree/afl-fuzzing-revamp (this is based on the test-revamp branch)-- to exhibit the problem, check out this branch and run the following commands:

make afl/test
afl/test print < aflresults/prog

This should demonstrate the problem and allow debugging.

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 15 (5 by maintainers)

Most upvoted comments

I’ve updated to the latest version of test-revamp. Many of the tests now fail with LFS_ERR_CORRUPT – but the root cause still exists. The simplest case is in my branch in the file aflresults/nodel3. This can be run as follows (note that you do not need to install afl to do this – your standard dev environment is fine).

make afl/test
afl/test -p < aflresults/nodel3

This only uses open, write, close, sync and a remount (between lfs_file calls).