[lkml]   [2018]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [GIT PULL] SELinux patches for v4.17
On Fri, 2018-04-06 at 16:07 -0700, Linus Torvalds wrote:
> On Tue, Apr 3, 2018 at 6:37 PM, Paul Moore <>
> wrote:
> >
> > Everything passes the selinux-testsuite, but there are a few known
> > merge conflicts. The first is with the netdev tree and is in
> > net/sctp/socket.c. Unfortunately it is a bit ugly, thankfully
> > Stephen
> > Rothwell has already done the heavy lifting in resolving the merge
> > for
> > you, and the SCTP folks have given his merge patch a thumbs-up.
> I ended up re-doing the merge, and it looks like some more sctp
> changes happened after Stephen's merge anyway, so mine didn't end up
> quite like his.
> Adding Xin Long to see if he can verify it again, but it all *looks*
> sane.
> While looking at it, it struck me that the new security hooks don't
> seem to hook into __sctp_connect(), which also does that
> scope = sctp_scope(&to);
> asoc = sctp_association_new(ep, sk, scope,
> thing. Is that intentional? The sendmsg case does that
> security_sctp_bind_connect, the actual __sctp_connect() does not.
> This is not because I screwed up the merge - it's that way in the
> SELinux tree too. And I obviously _left_ it that way, but while doing
> the merge and trying to understand what was going on, this struck me.
> I'm probably missing something really obvious why the connect case
> doesn't want to do it thgere.
> NOTE! I do see it being done in __sctp_setsockopt_connectx(). But
> __sctp_connect() has another caller (in sctp_connect()) which doesn't
> have that security_sctp_bind_connect() call.
> So please check my resolution, but also somebody should tell me
> "Linus, you're a cretin, sctp_connect() doesn't want that
> security_sctp_bind_connect() at all because it was already done by
> XYZ"
> Linus

Thought I would answer the questions as I wrote the SELinux/SCTP

sctp_connect() or __sctp_connect() do not need to call
security_sctp_bind_connect(). This is because the connect(2) call will
handle the checks required via security_socket_connect():

SYSCALL_DEFINE3(connect, ....)

SCTP uses security_sctp_bind_connect() as this can handle one or more
addresses for either sctp_connectx(3) or sctp_bindx(3). It is also used
for handling the sendmsg(2) and sctp_sendmsg(3) calls in SCTP for a new
association (that is effectively a "connect").

Hope this helps


> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> security-module" in
> the body of a message to
> More majordomo info at

 \ /
  Last update: 2018-04-07 19:01    [W:0.051 / U:2.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site