FILE
checksum.h
File preview with syntax highlighting.
linux-6.19.14/tools/objtool/include/objtool/checksum.h
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2#ifndef _OBJTOOL_CHECKSUM_H 3#define _OBJTOOL_CHECKSUM_H 4 5#include <objtool/elf.h> 6 7#ifdef BUILD_KLP 8 9static inline void checksum_init(struct symbol *func) 10{ 11 if (func && !func->csum.state) { 12 func->csum.state = XXH3_createState(); 13 XXH3_64bits_reset(func->csum.state); 14 } 15} 16 17static inline void checksum_update(struct symbol *func, 18 struct instruction *insn, 19 const void *data, size_t size) 20{ 21 XXH3_64bits_update(func->csum.state, data, size); 22 dbg_checksum(func, insn, XXH3_64bits_digest(func->csum.state)); 23} 24 25static inline void checksum_finish(struct symbol *func) 26{ 27 if (func && func->csum.state) { 28 func->csum.checksum = XXH3_64bits_digest(func->csum.state); 29 func->csum.state = NULL; 30 } 31} 32 33#else /* !BUILD_KLP */ 34 35static inline void checksum_init(struct symbol *func) {} 36static inline void checksum_update(struct symbol *func, 37 struct instruction *insn, 38 const void *data, size_t size) {} 39static inline void checksum_finish(struct symbol *func) {} 40 41#endif /* !BUILD_KLP */ 42 43#endif /* _OBJTOOL_CHECKSUM_H */
~/
Read-only file preview.