On Fri, Aug 7, 2020 at 3:18 PM Kees Cook keescook@chromium.org wrote:
On Fri, Aug 07, 2020 at 01:29:24PM -0700, John Stultz wrote:
On Thu, Jul 9, 2020 at 11:28 AM Kees Cook keescook@chromium.org wrote:
Duplicate the cleanups from commit 2618d530dd8b ("net/scm: cleanup scm_detach_fds") into the compat code.
Replace open-coded __receive_sock() with a call to the helper.
Move the check added in commit 1f466e1f15cf ("net: cleanly handle kernel vs user buffers for ->msg_control") to before the compat call, even though it should be impossible for an in-kernel call to also be compat.
Correct the int "flags" argument to unsigned int to match fd_install() and similar APIs.
Regularize any remaining differences, including a whitespace issue, a checkpatch warning, and add the check from commit 6900317f5eff ("net, scm: fix PaX detected msg_controllen overflow in scm_detach_fds") which fixed an overflow unique to 64-bit. To avoid confusion when comparing the compat handler to the native handler, just include the same check in the compat handler.
Acked-by: Christian Brauner christian.brauner@ubuntu.com Signed-off-by: Kees Cook keescook@chromium.org
Hey Kees, So during the merge window (while chasing a few other regressions), I noticed occasionally my Dragonboard 845c running AOSP having trouble with the web browser crashing or other apps hanging, and I've bisected the issue down to this change.
Unfortunately it doesn't revert cleanly so I can't validate reverting it sorts things against linus/HEAD. Anyway, I wanted to check and see if you had any other reports of similar or any ideas what might be going wrong?
Hi; Yes, sorry for the trouble. I had a typo in a refactor of SCM_RIGHTS. I suspect it'll be fixed by this: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
Can you verify Linus's latest tree works for you? If not, there might be something else hiding in the corners...
Thanks so much! Yes, I just updated to Linus' latest and the issue has disappeared!
thanks again! -john