git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
kernel
/
module-verify.h
diff --git
a/kernel/module-verify.h
b/kernel/module-verify.h
index
fadbf9e
..
f4e3dc7
100644
(file)
--- a/
kernel/module-verify.h
+++ b/
kernel/module-verify.h
@@
-10,10
+10,12
@@
*/
#include <linux/types.h>
*/
#include <linux/types.h>
+#include <linux/crypto.h>
#include <asm/module.h>
#include <asm/module.h>
+#ifdef CONFIG_MODULE_VERIFY
struct module_verify_data {
struct module_verify_data {
- struct
crypto_tfm *digest;
/* module signature digest */
+ struct
hash_desc hash;
/* module signature digest */
const void *buffer; /* module buffer */
const Elf_Ehdr *hdr; /* ELF header */
const Elf_Shdr *sections; /* ELF section table */
const void *buffer; /* module buffer */
const Elf_Ehdr *hdr; /* ELF header */
const Elf_Shdr *sections; /* ELF section table */
@@
-33,5
+35,29
@@
struct module_verify_data {
uint8_t csum; /* checksum of bytes representing a section */
};
uint8_t csum; /* checksum of bytes representing a section */
};
+/*
+ * module-verify.c
+ */
extern int module_verify(const Elf_Ehdr *hdr, size_t size);
extern int module_verify(const Elf_Ehdr *hdr, size_t size);
+
+/*
+ * module-verify-elf.c
+ */
+#ifdef CONFIG_MODULE_VERIFY_ELF
+extern int module_verify_elf(struct module_verify_data *mvdata);
+#else
+#define module_verify_elf(m) (0)
+#endif
+
+/*
+ * module-verify-sig.c
+ */
+#ifdef CONFIG_MODULE_SIG
extern int module_verify_signature(struct module_verify_data *mvdata);
extern int module_verify_signature(struct module_verify_data *mvdata);
+#else
+#define module_verify_signature(m) (0)
+#endif
+
+#else
+#define module_verify(h, s) (0)
+#endif