Skip to content
  • Robert Jennings's avatar
    zram: Return zero'd pages on new reads · 2787f959
    Robert Jennings authored
    
    
    Currently zram will do nothing to the page in the bvec when that page
    has not been previously written.  This allows random data to leak to
    user space.  That can be seen by doing the following:
    
     ## Load the module and create a 256Mb zram device called /dev/zram0
     # modprobe zram
     # echo $((256*1024*1024)) > /sys/class/block/zram0/disksize
    
     ## Initialize the device by writing zero to the first block
     # dd if=/dev/zero of=/dev/zram0 bs=512 count=1
    
     ## Read ~256Mb of memory into a file and hope for something interesting
     # dd if=/dev/zram0 of=file
    
    This patch will treat an unwritten page as a zero-filled page.  If a
    page is read before a write has occurred the data returned is all 0's.
    
    Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
    Reviewed-by: default avatarPekka Enberg <penberg@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    2787f959