diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2021-05-26 15:36:28 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2022-08-10 22:11:38 +0200 |
commit | 7360a092712ad01c5803901df5ca6e0edef4150f (patch) | |
tree | bb0b78b99b867a239bf8e53dac74d3cae4ee41df /proc | |
parent | 9393fb33d0405cfb99449241139413f0aae6f4f0 (diff) | |
download | hurd-7360a092712ad01c5803901df5ca6e0edef4150f.tar.gz hurd-7360a092712ad01c5803901df5ca6e0edef4150f.tar.bz2 hurd-7360a092712ad01c5803901df5ca6e0edef4150f.zip |
Do not use ports_get_right () for send-one rights
ports_get_right () expects the caller to make a send, not a send-once,
right from the returned receive right, and increments the expected make-send
count accordingly. The kernel, however, does not increment the make-send
count when a send-once right is being made.
The result can be described as a "no-senders leak": libports' idea of the
current make-send count always stays one step ahead of it actual value (or
several steps ahead, if the process is repeated), which makes libports
ignore *all* the subsequent no-senders notifications for the port as outdated.
Diffstat (limited to 'proc')
0 files changed, 0 insertions, 0 deletions