]> Zhao Yanbai Git Server - minix.git/commit
Kernel: fix async message failure handling crash 47/3047/1
authorDavid van Moolenbroek <david@minix3.org>
Mon, 13 Jul 2015 06:14:33 +0000 (08:14 +0200)
committerDavid van Moolenbroek <david@minix3.org>
Sat, 8 Aug 2015 16:55:52 +0000 (16:55 +0000)
commit3091b8cf26a919ff39c09f9f9da13eda11503934
treec9116b2b45cc304f6d0fe39c5b2dc93e3c2519ac
parente10ce184e45094288ff2e324f9aaa968a798c3f6
Kernel: fix async message failure handling crash

If an asynchronous message is delivered during an ipc_receive(2) call,
but a failure occurred while copying out the status to the sending
process, then the receiving process would be left in an inconsistent
state, leading to a kernel crash shortly after.

For now, we fix this by altogether ignoring errors while copying out
the status field to the sending process.  While this resolves the
kernel crash, it is hardly ideal, since it will likely cause the same
message to be delivered repeatedly.  It would be better to disable
asynchronous communication from the sender process altogether, but this
solution requires more changes and thus more testing.

Change-Id: Ib00bf01ad29cdd10a5dee731d4788254d9037a76
minix/kernel/proc.c