Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C(++)|RTAI] Shared memory ontoegankelijk als non-root?

Pagina: 1
Acties:

  • decipherer
  • Registratie: Februari 2002
  • Nu online
Ik ben bezig een applicatie te maken die draait onder Linux/RTAI. De applicatie bestaat uit twee delen, een kernel module die het real-time werk doet en een user space applicatie die zorgt voor de weergave en de controle van de kernel module. Om wat instellingen en data te delen tussen de kernel module en de user space applicatie heb ik wat shared memory aangemaakt. Nu moet ik echter de user space applicatie als root draaien, anders heb ik geen toegang tot het shared memory. Dit wil ik liever niet en daarom vraag ik me af of iemand weet of het mogelijk is toegang tot het shared memory te krijgen als non-root gebruiker.

Ik heb uiteraard al gezocht naar een oplossing en wat ik gevonden heb is dat de /dev/rtai_shm character device toegankelijk moet zijn. De rechten hierop staan op lezen/schrijven voor iedereen. Dit zou dus het probleem niet mogen zijn.
Verder vind ik alleen iemand die hetzelfde probleem had maar geen oplossing.

Ook heb ik even in de sourcecode van RTAI gekeken en daar zie ik dus inderdaad:
code:
1
2
3
4
5
#define RTAI_SHM_DEV  "/dev/rtai_shm"
....
....
if ((hook = open(RTAI_SHM_DEV, O_RDWR)) <= 0) {
....


Duidelijk, ik moet read en write toegang hebben. Vervolgens:

code:
1
if ((size = ioctl(hook, SHM_ALLOC, (unsigned long)(&arg)))) {


Daar wordt dus wat aangeroepen in de character device, ik kan wel volgen waar dat heen gaat maar er gebeurt daar zo veel dat ik al snel door de bomen het bos niet meer zie.

Ik gebruik trouwens RTAI 3.4-cv.

Alle hulp is welkom :)

De beste ideeën komen als je bezig bent.


  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Misschien dat je via /proc een en ander kunt regelen. Er zijn legio kernel modules etc die dat ook doen.

Nu met Land Rover Series 3 en Defender 90


  • decipherer
  • Registratie: Februari 2002
  • Nu online
Heb even gekeken en geprobeerd maar het lijkt er niet op dat er zo iets te regelen is.

De beste ideeën komen als je bezig bent.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 00:17
Alle documentatie die ik hierover kan vinden maakt gebruik van rt_shm_alloc etc, mis ik iets?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.