diff -drupN a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c --- a/crypto/algif_skcipher.c 2018-08-06 17:23:04.000000000 +0300 +++ b/crypto/algif_skcipher.c 2022-06-12 05:28:14.000000000 +0300 @@ -454,7 +454,8 @@ static ssize_t skcipher_sendpage(struct if (!size) goto done; - if (!skcipher_writable(sk)) { + + if (size > skcipher_sndbuf(sk)) { err = skcipher_wait_for_wmem(sk, flags); if (err) goto unlock; @@ -808,8 +809,8 @@ static int skcipher_sendmsg_nokey(struct int err; err = skcipher_check_key(sock); - if (err) - return err; + /*if (err) + return err;*/ /*ce2.0 dh/rsa/ecc have no single key to set*/ return skcipher_sendmsg(sock, msg, size); } @@ -820,8 +821,8 @@ static ssize_t skcipher_sendpage_nokey(s int err; err = skcipher_check_key(sock); - if (err) - return err; + /*if (err) + return err;*/ /*ce2.0 dh/rsa/ecc have no single key to set*/ return skcipher_sendpage(sock, page, offset, size, flags); } @@ -832,8 +833,8 @@ static int skcipher_recvmsg_nokey(struct int err; err = skcipher_check_key(sock); - if (err) - return err; + /*if (err) + return err;*/ /*ce2.0 dh/rsa/ecc have no single key to set*/ return skcipher_recvmsg(sock, msg, ignored, flags); }