• Juergen Gross's avatar
    xen/events: avoid NULL pointer dereference in dom0 on large machines · 72c7a855
    Juergen Gross authored
    [ Upstream commit 85e40b05 ]
    
    Using the pvops kernel a NULL pointer dereference was detected on a
    large machine (144 processors) when booting as dom0 in
    evtchn_fifo_unmask() during assignment of a pirq.
    
    The event channel in question was the first to need a new entry in
    event_array[] in events_fifo.c. Unfortunately xen_irq_info_pirq_setup()
    is called with evtchn being 0 for a new pirq and the real event channel
    number is assigned to the pirq only during __startup_pirq().
    
    It is mandatory to call xen_evtchn_port_setup() after assigning the
    event channel number to the pirq to make sure all memory needed for the
    event channel is allocated.
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    Cc: <stable@vger.kernel.org> # 3.14+
    Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
    Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
    72c7a855
events_base.c 37.3 KB