sd-device-monitor: fix ordering of setting buffer size
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 11 Jan 2019 20:24:54 +0000 (05:24 +0900)
committerMichael Biebl <biebl@debian.org>
Sat, 12 Jan 2019 20:49:44 +0000 (20:49 +0000)
commit7bc062cecc4ad3ce8009e81b096d9deff0ab9cba
tree7e12aba940c0f2a957798fc53670fcab92f6262f
parent018e0c80f819ee96db3a64ef7eddab2d67032bd0
sd-device-monitor: fix ordering of setting buffer size

By b1c097af8df58a94cba031a347061b7cb9b62d9b (#10239), the receive buffer
size for uevents was set by SO_RCVBUF at first, and fallback to
use SO_RCVBUFFORCE. So, as SO_RCVBUF limits to the buffer size
net.core.rmem_max, which is usually much smaller than 128MB udevd requests,
uevents buffer size was not sufficient.

This fixes the ordering of the request: SO_RCVBUFFORCE first, and
fallback to SO_RCVBUF. Then, udevd's uevent buffer size can be set to
128MB.

This also revert 903893237a2105b05671fe87b8f5d5e7417040d2.

Fixes #11314 and #10754.

(cherry picked from commit ee0b9e721a368742ac6fa9c3d9a33e45dc3203a2)

Gbp-Pq: Name sd-device-monitor-fix-ordering-of-setting-buffer-size.patch
src/libsystemd/sd-device/device-monitor.c