Commit 9197e594 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Linus Torvalds
Browse files

firewire: ohci: initialize page array to use alloc_pages_bulk() correctly



The call of alloc_pages_bulk() skips to fill entries of page array when
the entries already have values. While, 1394 OHCI PCI driver passes the
page array without initializing. It could cause invalid state at PFN
validation in vmap().

Fixes: f2ae9278 ("firewire: ohci: split page allocation from dma mapping")
Reported-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Reported-and-tested-by: default avatarHarald Arnesen <linux@skogtun.org>
Reported-and-tested-by: default avatarDavid Gow <david@davidgow.net>
Closes: https://lore.kernel.org/lkml/87tsv1vig5.fsf@jogness.linutronix.de/


Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2f9339c0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -848,7 +848,7 @@ static int ar_context_init(struct ar_context *ctx, struct fw_ohci *ohci,
{
	struct device *dev = ohci->card.device;
	unsigned int i;
	struct page *pages[AR_BUFFERS + AR_WRAPAROUND_PAGES];
	struct page *pages[AR_BUFFERS + AR_WRAPAROUND_PAGES] = { NULL };
	dma_addr_t dma_addrs[AR_BUFFERS];
	void *vaddr;
	struct descriptor *d;