oscourse-tsinghua / rcore_plus

Rust version of THU uCore OS. Linux compatible.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Correctly handle memory area alignment issue

jiegec opened this issue · comments

commented

Problem:
/bin/ls does not work.

Reason:
User passed a pointer 0x92158, but the memory area spans from 0x8ebc0 to 0x92130.

Question:
Should memory areas align to page boundary?

readelf -e ld-musl-x86_64.1.so:

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000016590 0x0000000000016590  R      0x1000
  LOAD           0x0000000000017000 0x0000000000017000 0x0000000000017000
                 0x0000000000044781 0x0000000000044781  R E    0x1000
  LOAD           0x000000000005c000 0x000000000005c000 0x000000000005c000
                 0x0000000000031704 0x0000000000031704  R      0x1000
  LOAD           0x000000000008dbc0 0x000000000008ebc0 0x000000000008ebc0
                 0x00000000000008d4 0x0000000000003570  RW     0x1000