Bug 217064 - Kernel TLS with CAAM is Broken (net/tls/tls_sw.c)
Summary: Kernel TLS with CAAM is Broken (net/tls/tls_sw.c)
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: ARM Linux
: P1 normal
Assignee: drivers_network@kernel-bugs.osdl.org
Depends on:
Reported: 2023-02-21 07:07 UTC by Gaurav Jain
Modified: 2023-02-22 08:21 UTC (History)
2 users (show)

See Also:
Kernel Version: 6.1
Tree: Mainline
Regression: Yes


Description Gaurav Jain 2023-02-21 07:07:22 UTC
I am running Kernel TLS with CAAM on iMX8M board.
KTLS + CAAM is broken in 6.1 kernel when async and zero copy is true.

**Commit id causing the issue: **

commit cbbdee9918a2662914f411aa999f2f80bf044a30
Author: Jakub Kicinski kuba@kernel.org
Date:   Thu Jul 14 22:22:34 2022 -0700

    tls: rx: async: don't put async zc on the list

    The "zero-copy" path in SW TLS will engage either for no skbs or
    for all but last. If the recvmsg parameters are right and the
    socket can do ZC we'll ZC until the iterator can't fit a full
    record at which point we'll decrypt one more record and copy
    over the necessary bits to fill up the request.

    The only reason we hold onto the ZC skbs which went thru the async
    path until the end of recvmsg() is to count bytes. We need an accurate
    count of zc'ed bytes so that we can calculate how much of the non-zc'd
    data to copy. To allow freeing input skbs on the ZC path count only
    how much of the list we'll need to consume.

    Signed-off-by: Jakub Kicinski kuba@kernel.org
    Signed-off-by: David S. Miller davem@davemloft.net

Note You need to log in before you can comment on or make changes to this bug.