lkml.org 
[lkml]   [2020]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 net-next] net/tls: allow MSG_CMSG_COMPAT in sendmsg
    Date
    Trying to use ktls on a system with 32-bit userspace and 64-bit kernel
    results in a EOPNOTSUPP message during sendmsg:

    setsockopt(3, SOL_TLS, TLS_TX, …, 40) = 0
    sendmsg(3, …, msg_flags=0}, 0) = -1 EOPNOTSUPP (Operation not supported)

    The tls_sw implementation does strict flag checking and does not allow
    the MSG_CMSG_COMPAT flag, which is set if the message comes in through
    the compat syscall.

    This patch adds MSG_CMSG_COMPAT to the flag check to allow the usage of
    the TLS SW implementation on systems using the compat syscall path.

    Note that the same check is present in the sendmsg path for the TLS
    device implementation, however the flag hasn't been added there for lack
    of testing hardware.

    Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
    ---
    net/tls/tls_sw.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
    index 24f64bc0de18..a332ae123bda 100644
    --- a/net/tls/tls_sw.c
    +++ b/net/tls/tls_sw.c
    @@ -935,7 +935,8 @@ int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
    int ret = 0;
    int pending;

    - if (msg->msg_flags & ~(MSG_MORE | MSG_DONTWAIT | MSG_NOSIGNAL))
    + if (msg->msg_flags & ~(MSG_MORE | MSG_DONTWAIT | MSG_NOSIGNAL |
    + MSG_CMSG_COMPAT))
    return -EOPNOTSUPP;

    mutex_lock(&tls_ctx->tx_lock);
    base-commit: c1055b76ad00aed0e8b79417080f212d736246b6
    --
    2.27.0

    \
     
     \ /
      Last update: 2020-08-06 08:50    [W:3.074 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site