xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Subject: [PATCH 4/4] xen/events: Add WARN_ON when quick lookup found invalid type.
Date: Wed, 23 May 2012 13:47:02 -0400	[thread overview]
Message-ID: <1337795222-29946-5-git-send-email-konrad.wilk@oracle.com> (raw)
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>

All of the bind_XYZ_to_irq do a quick lookup to see if the
event exists. And if they that value is returned instead of
initialized. This patch adds an extra logic to check that the
type returned is the proper one and we can use it to find
drivers that are doing something naught.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/events.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index faae2f9..093851b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
 					      handle_edge_irq, "event");
 
 		xen_irq_info_evtchn_init(irq, evtchn);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_EVTCHN);
 	}
 
 out:
@@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_IPI);
 	}
-
  out:
 	mutex_unlock(&irq_mapping_update_lock);
 	return irq;
@@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
 		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_VIRQ);
 	}
-
 out:
 	mutex_unlock(&irq_mapping_update_lock);
 
-- 
1.7.7.5

  parent reply	other threads:[~2012-05-23 17:47 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-23 17:46 [PATCH] bug-fixes to hvc-xen driver in v3.4 (and earlier) Konrad Rzeszutek Wilk
2012-05-23 17:46 ` [PATCH 1/4] xen/hvc: Collapse error logic Konrad Rzeszutek Wilk
2012-05-24 10:33   ` Stefano Stabellini
2012-05-23 17:47 ` [PATCH 2/4] xen/hvc: Fix error cases around HVM_PARAM_CONSOLE_PFN Konrad Rzeszutek Wilk
2012-05-24 10:47   ` [Xen-devel] " Stefano Stabellini
2012-05-24 17:31     ` Konrad Rzeszutek Wilk
2012-05-24 18:18       ` Konrad Rzeszutek Wilk
2012-05-23 17:47 ` [PATCH 3/4] xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness Konrad Rzeszutek Wilk
2012-05-24 10:51   ` Stefano Stabellini
2012-05-24 18:24     ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-05-25  9:13       ` Stefano Stabellini
2012-05-23 17:47 ` Konrad Rzeszutek Wilk [this message]
2012-05-24 10:58   ` [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick lookup found invalid type Stefano Stabellini
2012-05-24 17:29     ` Konrad Rzeszutek Wilk
2012-05-24 18:28     ` Konrad Rzeszutek Wilk
2012-05-25  9:18       ` Stefano Stabellini
2012-05-25  9:19         ` Stefano Stabellini
2012-05-25 13:42           ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1337795222-29946-5-git-send-email-konrad.wilk@oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).