Hello Herbert Xu, The patch 700cb3f5fe75: "crypto: lrw - Convert to skcipher" from Nov 22, 2016, leads to the following static checker warning: crypto/lrw.c:316 exit_crypt() warn: should '(struct rctx)->ext' be freed with kzfree()' crypto/lrw.c 309 static void exit_crypt(struct skcipher_request *req) 310 { 311 struct rctx *rctx = skcipher_request_ctx(req); 312 313 rctx->left = 0; 314 315 if (rctx->ext) 316 kfree(rctx->ext); ^^^^^^^^^^^^^^^^ I am working on a Smatch check that complains about stuff we should maybe free with kzfree. It first makes a list of any struct members which are freed with kzfree() then it does a second pass and complains if any of them are freed with regular kfree(). 317 } Here is the complete list of warnings from v4.15-rc8. It's not very long... crypto/lrw.c:316 exit_crypt() warn: should '(struct rctx)->ext' be freed with kzfree()' drivers/crypto/virtio/virtio_crypto_core.c:411 virtcrypto_free_unused_reqs() warn: should '(struct virtio_crypto_request)->req_data' be freed with kzfree()' drivers/net/wireless/intersil/orinoco/wext.c:78 orinoco_set_key() warn: should '(struct key_params)->key' be freed with kzfree()' drivers/staging/wlan-ng/p80211conv.c:216 skb_ether_to_p80211() warn: should '(struct p80211_metawep)->data' be freed with kzfree()' fs/cifs/connect.c:1710 cifs_parse_mount_options() warn: should '(struct smb_vol)->password' be freed with kzfree()' fs/cifs/connect.c:1748 cifs_parse_mount_options() warn: should '(struct smb_vol)->password' be freed with kzfree()' fs/cifs/connect.c:4238 cifs_construct_tcon() warn: should '(struct smb_vol)->password' be freed with kzfree()' security/apparmor/crypto.c:102 aa_calc_profile_hash() warn: should '(struct aa_profile)->hash' be freed with kzfree()' regards, dan carpenter