This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

translation table APTable permission problem

Hello,

I am trying to make pmd level of the translation table as read only so that any writes in the pte entries should cause a permission fault.

Current steps which i am doing are:

1) inside kernel space, allocating 2 pointers (say p, q) and allocating memory using vmalloc (4k size to occupy entire page)

2) assigning int data to both (say p=10, q= 20)

3) setting APTable bit for readonly for both the pointers (By reading manual, bit 61 and 62 denotes APTable)

4) swapping pte value for both the pointer in translation table

5) printing value for both the pointer

At step 4, access permission fault is not occurring.

I tried flushing the TLB, still at point 4 fault does not occur, but fault is occurring at random places (sometimes after point 5 or in between any points)

Can anyone tell me possible reasons why this is happening or some solution to fix it?

thanks

Parents
  • "guest" means anything running in the normal world. So here - I guess - the Linux kernel and application.

    But again, I am not sure what you want to protect by not letting Linux set PTEs at will?

    Do you want to have a fine grained protection? (Still try to get the use case clear)

    We (SCIOPTA) have a product where we rely on the TZ protection given by the SoC. For example the ZYNQ 7000 can define 64MB chunks of the SDRAM as either normal or secure.

Reply
  • "guest" means anything running in the normal world. So here - I guess - the Linux kernel and application.

    But again, I am not sure what you want to protect by not letting Linux set PTEs at will?

    Do you want to have a fine grained protection? (Still try to get the use case clear)

    We (SCIOPTA) have a product where we rely on the TZ protection given by the SoC. For example the ZYNQ 7000 can define 64MB chunks of the SDRAM as either normal or secure.

Children