Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Thomas Gleixner:
"Two fixes for EFI/PAT:

- a 32bit overflow bug in the PAT code which was unearthed by the
large EFI mappings

- prevent a boot hang on large systems when EFI mixed mode is enabled
but not used"

* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/efi: Only map RAM into EFI page tables if in mixed-mode
x86/mm/pat: Prevent hang during boot when mapping pages

+12 -11
+11 -10
arch/x86/mm/pageattr.c
··· 917 917 } 918 918 } 919 919 920 - static int populate_pmd(struct cpa_data *cpa, 921 - unsigned long start, unsigned long end, 922 - unsigned num_pages, pud_t *pud, pgprot_t pgprot) 920 + static long populate_pmd(struct cpa_data *cpa, 921 + unsigned long start, unsigned long end, 922 + unsigned num_pages, pud_t *pud, pgprot_t pgprot) 923 923 { 924 - unsigned int cur_pages = 0; 924 + long cur_pages = 0; 925 925 pmd_t *pmd; 926 926 pgprot_t pmd_pgprot; 927 927 ··· 991 991 return num_pages; 992 992 } 993 993 994 - static int populate_pud(struct cpa_data *cpa, unsigned long start, pgd_t *pgd, 995 - pgprot_t pgprot) 994 + static long populate_pud(struct cpa_data *cpa, unsigned long start, pgd_t *pgd, 995 + pgprot_t pgprot) 996 996 { 997 997 pud_t *pud; 998 998 unsigned long end; 999 - int cur_pages = 0; 999 + long cur_pages = 0; 1000 1000 pgprot_t pud_pgprot; 1001 1001 1002 1002 end = start + (cpa->numpages << PAGE_SHIFT); ··· 1052 1052 1053 1053 /* Map trailing leftover */ 1054 1054 if (start < end) { 1055 - int tmp; 1055 + long tmp; 1056 1056 1057 1057 pud = pud_offset(pgd, start); 1058 1058 if (pud_none(*pud)) ··· 1078 1078 pgprot_t pgprot = __pgprot(_KERNPG_TABLE); 1079 1079 pud_t *pud = NULL; /* shut up gcc */ 1080 1080 pgd_t *pgd_entry; 1081 - int ret; 1081 + long ret; 1082 1082 1083 1083 pgd_entry = cpa->pgd + pgd_index(addr); 1084 1084 ··· 1327 1327 1328 1328 static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias) 1329 1329 { 1330 - int ret, numpages = cpa->numpages; 1330 + unsigned long numpages = cpa->numpages; 1331 + int ret; 1331 1332 1332 1333 while (numpages) { 1333 1334 /*
+1 -1
arch/x86/platform/efi/efi_64.c
··· 245 245 * text and allocate a new stack because we can't rely on the 246 246 * stack pointer being < 4GB. 247 247 */ 248 - if (!IS_ENABLED(CONFIG_EFI_MIXED)) 248 + if (!IS_ENABLED(CONFIG_EFI_MIXED) || efi_is_native()) 249 249 return 0; 250 250 251 251 /*