Re: [PATCH] connector: fix out-of-order cn_proc netlink message delivery

From: Evgeniy Polyakov
Date: Tue Jun 28 2016 - 09:03:44 EST


Hi Aaron

24.06.2016, 16:07, "Aaron Campbell" <aaron@xxxxxxxxxx>:
> The proc connector messages include a sequence number, allowing userspace
> programs to detect lost messages. However, performing this detection is
> currently more difficult than necessary, since netlink messages can be
> delivered to the application out-of-order. To fix this, leave pre-emption
> disabled during cn_netlink_send(), and use GFP_NOWAIT.
>
> The following was written as a test case. Building the kernel w/ make -j32
> proved a reliable way to generate out-of-order cn_proc messages.

This is not actually about out-of-order sending which is impossible iirc,
but the way fork pushes messages into socket queue in parallel. What you've done
is syncing one more layer higher.

I'm not against this patch if you think it does fix some issues, but wording is not correct imo.