Git Product home page Git Product logo

renode-phantom-write's Introduction

Renode Memory Corruption Test Case

This repository demonstrates an error in Renode where memory is corrupted.

Behavior

The memory at address 0x40f00000 gets overwritten with garbage data. This causes errors later on.

This occurs at the virtual address 0xffd046b8 using the included kernel ELF file.

Reproducing

Run the following GDB script:

file kernel
tar ext :3333
b *0xffd046b8
mon cpu TranslateAddress 0xffd046b8 0
# Note the returned value is 0x0000000040F6B6B8
b *0x0000000040F6B6B8+2
mon machine Reset
c
mon sysbus ReadDoubleWord 0x40f00000
# Note value is 0x103C04C7
disassemble $pc,+4
# Note the next instruction is `lw a1,0(a0)`
stepi
mon sysbus ReadDoubleWord 0x40f00000
# Note value is now 0x00000000

Workarounds

Main memory is currently added in soc.repl. If main memory is added instead with machine LoadPlatformDescriptionFromString, then the problem does not occur.

renode-phantom-write's People

Contributors

xobs avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.