• sukadev@linux.vnet.ibm.com's avatar
    powerpc: Punch a hole in /dev/mem for librtas · 8a3e3d31
    sukadev@linux.vnet.ibm.com authored
    With CONFIG_STRICT_DEVMEM=y, user space cannot read any part of /dev/mem.
    Since this breaks librtas, punch a hole in /dev/mem to allow access to the
    rmo_buffer that librtas needs.
    
    Anton Blanchard reported the problem and helped with the fix.
    
    A quick test for this patch:
    
           # cat /proc/rtas/rmo_buffer
           000000000f190000 10000
    
           # python -c "print 0x000000000f190000 / 0x10000"
           3865
    
           # dd if=/dev/mem of=/tmp/foo count=1 bs=64k skip=3865
           1+0 records in
           1+0 records out
           65536 bytes (66 kB) copied, 0.000205235 s, 319 MB/s
    
           # dd if=/dev/mem of=/tmp/foo
           dd: reading `/dev/mem': Operation not permitted
           0+0 records in
           0+0 records out
           0 bytes (0 B) copied, 0.00022519 s, 0.0 kB/s
    Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    8a3e3d31
mem.c 16.4 KB