From: Johan Borkhuis <j.borkhuis@domain.hid>
To: rpm@xenomai.org
Cc: Xenomai help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Moving from 2.6.14(ppc) to 2.6.20(powerpc): illicit calls detected by ipipe
Date: Fri, 14 Mar 2008 15:15:24 +0100 [thread overview]
Message-ID: <47DA887C.1020109@domain.hid> (raw)
In-Reply-To: <47DA842E.3070305@domain.hid>
Philippe Gerum wrote:
> Johan Borkhuis wrote:
>
>> Hello,
>>
>> I am trying to move from 2.6.14(ppc) to 2.6.20(powerpc). On ppc I am
>> using Xenomai 2.4.1 and I-Pipe version 1.5-03, on powerpc I am using
>> Xenomai 2.4.1, I-Pipe version 1.7-12.
>> Most of the system is working, but I am having some problems with one
>> device driver. This is a "standard" Linux driver, that I converted into
>> a Xenomai driver. This driver does a very limited initialization, the
>> main init is done when the device is opened and after some IOCTL calls.
>>
>> The problem is that I am getting "Detected illicit call from domain
>> 'Xenomai' into a service reserved for domain 'Linux' and below."
>> messages from Adeos, which I did not get when using 2.6.14. The code I
>> use is identical, except for some small areas where the API kernel
>> changed between 2.6.14 and 2.6.20. Has there been a change between the
>> versions of Adeos or Xenomai which could cause this change in behavior?
>> (BTW: this message is generated when the option IPIPE_DEBUG_CONTEXT is
>> on, when this option is off I get a kernel Oops in kernel/ipipe/core.c:210.
>>
>> The affected calls are calls like kmalloc and kfree, but also calls like
>> check_mem_region, which uses kmem_cache_zalloc inside the function.
>> Normally these should not be used inside a RT application, but this is
>> the startup phase of the application and there are no RT restraints at
>> this point.
>>
>>
>
> 2.6.14 did not provide any invalid call context detection, so the fact that you
> start getting those with 2.6.20 is just the sign that your driver had a problem
> since 2.6.14, but they went unnoticed so far.
>
They were unnoticed in 2.6.14, but do they cause any trouble? As far as
I can see the driver did work correctly in 2.6.14.
Can I just ignore this error in 2.6.20, and have the driver continue, or
does this situation generate an error, so that my application cannot
continue?
> You may want to send the stack backtrace dumped by the detector, so that we
> could clearly identify what the calling context is.
>
Below is the call-trace:
I-pipe: Detected illicit call from domain 'Xenomai'
into a service reserved for domain 'Linux' and below.
Call Trace:
[97A479E0] [8000817C] show_stack+0x7c/0x1a4 (unreliable)
[97A47A10] [8005C2A4] ipipe_check_context+0xb8/0xc0
[97A47A30] [800D88F0] kmem_cache_zalloc+0xe4/0xf4
[97A47A50] [80033520] __request_region+0x48/0xd4
[97A47A70] [800335E0] __check_region+0x34/0x6c
[97A47A80] [A1216F94] men_OSS_AssignResources+0xec/0x1dc [men_oss]
[97A47AB0] [A12309BC] A201_Init+0x618/0x708 [men_bb_a201]
[97A47B10] [A12319F0] InitWrapper+0x38/0x50 [men_bb_a201]
[97A47B20] [A122C5E4] OpenDevice+0x4a8/0x634 [men_bbis_kernel]
[97A47C20] [A122CF9C] bbis_open+0x130/0x220 [men_bbis_kernel]
[97A47C60] [A126B450] mk_ioctl_core+0x548/0xcec [men_mdis_kernel]
[97A47DB0] [A126FA6C] mdisctl_ioctl_rt+0x84/0x1b40 [men_mdis_kernel]
[97A47DE0] [800A5D04] __rt_dev_ioctl+0xb0/0x1bc
[97A47E90] [800A8A3C] sys_rtdm_ioctl+0x3c/0x54
[97A47EA0] [80074338] losyscall_event+0xe4/0x208
[97A47ED0] [8005D88C] __ipipe_dispatch_event+0x1ec/0x2a4
[97A47F30] [80012268] __ipipe_syscall_root+0x5c/0x13c
[97A47F40] [80010A5C] DoSyscall+0x24/0x60
And another one (I replaced the kfree with rtdm_free, and the associated
kalloc with rtdm_alloc, after that this message disappeared and the
message above appeared):
I-pipe: Detected illicit call from domain 'Xenomai'
into a service reserved for domain 'Linux' and below.
Call Trace:
[9758BBD0] [8000732C] show_stack+0x50/0x188 (unreliable)
[9758BC00] [8004ED48] ipipe_check_context+0x88/0x8c
[9758BC10] [800B6224] kfree+0x24/0xec
[9758BC30] [A10A99AC] bbis_open+0x11c/0x550 [men_bbis_kernel]
[9758BC60] [A10EB13C] mk_ioctl_core+0x52c/0xcd0 [men_mdis_kernel]
[9758BDB0] [A10EF384] mdisctl_ioctl_rt+0x6c/0x17c0 [men_mdis_kernel]
[9758BDE0] [8008B360] __rt_dev_ioctl+0x98/0x198
[9758BE90] [8008D808] sys_rtdm_ioctl+0x20/0x30
[9758BEA0] [80061230] losyscall_event+0xc8/0x1e4
[9758BED0] [8004FDDC] __ipipe_dispatch_event+0x10c/0x1e4
[9758BF30] [8000FAE4] __ipipe_syscall_root+0x40/0xe8
[9758BF40] [8000E610] DoSyscall+0x24/0x60
>
>> Kind regards,
>> Johan Borkhuis
>>
>>
>
>
>
--
Johan Borkhuis Dutch Space BV
email: j.borkhuis@domain.hid Newtonweg 1
phone: 071-5245788 Leiden
fax: 071-5245499 The Netherlands
next prev parent reply other threads:[~2008-03-14 14:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-14 13:25 [Xenomai-help] Moving from 2.6.14(ppc) to 2.6.20(powerpc): illicit calls detected by ipipe Johan Borkhuis
2008-03-14 13:57 ` Philippe Gerum
2008-03-14 14:15 ` Johan Borkhuis [this message]
2008-03-14 14:32 ` Philippe Gerum
2008-03-14 14:58 ` Johan Borkhuis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47DA887C.1020109@domain.hid \
--to=j.borkhuis@domain.hid \
--cc=rpm@xenomai.org \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.