• Alexander Mikhalitsyn's avatar
    scm: fix MSG_CTRUNC setting condition for SO_PASSSEC · a02d83f9
    Alexander Mikhalitsyn authored
    Currently, kernel would set MSG_CTRUNC flag if msg_control buffer
    wasn't provided and SO_PASSCRED was set or if there was pending SCM_RIGHTS.
    
    For some reason we have no corresponding check for SO_PASSSEC.
    
    In the recvmsg(2) doc we have:
           MSG_CTRUNC
                  indicates that some control data was discarded due to lack
                  of space in the buffer for ancillary data.
    
    So, we need to set MSG_CTRUNC flag for all types of SCM.
    
    This change can break applications those don't check MSG_CTRUNC flag.
    
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Leon Romanovsky <leon@kernel.org>
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Signed-off-by: default avatarAlexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    
    v2:
    - commit message was rewritten according to Eric's suggestion
    Acked-by: default avatarPaul Moore <paul@paul-moore.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a02d83f9
scm.h 3.75 KB