[PATCH 7/7] arm64: uprobes - ARM32 instruction probing

Maciej Slodczyk m.slodczyk2 at partner.samsung.com
Thu Jan 25 02:42:23 PST 2018


On 01/24/2018 05:13 PM, Oleg Nesterov wrote:
> On 01/24, Maciej Slodczyk wrote:
>>
>> Detect what kind of instruction is being probed and depending on the result:
>> - if an A64 instruction handle it the old way, using existing A64 instructions
>> probing code,
>> - if an A32 instruction decode it and handle using the new code, moved from
>> 32 bit arm kernel tree.
> 
> how this connects to the change in prepare_uretprobe(),
> 
>> --- a/kernel/events/uprobes.c
>> +++ b/kernel/events/uprobes.c
>> @@ -1566,6 +1566,9 @@ static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs)
>>   	unsigned long orig_ret_vaddr, trampoline_vaddr;
>>   	bool chained;
>>
>> +	if (!current->mm)
>> +		return;
>> +
> 
> ?
> 
> and how it is possible to hit ->mm == NULL here?
> 

That's obviously something that shouldn't have been left here. NULL was 
there because of other bug that's been fixed. I put it for testing only 
and for some reason forgot to remove. Thanks for pointing that out!

Regards,
Maciej



More information about the linux-arm-kernel mailing list