[systemd-devel] possible message leak in bus->wqueue ?

eshark eshark77 at 163.com
Fri Aug 7 02:18:15 PDT 2015


Hi, all
      If  some message went into bus->wqueue, and  failed to run  ioctl(KDBUS_CMD_SEND) and returned  r < 0,
I found that this message will remain in the bus->wqueue.   If  the peer is  killed for some reason, this message will fail to be sent and remain in the wqueu for ever.


Because in  dispatch_wqueue() ,  when bus_write_message() return r <0,   dispatch_wqueue() will simply return this  "r " into the caller. 
And the wqueue is invisible to user application, so user application also cannot   remove this message to handle this error case.


 I wonder whether this is a problem, and if yes,  should we remove this message  in dispatch_wqueue() when  r < 0 ?




Thanks  a  lot !




Li Cheng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150807/9f574a26/attachment.html>


More information about the systemd-devel mailing list