mirror of
https://github.com/systemd/systemd.git
synced 2025-01-12 13:18:14 +03:00
sd-netlink: res_id is 16bit but serial is 32bit
The explicit value here is not so important. Let's chop off the higher bits. Fixes the issue reported at https://github.com/systemd/systemd/pull/29802#issuecomment-1788637950.
This commit is contained in:
parent
070243ecda
commit
4314abf6d4
@ -149,9 +149,9 @@ int sd_nfnl_send_batch(
|
||||
if (serials)
|
||||
serials[i] = message_get_serial(messages[i]);
|
||||
|
||||
/* It seems that the kernel accepts an arbitrary number. Let's set the serial of the
|
||||
* first message. */
|
||||
nfnl_message_set_res_id(messages[i], message_get_serial(batch_begin));
|
||||
/* It seems that the kernel accepts an arbitrary number. Let's set the lower 16 bits of the
|
||||
* serial of the first message. */
|
||||
nfnl_message_set_res_id(messages[i], (uint16_t) (message_get_serial(batch_begin) & UINT16_MAX));
|
||||
|
||||
iovs[c++] = IOVEC_MAKE(messages[i]->hdr, messages[i]->hdr->nlmsg_len);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user