rowhammer | Source code for testing the Row Hammer error mechanism

 by   CMU-SAFARI C Version: Current License: GPL-2.0

kandi X-RAY | rowhammer Summary

kandi X-RAY | rowhammer Summary

rowhammer is a C library. rowhammer has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. You can download it from GitHub.

Memory tester for RowHammer. (Built on top of Memtest86+ v5.01.). RowHammer is a new type of memory failure that is found only in recent generations of DRAM chips [1]. Just by reading from the same address >100K times, it is possible to corrupt data in nearby addresses. More technically, repeated "activations" to the same DRAM row corrupts data in adjacent DRAM rows. RowHammer is a security threat since it allows a malicious program to breach memory protection. This is because different DRAM rows are mapped to different software pages. As of mid-2014, the problem is not well publicized.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              rowhammer has a low active ecosystem.
              It has 173 star(s) with 36 fork(s). There are 36 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 2 open issues and 0 have been closed. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of rowhammer is current.

            kandi-Quality Quality

              rowhammer has 0 bugs and 0 code smells.

            kandi-Security Security

              rowhammer has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              rowhammer code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              rowhammer is licensed under the GPL-2.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              rowhammer releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rowhammer
            Get all kandi verified functions for this library.

            rowhammer Key Features

            No Key Features are available at this moment for rowhammer.

            rowhammer Examples and Code Snippets

            No Code Snippets are available at this moment for rowhammer.

            Community Discussions

            QUESTION

            Allocating physically contiguous pages in Kernel Module
            Asked 2021-Jul-06 at 09:31

            I am trying to allocate physically contiguous pages in DRAM using the alloc_pages_exact function. When I try to allocate 10MB of pages, the returned address is always 0. But when I try to allocate 1MB of pages, the allocation is almost immediate. Also, can someone please tell me how to find the exact row size of DRAM? I had to search the datasheet of my RAM to figure it out. I was wondering if there is a command to determine the row size of DRAM. Earlier I thought that the System page size should be the DRAM row size as well, but the System page size turned out to be 4kB and my calculated row size came to be 8kB. Please help. Code:

            ...

            ANSWER

            Answered 2021-Jun-28 at 09:50

            The maximum size in pages supported by alloc_pages and family is 2 to the power of MAX_ORDER. MAX_ORDER is usually 11 unless overridden by the CONFIG_FORCE_MAX_ZONEORDER kernel configuration (which is only set for some architectures, and it may be manually configurable).

            A MAX_ORDER value of 11 allows 2048 pages to be allocated, which for the most usual page size of 4096 allows a maximum allocation size of 8388608 (8 MiB).

            I have no idea how to determine the DRAM row size, but it probably is not related to the system page size because the latter is determined by the architecture's MMU (and is 4096 for most architectures).

            Source https://stackoverflow.com/questions/68157887

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install rowhammer

            There are two ways of starting the test: from a bootloader or from a disk.
            Option 1: From bootloader (e.g., GRUB2) $ cd rowhammer/src $ make $ sudo cp memtest.bin /boot $ sudo vi /boot/grub2/grub.cfg # add new entry $ sudo reboot # Select new entry from GRUB2 menu
            Option 2: From disk $ cd rowhammer/src $ make iso $ sudo dd if=mt501.iso of=/dev/... $ sudo reboot

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/CMU-SAFARI/rowhammer.git

          • CLI

            gh repo clone CMU-SAFARI/rowhammer

          • sshUrl

            git@github.com:CMU-SAFARI/rowhammer.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link