Sendrec: no permission for system call - Minix

This is a discussion on Sendrec: no permission for system call - Minix ; Hello! I have created a new Minix service that is known by kernel/table.c and some headers, because it is a dedicated process. I have given it process number 7 and moved INIT_PROC_NR from 7 to 8. Anyway, I have a ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Sendrec: no permission for system call

  1. Sendrec: no permission for system call

    Hello!

    I have created a new Minix service that is known by kernel/table.c and
    some headers, because it is a dedicated process. I have given it
    process number 7 and moved INIT_PROC_NR from 7 to 8.

    Anyway, I have a user-space client process that is trying to sendrec()
    to process number 7 just so I can test that my dedicated OS process is
    able to receive messages and echo them back. However, whenever I do a
    "sendrec(7, ...)", I always get a negative return code indicating "no
    permission for system call", according to errno.h.

    How can I get around this? Is there a way to elevate the privileges of
    a client process so they can send messages, or do I have to create a
    system call that can route the message on behalf ot the client process?

    It would be preferable to elevate the client's privileges since I
    eventually want my client processes to be "drivers" in my new driver
    framework, and I'd like them to directly communicate with the dedicated
    driver manager process I'm creating. I will likely create some system
    calls for other purposes anyway, but that's not what I want to do right
    now.

    Thanks, and sorry for the somewhat lengthy post.


  2. Re: Sendrec: no permission for system call

    I hate to reply to my own post so quickly, but I think I just found out
    the answer. In kernel/table.c there is a "boot_image image[]", and
    "init" has "ipcto" set to USR_M. If I modify USR_M to also contain my
    new process number, then children of init should be able to send
    messages to it; it's worth a try.

    Thanks again, and happy holidays!


  3. Re: Sendrec: no permission for system call

    And to finish a thread entirely written by me, I'd like to say that my
    original thoughts were correct. Adding my process number to USR_M in
    kernel/table.c did the trick, even though my final design won't have
    any of that. I'm just finding it useful right now for debugging
    purposes.

    Happy Holidays!


+ Reply to Thread