]> git.baikalelectronics.ru Git - kernel.git/commit
af_unix: Don't use continue to re-execute unix_stream_read_generic loop
authorRainer Weikusat <rweikusat@mobileactivedefense.com>
Thu, 18 Feb 2016 12:39:46 +0000 (12:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 20 Feb 2016 04:50:31 +0000 (23:50 -0500)
commit98a379e5e683fb37311d56c92b450962c72c687a
tree1b22d754e79d5b879f1c1315f4966c057a610993
parent000044bd92a870cf77b94ec41fc6f6ebd433b391
af_unix: Don't use continue to re-execute unix_stream_read_generic loop

The unix_stream_read_generic function tries to use a continue statement
to restart the receive loop after waiting for a message. This may not
work as intended as the caller might use a recvmsg call to peek at
control messages without specifying a message buffer. If this was the
case, the continue will cause the function to return without an error
and without the credential information if the function had to wait for a
message while it had returned with the credentials otherwise. Change to
using goto to restart the loop without checking the condition first in
this case so that credentials are returned either way.

Signed-off-by: Rainer Weikusat <rweikusat@mobileactivedefense.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/unix/af_unix.c