On 05/20/2018 09:11 PM, Ram Pai wrote:
Florian, Does the following patch fix the problem for you? Just like x86 I am enabling all keys in the UAMOR register during initialization itself. Hence any key created by any thread at any time, will get activated on all threads. So any thread can change the permission on that key. Smoke tested it with your test program.
I think this goes in the right direction, but the AMR value after fork is still strange:
AMR (PID 34912): 0x0000000000000000 AMR after fork (PID 34913): 0x0000000000000000 AMR (PID 34913): 0x0000000000000000 Allocated key in subprocess (PID 34913): 2 Allocated key (PID 34912): 2 Setting AMR: 0xffffffffffffffff New AMR value (PID 34912): 0x0fffffffffffffff About to call execl (PID 34912) ... AMR (PID 34912): 0x0fffffffffffffff AMR after fork (PID 34914): 0x0000000000000003 AMR (PID 34914): 0x0000000000000003 Allocated key in subprocess (PID 34914): 2 Allocated key (PID 34912): 2 Setting AMR: 0xffffffffffffffff New AMR value (PID 34912): 0x0fffffffffffffff I mean this line: AMR after fork (PID 34914): 0x0000000000000003 Shouldn't it be the same as in the parent process? Thanks, Florian