On 24.08.20 11:44, François Legal wrote:
> Le Vendredi, Août 21, 2020 20:04 CEST, Jan Kiszka <[email protected]> a 
> écrit: 
>  
>> On 20.08.20 15:46, François Legal via Xenomai wrote:
>>> Using RTNet with multiple interfaces, xenomai 3.1 with linux 4.4
>>> Whenever a posix RT thread calls recvmsg (), I get this error.
>>>
>>> I could track this down to line 422 in udp.c :     msg = rtnet_get_arg(fd, 
>>> &_msg, u_msg, sizeof(_msg));
>>>
>>> If I disassemble the kernel, the failing instruction (at 0x80272444) is a 
>>> nop in arm_copy_from_user
>>> Am I doing anything wrong ?
>>
>> Maybe you are passing an invalid pointer to recvmsg, directly or in its
>> message structures. That would cause an exception which is fixed up but
>> also reported. Do you get an error in return?
>>
> 
> So, I checked, and the same happens on calls to sendto ().
> I doubt the pointer passed is invalid, as I don't get that kind of problems 
> with 3.0.9.
> Upon return from recvmsg or sendto, I get -1 with errno set to 14.

14 is EFAULT. That at least is as expected.

> Also, I checked in ipipe_base.h, exception #0 seem to be an instruction/data 
> access exception, which seems very weird to me for a NOP instruction that 
> does not appear to be on a line/page boundary.
> 

Can you reproduce the issue with a simple test case? Is it
board-dependent, or does it even trigger in a qemu-arm environment like
xenomai-images builds?

Greg, any idea?

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

Reply via email to