cregit-Linux how code gets into the kernel

Release 4.14 include/linux/bug.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_BUG_H

#define _LINUX_BUG_H

#include <asm/bug.h>
#include <linux/compiler.h>
#include <linux/build_bug.h>


enum bug_trap_type {
	
BUG_TRAP_TYPE_NONE = 0,
	
BUG_TRAP_TYPE_WARN = 1,
	
BUG_TRAP_TYPE_BUG = 2,
};

struct pt_regs;

#ifdef __CHECKER__

#define MAYBE_BUILD_BUG_ON(cond) (0)
#else /* __CHECKER__ */


#define MAYBE_BUILD_BUG_ON(cond)			\
	do {                                            \
                if (__builtin_constant_p((cond)))       \
                        BUILD_BUG_ON(cond);             \
                else                                    \
                        BUG_ON(cond);                   \
        } while (0)

#endif	/* __CHECKER__ */

#ifdef CONFIG_GENERIC_BUG
#include <asm-generic/bug.h>


static inline int is_warning_bug(const struct bug_entry *bug) { return bug->flags & BUGFLAG_WARNING; }

Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge20100.00%1100.00%
Total20100.00%1100.00%

struct bug_entry *find_bug(unsigned long bugaddr); enum bug_trap_type report_bug(unsigned long bug_addr, struct pt_regs *regs); /* These are defined by the architecture */ int is_valid_bugaddr(unsigned long addr); #else /* !CONFIG_GENERIC_BUG */
static inline enum bug_trap_type report_bug(unsigned long bug_addr, struct pt_regs *regs) { return BUG_TRAP_TYPE_BUG; }

Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge1575.00%150.00%
Heiko Carstens525.00%150.00%
Total20100.00%2100.00%

#endif /* CONFIG_GENERIC_BUG */ /* * Since detected data corruption should stop operation on the affected * structures. Return value must be checked and sanely acted on by caller. */
static inline __must_check bool check_data_corruption(bool v) { return v; }

Contributors

PersonTokensPropCommitsCommitProp
Kees Cook14100.00%1100.00%
Total14100.00%1100.00%

#define CHECK_DATA_CORRUPTION(condition, fmt, ...) \ check_data_corruption(({ \ bool corruption = unlikely(condition); \ if (corruption) { \ if (IS_ENABLED(CONFIG_BUG_ON_DATA_CORRUPTION)) { \ pr_err(fmt, ##__VA_ARGS__); \ BUG(); \ } else \ WARN(1, fmt, ##__VA_ARGS__); \ } \ corruption; \ })) #endif /* _LINUX_BUG_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Jeremy Fitzhardinge10359.20%111.11%
Kees Cook2715.52%222.22%
Kirill A. Shutemov158.62%111.11%
Heiko Carstens137.47%111.11%
Paul Gortmaker95.17%111.11%
Daniel Santos31.72%111.11%
Ian Abbott31.72%111.11%
Greg Kroah-Hartman10.57%111.11%
Total174100.00%9100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.