Am Montag, 1. Juni 2015, 15:42:41 schrieb Johannes Berg: Hi Johannes, >On Mon, 2015-06-01 at 15:21 +0200, Stephan Mueller wrote: >> Just a short question on ieee80211_aes_ccm_encrypt, >> ieee80211_aes_ccm_decrypt, ieee80211_aes_gcm_encrypt, >> ieee80211_aes_gcm_decrypt, ieee80211_aes_gmac: can the aad parameter of >> these functions be zero? > >What do you mean by "zero"? The pointer itself can clearly never be >NULL. Thanks for clarifying: indeed I mean the value of the pointer, not the pointer itself :-) > >The contents, now, that's a more interesting question. I believe it can >never be all zeroes, since association request frames are not >encrypted/protected and thus at least one byte in here must be non-zero. >The MAC addresses are also very likely non-zero, but technically >00:00:00:00:00:00 is a valid MAC address I believe. So, even when having a malicious AP, that value is never zero? The driver of the question is the following code in the patch set: + sg_set_buf(&sg[0], &aad[2], be16_to_cpup((__be16 *)aad)); ... + aead_request_set_crypt(aead_req, sg, sg, data_len, b_0); ... crypto_aead_encrypt(aead_req); When I played around with the aead_request_set_crypt, I saw a crash in the scatterlist handling of the crypto API when the first SGL entry has a zero length. Ciao Stephan -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html