Hi netdev folk! Commit c14ac9451c34832554db33386a4393be8bba3a7b broke pulseaudio (PA) over TCP.
PA does unusual thing: it calls
sendmsg(cmsg_type=SCM_CREDENTIALS)
on a TCP socket. It's not a new PA behaviour though.
Originally reported as PA bug (has more details)
https://bugs.freedesktop.org/show_bug.cgi?id=96873
It looks like kernel used to ignore control messages
but now it does not:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/net/ipv4/tcp.c?id=c14ac9451c34832554db33386a4393be8bba3a7b
+ if (msg->msg_controllen) {
+ err = sock_cmsg_send(sk, msg, &sockc);
+ if (unlikely(err)) {
+ err = -EINVAL;
+ goto out_err;
+ }
+ }
This change breaks streaming of pulse clients.
Pulseaudio will be fixed at some point.
But kernel change does not look like intentional
breakage of old behaviour.
Perhaps kernel should have a grace period and only
warn about unsupported control messages for a socket?
Last working kernel: v4.6
Thanks!
--
Sergei
pgplyhSAbcyOd.pgp
Description: Цифровая подпись OpenPGP
