- pnpacpi-ignore-_prs-interrupt-numbers-larger-than-pnp_irq_nr.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     pnpacpi: ignore _PRS interrupt numbers larger than PNP_IRQ_NR
has been removed from the -mm tree.  Its filename was
     pnpacpi-ignore-_prs-interrupt-numbers-larger-than-pnp_irq_nr.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: pnpacpi: ignore _PRS interrupt numbers larger than PNP_IRQ_NR
From: Bjorn Helgaas <bjorn.helgaas@xxxxxx>

ACPI Extended Interrupt Descriptors can encode 32-bit interrupt numbers,
so an interrupt number may exceed the size of the bitmap we use to track
possible IRQ settings.

To avoid corrupting memory, complain and ignore too-large interrupt
numbers.

There's similar code in pnpacpi_parse_irq_option(), but I didn't change
that because the small IRQ descriptor can only encode IRQs 0-15, which do
not exceed bitmap size.

In the future, we could handle IRQ numbers greater than PNP_IRQ_NR by
replacing the bitmap with a table or list.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
Acked-by: Rene Herman <rene.herman@xxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Adam M Belay <abelay@xxxxxxx>
Cc: Li Shaohua <shaohua.li@xxxxxxxxx>
Cc: Matthieu Castet <castet.matthieu@xxxxxxx>
Cc: Thomas Renninger <trenn@xxxxxxx>
Cc: Jaroslav Kysela <perex@xxxxxxxx>
Cc: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/pnp/pnpacpi/rsparser.c |   13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff -puN drivers/pnp/pnpacpi/rsparser.c~pnpacpi-ignore-_prs-interrupt-numbers-larger-than-pnp_irq_nr drivers/pnp/pnpacpi/rsparser.c
--- a/drivers/pnp/pnpacpi/rsparser.c~pnpacpi-ignore-_prs-interrupt-numbers-larger-than-pnp_irq_nr
+++ a/drivers/pnp/pnpacpi/rsparser.c
@@ -421,9 +421,16 @@ static __init void pnpacpi_parse_ext_irq
 		return;
 
 	bitmap_zero(map.bits, PNP_IRQ_NR);
-	for (i = 0; i < p->interrupt_count; i++)
-		if (p->interrupts[i])
-			__set_bit(p->interrupts[i], map.bits);
+	for (i = 0; i < p->interrupt_count; i++) {
+		if (p->interrupts[i]) {
+			if (p->interrupts[i] < PNP_IRQ_NR)
+				__set_bit(p->interrupts[i], map.bits);
+			else
+				dev_err(&dev->dev, "ignoring IRQ %d option "
+					"(too large for %d entry bitmap)\n",
+					p->interrupts[i], PNP_IRQ_NR);
+		}
+	}
 
 	flags = irq_flags(p->triggering, p->polarity, p->sharable);
 	pnp_register_irq_resource(dev, option, &map, flags);
_

Patches currently in -mm which might be from bjorn.helgaas@xxxxxx are

linux-next.patch
mm-only-enforce-acpi-resource-conflict-checks.patch
pnp-set-the-pnp_card-dma_mask-for-use-by-isapnp-cards.patch
isa-set-24-bit-dma_mask-for-isa-devices.patch
make-pnp_add_card_id-static.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux