Skip to content

Commit cade818

Browse files
committed
Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI fixes from Ingo Molnar: "This tree contains three fixes: a console spam fix, a file pattern fix and a sysfb_efi fix for a bug that triggered on older ThinkPads" * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/sysfb_efi: Fix valid BAR address range check x86/efi-bgrt: Switch all pr_err() to pr_notice() for invalid BGRT MAINTAINERS: Remove asterisk from EFI directory names
2 parents 83a395d + c10fcb1 commit cade818

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

MAINTAINERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4223,8 +4223,8 @@ F: Documentation/efi-stub.txt
42234223
F: arch/ia64/kernel/efi.c
42244224
F: arch/x86/boot/compressed/eboot.[ch]
42254225
F: arch/x86/include/asm/efi.h
4226-
F: arch/x86/platform/efi/*
4227-
F: drivers/firmware/efi/*
4226+
F: arch/x86/platform/efi/
4227+
F: drivers/firmware/efi/
42284228
F: include/linux/efi*.h
42294229

42304230
EFI VARIABLE FILESYSTEM

arch/x86/kernel/sysfb_efi.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,24 @@ static int __init efifb_set_system(const struct dmi_system_id *id)
106106
continue;
107107
for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
108108
resource_size_t start, end;
109+
unsigned long flags;
110+
111+
flags = pci_resource_flags(dev, i);
112+
if (!(flags & IORESOURCE_MEM))
113+
continue;
114+
115+
if (flags & IORESOURCE_UNSET)
116+
continue;
117+
118+
if (pci_resource_len(dev, i) == 0)
119+
continue;
109120

110121
start = pci_resource_start(dev, i);
111-
if (start == 0)
112-
break;
113122
end = pci_resource_end(dev, i);
114123
if (screen_info.lfb_base >= start &&
115124
screen_info.lfb_base < end) {
116125
found_bar = 1;
126+
break;
117127
}
118128
}
119129
}

arch/x86/platform/efi/efi-bgrt.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,55 +43,55 @@ void __init efi_bgrt_init(void)
4343
return;
4444

4545
if (bgrt_tab->header.length < sizeof(*bgrt_tab)) {
46-
pr_err("Ignoring BGRT: invalid length %u (expected %zu)\n",
46+
pr_notice("Ignoring BGRT: invalid length %u (expected %zu)\n",
4747
bgrt_tab->header.length, sizeof(*bgrt_tab));
4848
return;
4949
}
5050
if (bgrt_tab->version != 1) {
51-
pr_err("Ignoring BGRT: invalid version %u (expected 1)\n",
51+
pr_notice("Ignoring BGRT: invalid version %u (expected 1)\n",
5252
bgrt_tab->version);
5353
return;
5454
}
5555
if (bgrt_tab->status & 0xfe) {
56-
pr_err("Ignoring BGRT: reserved status bits are non-zero %u\n",
56+
pr_notice("Ignoring BGRT: reserved status bits are non-zero %u\n",
5757
bgrt_tab->status);
5858
return;
5959
}
6060
if (bgrt_tab->image_type != 0) {
61-
pr_err("Ignoring BGRT: invalid image type %u (expected 0)\n",
61+
pr_notice("Ignoring BGRT: invalid image type %u (expected 0)\n",
6262
bgrt_tab->image_type);
6363
return;
6464
}
6565
if (!bgrt_tab->image_address) {
66-
pr_err("Ignoring BGRT: null image address\n");
66+
pr_notice("Ignoring BGRT: null image address\n");
6767
return;
6868
}
6969

7070
image = memremap(bgrt_tab->image_address, sizeof(bmp_header), MEMREMAP_WB);
7171
if (!image) {
72-
pr_err("Ignoring BGRT: failed to map image header memory\n");
72+
pr_notice("Ignoring BGRT: failed to map image header memory\n");
7373
return;
7474
}
7575

7676
memcpy(&bmp_header, image, sizeof(bmp_header));
7777
memunmap(image);
7878
if (bmp_header.id != 0x4d42) {
79-
pr_err("Ignoring BGRT: Incorrect BMP magic number 0x%x (expected 0x4d42)\n",
79+
pr_notice("Ignoring BGRT: Incorrect BMP magic number 0x%x (expected 0x4d42)\n",
8080
bmp_header.id);
8181
return;
8282
}
8383
bgrt_image_size = bmp_header.size;
8484

8585
bgrt_image = kmalloc(bgrt_image_size, GFP_KERNEL | __GFP_NOWARN);
8686
if (!bgrt_image) {
87-
pr_err("Ignoring BGRT: failed to allocate memory for image (wanted %zu bytes)\n",
87+
pr_notice("Ignoring BGRT: failed to allocate memory for image (wanted %zu bytes)\n",
8888
bgrt_image_size);
8989
return;
9090
}
9191

9292
image = memremap(bgrt_tab->image_address, bmp_header.size, MEMREMAP_WB);
9393
if (!image) {
94-
pr_err("Ignoring BGRT: failed to map image memory\n");
94+
pr_notice("Ignoring BGRT: failed to map image memory\n");
9595
kfree(bgrt_image);
9696
bgrt_image = NULL;
9797
return;

0 commit comments

Comments
 (0)