I have investigated a bit about where to put the protections to avoid the SMAP 
issue in Xenomai RTnet. However, I'm a bit blocked and I would like to ask 
some details.

I'm testing a simple program found on the web [1] that open a raw socket and 
send some info. The program crash and I got this relevant messages from 

[  487.848845] BUG: unable to handle kernel paging request at 00007ffdc3b6a458
[  487.848865] IP: [<ffffffffa059e1f0>] rt_packet_sendmsg+0x40/0x2d0 [rtpacket]
[  487.849184] CPU: 6 PID: 1696 Comm: sendRaw Not tainted 4.1.18-xenomai-3.0.3 
[  487.849460] Call Trace:
[  487.849468]  [<ffffffff81164937>] ? rtdm_fd_sendmsg+0xd7/0x1c0
[  487.849484]  [<ffffffff81169e20>] ? CoBaLt_recvmsg+0xb0/0xb0
[  487.849497]  [<ffffffff81169e6f>] ? CoBaLt_sendmsg+0x4f/0x80

I understood that the program internally call rtdm_fd_sendmsg and that 
function call rt_packet_sendmsg.

If I look the function

static ssize_t rt_packet_sendmsg(struct rtdm_fd *fd, const struct user_msghdr 
*msg, int msg_flags)

it try to access to *msg, that I guess that has some data from userspace. 
However, I have to admit that I don't know how to solve it, because although 
there are two functions to interchange data from kernel 
(rt_memcpy_fromkerneliovec and rt_memcpy_tokerneliovec) I don't know how to 
integrate rt_memcpy_tokerneliovec here.

Also, I don't know if rt_memcpy_tokerneliovec is SMAP compilant. So, any help 
from the Xenomai gurus will be appreciated.

Best regards,


[1] https://gist.github.com/austinmarton/1922600

Linux User 152692     GPG: 05F4A7A949A2D9AA
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
Xenomai mailing list

Reply via email to