| .. | .. |
|---|
| 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;" \ |
|---|