Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: talitos - Avoid consecutive packets going out with same IV

+4 -2
+4 -2
drivers/crypto/talitos.c
··· 1157 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_MODE0_ENCRYPT; 1158 1159 memcpy(req->giv, ctx->iv, crypto_aead_ivsize(authenc)); 1160 1161 return ipsec_esp(edesc, areq, req->giv, req->seq, 1162 ipsec_esp_encrypt_done); ··· 1451 1452 priv->ofdev = ofdev; 1453 1454 tasklet_init(&priv->done_task, talitos_done, (unsigned long)dev); 1455 tasklet_init(&priv->error_task, talitos_error, (unsigned long)dev); 1456 ··· 1579 } 1580 1581 /* register crypto algorithms the device supports */ 1582 - INIT_LIST_HEAD(&priv->alg_list); 1583 - 1584 for (i = 0; i < ARRAY_SIZE(driver_algs); i++) { 1585 if (hw_supports(dev, driver_algs[i].desc_hdr_template)) { 1586 struct talitos_crypto_alg *t_alg;
··· 1157 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_MODE0_ENCRYPT; 1158 1159 memcpy(req->giv, ctx->iv, crypto_aead_ivsize(authenc)); 1160 + /* avoid consecutive packets going out with same IV */ 1161 + *(__be64 *)req->giv ^= cpu_to_be64(req->seq); 1162 1163 return ipsec_esp(edesc, areq, req->giv, req->seq, 1164 ipsec_esp_encrypt_done); ··· 1449 1450 priv->ofdev = ofdev; 1451 1452 + INIT_LIST_HEAD(&priv->alg_list); 1453 + 1454 tasklet_init(&priv->done_task, talitos_done, (unsigned long)dev); 1455 tasklet_init(&priv->error_task, talitos_error, (unsigned long)dev); 1456 ··· 1575 } 1576 1577 /* register crypto algorithms the device supports */ 1578 for (i = 0; i < ARRAY_SIZE(driver_algs); i++) { 1579 if (hw_supports(dev, driver_algs[i].desc_hdr_template)) { 1580 struct talitos_crypto_alg *t_alg;