at 2:01 AM, Peter Zijlstra <pet...@infradead.org> wrote:

> On Sun, Sep 02, 2018 at 10:32:22AM -0700, Nadav Amit wrote:
>> +void __init poking_init(void)
>> +{
>> +    unsigned long poking_addr;
>> +
>> +    poking_mm = copy_init_mm();
>> +    if (!poking_mm) {
>> +            pr_err("x86/mm: error setting a separate poking address space");
>> +            return;
>> +    }
>> +
>> +    /*
>> +     * Randomize the poking address, but make sure that the following page
>> +     * will be mapped at the same PMD. We need 2 pages, so find space for 3,
>> +     * and adjust the address if the PMD ends after the first one.
>> +     */
>> +    poking_addr = TASK_UNMAPPED_BASE +
>> +            (kaslr_get_random_long("Poking") & PAGE_MASK) %
>> +            (TASK_SIZE - TASK_UNMAPPED_BASE - 3 * PAGE_SIZE);
>> +
>> +    if (((poking_addr + PAGE_SIZE) & ~PMD_MASK) == 0)
>> +            poking_addr += PAGE_SIZE;
>> +}
> 
> This fails to compile for me.. I don't have kaslr_get_random_long().

Will be fixed in v3. Thanks.

Reply via email to