bugThe GNU Hurd - Bugs: bug #48863, rpctrace crashes (failed assert)...

 
 

bug #48863: rpctrace crashes (failed assert) when SEND ONCE right is extracted and then sent

Submitted by:  Brent Baccala <baccala>
Submitted on:  Tue 23 Aug 2016 08:21:13 AM UTC  
 
Category: HurdSeverity: 3 - Normal
Priority: 5 - NormalItem Group: None
Status: NonePrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: OpenReproducibility: Every Time
Size (loc): NonePlanned Release: None
Effort: 0.00
Wiki-like text discussion box: 

Add a New Comment(Rich Markup)
   

You are not logged in

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

 

Tue 23 Aug 2016 08:21:13 AM UTC, original submission:

Normal RPC operation is to supply a receive port to mach_msg() with MACH_MSG_TYPE_MAKE_SEND_ONCE. In that case, rpctrace sees the send once port for the first time when the RPC message is sent.

This code first extracts a send once right from the receive port, then uses it during the upcoming RPC call. This causes rpctrace to see the port an extra time when it comes back in the reply to mach_port_extract_right(), and it gets wrapped. rpctrace then sees it again during the actual RPC call, and double wraps it, which ultimately triggers a failed assert when it tries to match a request to the second reply.

Brent Baccala <baccala>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #38326:  looper.c added by baccala (6KiB - text/x-csrc)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by baccala (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):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 23 Aug 2016 08:21:13 AM UTCbaccalaAttached File-=>Added looper.c, #38326

    Back to the top


    Powered by Savane 3.1-cleanup1