xen/events: prevent calling evtchn_get on invalid channels

The event channel number provided to evtchn_get can be provided by
userspace, so needs to be checked against the maximum number of event
channels prior to using it to index into evtchn_to_irq.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Daniel De Graaf 2011-11-28 11:49:09 -05:00 коммит произвёл Konrad Rzeszutek Wilk
Родитель 9438ce9dbb
Коммит c3b3f16d1b
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -1104,6 +1104,9 @@ int evtchn_get(unsigned int evtchn)
struct irq_info *info;
int err = -ENOENT;
if (evtchn >= NR_EVENT_CHANNELS)
return -EINVAL;
mutex_lock(&irq_mapping_update_lock);
irq = evtchn_to_irq[evtchn];