Regression in unix stream sockets with the Smack LSM

From: Casey Schaufler
Date: Mon Sep 13 2021 - 18:55:34 EST


Commit 77462de14a43f4d98dbd8de0f5743a4e02450b1d

af_unix: Add read_sock for stream socket types

introduced a regression in UDS socket connections for the Smack LSM.
I have not tracked done the details of why the change broke the code,
but this is where bisecting the kernel indicates the problem lies, and
I have verified that reverting this change repairs the problem.

You can verify the problem with the Smack test suite:

https://github.com/smack-team/smack-testsuite.git

The failing test is tests/uds-access.sh.

I have not looked to see if there's a similar problem with SELinux.
There may be, but if there isn't it doesn't matter, there's still a
bug.

Thank you.