diff options
author | Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> | 2023-06-27 10:43:14 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-06-27 10:50:22 -0700 |
commit | a9c49cc2f5b578c4ffa0ee135aa552d06dec0e82 (patch) | |
tree | 8c033bdb8f17c3ebf4c5f8ecc95aab953a1fd21c /net/ipv6/udp.c | |
parent | 603fc57ab70c306fa483ca66152223e861455e09 (diff) | |
download | linux-stable-a9c49cc2f5b578c4ffa0ee135aa552d06dec0e82.tar.gz linux-stable-a9c49cc2f5b578c4ffa0ee135aa552d06dec0e82.tar.bz2 linux-stable-a9c49cc2f5b578c4ffa0ee135aa552d06dec0e82.zip |
net: scm: introduce and use scm_recv_unix helper
Recently, our friends from bluetooth subsystem reported [1] that after
commit 5e2ff6704a27 ("scm: add SO_PASSPIDFD and SCM_PIDFD") scm_recv()
helper become unusable in kernel modules (because it uses unexported
pidfd_prepare() API).
We were aware of this issue and workarounded it in a hard way
by commit 97154bcf4d1b ("af_unix: Kconfig: make CONFIG_UNIX bool").
But recently a new functionality was added in the scope of commit
817efd3cad74 ("Bluetooth: hci_sock: Forward credentials to monitor")
and after that bluetooth can't be compiled as a kernel module.
After some discussion in [1] we decided to split scm_recv() into
two helpers, one won't support SCM_PIDFD (used for unix sockets),
and another one will be completely the same as it was before commit
5e2ff6704a27 ("scm: add SO_PASSPIDFD and SCM_PIDFD").
Link: https://lore.kernel.org/lkml/CAJqdLrpFcga4n7wxBhsFqPQiN8PKFVr6U10fKcJ9W7AcZn+o6Q@mail.gmail.com/ [1]
Fixes: 5e2ff6704a27 ("scm: add SO_PASSPIDFD and SCM_PIDFD")
Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://lore.kernel.org/r/20230627174314.67688-3-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6/udp.c')
0 files changed, 0 insertions, 0 deletions