Hey Brian,
I've attached a patch for RHEL5.3 which should enable you to compile on
Solaris. I've done a quick sniff test on my systems, and I do not see
any issues.
Please confirm that it works for you, and I'll make the necessary
changes for RHEL5.1 and RHEL 5.2.
Thanks,
Jon
diff --git a/kernel_addons/backport/2.6.18-EL5.3/include/linux/crypto.h b/kernel_addons/backport/2.6.18-EL5.3/include/linux/crypto.h
index d7d2551..7dbf768 100644
--- a/kernel_addons/backport/2.6.18-EL5.3/include/linux/crypto.h
+++ b/kernel_addons/backport/2.6.18-EL5.3/include/linux/crypto.h
@@ -2,116 +2,8 @@
#define BACKPORT_LINUX_CRYPTO_H
#include_next <linux/crypto.h>
+#include <linux/ncrypto.h>
-#define CRYPTO_ALG_ASYNC 0x00000080
-
-struct hash_desc
-{
- struct crypto_tfm *tfm;
- u32 flags;
-};
-
-struct crypto_blkcipher {
- struct crypto_tfm base;
-};
-
-struct blkcipher_desc {
- struct crypto_blkcipher *tfm;
- void *info;
- u32 flags;
-};
-
-static inline int crypto_hash_init(struct hash_desc *desc)
-{
- crypto_digest_init(desc->tfm);
- return 0;
-}
-
-static inline int crypto_hash_digest(struct hash_desc *desc,
- struct scatterlist *sg,
- unsigned int nbytes, u8 *out)
-{
- crypto_digest_digest(desc->tfm, sg, 1, out);
- return nbytes;
-}
-
-static inline int crypto_hash_update(struct hash_desc *desc,
- struct scatterlist *sg,
- unsigned int nbytes)
-{
- crypto_digest_update(desc->tfm, sg, 1);
- return nbytes;
-}
-
-static inline int crypto_hash_final(struct hash_desc *desc, u8 *out)
-{
- crypto_digest_final(desc->tfm, out);
- return 0;
-}
-
-static inline struct crypto_tfm *crypto_alloc_hash(const char *alg_name,
- u32 type, u32 mask)
-{
- struct crypto_tfm *ret = crypto_alloc_tfm(alg_name ,type);
- return ret ? ret : ERR_PTR(-ENOMEM);
-}
-
-static inline void crypto_free_hash(struct crypto_tfm *tfm)
-{
- crypto_free_tfm(tfm);
-}
-
-#define crypto_hash_digestsize(tfm) crypto_tfm_alg_digestsize(tfm)
-#define crypto_hash_setkey(a,b,c) crypto_digest_setkey(a,b,c)
-
-static inline struct crypto_tfm *crypto_blkcipher_tfm(
- struct crypto_blkcipher *tfm)
-{
- return &tfm->base;
-}
-
-static inline unsigned int crypto_blkcipher_blocksize(
- struct crypto_blkcipher *tfm)
-{
- return crypto_tfm_alg_blocksize(crypto_blkcipher_tfm(tfm));
-}
-
-static inline unsigned int crypto_blkcipher_ivsize(struct crypto_blkcipher *tfm)
-{
- return crypto_tfm_alg_ivsize(crypto_blkcipher_tfm(tfm));
-}
-
-static inline int crypto_blkcipher_encrypt_iv(struct blkcipher_desc *desc,
- struct scatterlist *dst,
- struct scatterlist *src,
- unsigned int nbytes)
-{
- return crypto_cipher_encrypt_iv(crypto_blkcipher_tfm(desc->tfm), dst, src, nbytes, (u8 *)desc->info);
-}
-
-static inline int crypto_blkcipher_decrypt_iv(struct blkcipher_desc *desc,
- struct scatterlist *dst,
- struct scatterlist *src,
- unsigned int nbytes)
-{
- return crypto_cipher_decrypt_iv(crypto_blkcipher_tfm(desc->tfm), dst, src, nbytes, (u8 *)desc->info);
-}
-
-static inline struct crypto_blkcipher *crypto_alloc_blkcipher(
- const char *alg_name, u32 type, u32 mask)
-{
- return (struct crypto_blkcipher *)crypto_alloc_tfm(alg_name, mask);
-}
-
-static inline void crypto_free_blkcipher(struct crypto_blkcipher *tfm)
-{
- crypto_free_tfm(crypto_blkcipher_tfm(tfm));
-}
-
-static inline int crypto_blkcipher_setkey(struct crypto_blkcipher *tfm,
- const u8 *key, unsigned int keylen)
-{
- return crypto_cipher_setkey(crypto_blkcipher_tfm(tfm), key, keylen);
-}
+#define CRYPTO_ALG_ASYNC NCRYPTO_ALG_ASYNC
#endif
diff --git a/kernel_addons/backport/2.6.18-EL5.3/include/linux/scatterlist.h b/kernel_addons/backport/2.6.18-EL5.3/include/linux/scatterlist.h
index 41e7805..c228575 100644
--- a/kernel_addons/backport/2.6.18-EL5.3/include/linux/scatterlist.h
+++ b/kernel_addons/backport/2.6.18-EL5.3/include/linux/scatterlist.h
@@ -1,27 +1,14 @@
#ifndef __BACKPORT_LINUX_SCATTERLIST_H_TO_2_6_23__
#define __BACKPORT_LINUX_SCATTERLIST_H_TO_2_6_23__
-#include_next<linux/scatterlist.h>
-static inline void sg_set_page(struct scatterlist *sg, struct page *page,
- unsigned int len, unsigned int offset)
-{
- sg->page = page;
- sg->offset = offset;
- sg->length = len;
-}
+#include_next<linux/scatterlist.h>
+#include <linux/ncrypto.h>
static inline void sg_assign_page(struct scatterlist *sg, struct page *page)
{
sg->page = page;
}
-static inline void sg_mark_end(struct scatterlist *sg)
-{
-}
-
-#define sg_page(a) (a)->page
-#define sg_init_table(a, b)
-
#define for_each_sg(sglist, sg, nr, __i) \
for (__i = 0, sg = (sglist); __i < (nr); __i++, sg++)
_______________________________________________
ewg mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg