.. | .. |
---|
4 | 4 | |
---|
5 | 5 | #include <uapi/asm/setup.h> |
---|
6 | 6 | |
---|
7 | | -#define COMMAND_LINE_SIZE 4096 |
---|
| 7 | +#define COMMAND_LINE_SIZE 2048 |
---|
8 | 8 | |
---|
9 | 9 | #include <linux/linkage.h> |
---|
10 | 10 | #include <asm/page_types.h> |
---|
.. | .. |
---|
39 | 39 | static inline void vsmp_init(void) { } |
---|
40 | 40 | #endif |
---|
41 | 41 | |
---|
| 42 | +struct pt_regs; |
---|
| 43 | + |
---|
42 | 44 | void setup_bios_corruption_check(void); |
---|
43 | 45 | void early_platform_quirks(void); |
---|
44 | 46 | |
---|
.. | .. |
---|
46 | 48 | |
---|
47 | 49 | extern void reserve_standard_io_resources(void); |
---|
48 | 50 | extern void i386_reserve_resources(void); |
---|
| 51 | +extern unsigned long __startup_64(unsigned long physaddr, struct boot_params *bp); |
---|
| 52 | +extern unsigned long __startup_secondary_64(void); |
---|
| 53 | +extern void startup_64_setup_env(unsigned long physbase); |
---|
| 54 | +extern void early_setup_idt(void); |
---|
| 55 | +extern void __init do_early_exception(struct pt_regs *regs, int trapnr); |
---|
49 | 56 | |
---|
50 | 57 | #ifdef CONFIG_X86_INTEL_MID |
---|
51 | 58 | extern void x86_intel_mid_early_setup(void); |
---|
.. | .. |
---|
72 | 79 | |
---|
73 | 80 | static inline bool kaslr_enabled(void) |
---|
74 | 81 | { |
---|
75 | | - return !!(boot_params.hdr.loadflags & KASLR_FLAG); |
---|
| 82 | + return IS_ENABLED(CONFIG_RANDOMIZE_MEMORY) && |
---|
| 83 | + !!(boot_params.hdr.loadflags & KASLR_FLAG); |
---|
| 84 | +} |
---|
| 85 | + |
---|
| 86 | +/* |
---|
| 87 | + * Apply no randomization if KASLR was disabled at boot or if KASAN |
---|
| 88 | + * is enabled. KASAN shadow mappings rely on regions being PGD aligned. |
---|
| 89 | + */ |
---|
| 90 | +static inline bool kaslr_memory_enabled(void) |
---|
| 91 | +{ |
---|
| 92 | + return kaslr_enabled() && !IS_ENABLED(CONFIG_KASAN); |
---|
76 | 93 | } |
---|
77 | 94 | |
---|
78 | 95 | static inline unsigned long kaslr_offset(void) |
---|
.. | .. |
---|
102 | 119 | * executable.) |
---|
103 | 120 | */ |
---|
104 | 121 | #define RESERVE_BRK(name,sz) \ |
---|
105 | | - static void __section(.discard.text) __used notrace \ |
---|
| 122 | + static void __section(".discard.text") __used notrace \ |
---|
106 | 123 | __brk_reservation_fn_##name##__(void) { \ |
---|
107 | 124 | asm volatile ( \ |
---|
108 | 125 | ".pushsection .brk_reservation,\"aw\",@nobits;" \ |
---|