bugThe GNU Hurd - Bugs: bug #29914, *_reply.defs can't handle error...

 
 

bug #29914: *_reply.defs can't handle error replies due to type checks

Submitted by:  Carl Fredrik Hammar <hammy>
Submitted on:  Wed 19 May 2010 12:05:14 PM UTC  
 
Category: GNU MIGSeverity: 3 - Normal
Priority: 5 - NormalItem Group: None
Status: NonePrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: OpenReproducibility: None
Size (loc): NonePlanned Release: None
Effort: 0.00
Wiki-like text discussion box: 

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Wed 19 May 2010 12:05:14 PM UTC, original submission:

The specific interfaces for the reply side of a protocol can't handle
error replies if the routine has out parameters because then the replies
are too small since the error messages only contain a return value.

This is easy to see by examining the generated skeletons. Run `make term'
and look at term/device_replyServer.c:_Xdevice_open_reply. It returns
directly if msgh_size isn't the size of a successful message.

The term translator works around this problem by turning off type checking
by passing -DTypeCheck=0 when compiling term/device_replyServer.c.
However, this is only acceptable if the server sending the replies can
be trusted, which should be the case here since the server is Mach,
or interposed itself between the client and Mach in a privileged fashion.

The root of the problem is that the *_reply.defs interfaces aren't
distinguished by mig from regular interfaces, and the current behavior
is the expected behavior for simple routines. We could use the
currently ignored retcode tag to distinguish them, which was added for
compatibility with OSF Mig. Though, we should check that this won't
break the compatibility first.

A more involved but ideal fix would be to add a new flag to mig for
generating the reply side of an interface. This would also free us from
maintaining the reply versions of interfaces.

Carl Fredrik Hammar <hammy>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by hammy (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    No Changes Have Been Made to This Item

    Back to the top


    Powered by Savane 3.1-cleanup