Re: [PATCH v2 1/3] hvc/xen: fix event channel handling for secondary consoles
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2023-10-21 16:33:02
Also in:
linux-serial, lkml, xen-devel
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2023-10-21 16:33:02
Also in:
linux-serial, lkml, xen-devel
On Fri, Oct 20, 2023 at 05:15:27PM +0100, David Woodhouse wrote:
From: David Woodhouse <redacted>
The xencons_connect_backend() function allocates a local interdomain
event channel with xenbus_alloc_evtchn(), then calls
bind_interdomain_evtchn_to_irq_lateeoi() to bind to that port# on the
*remote* domain.
That doesn't work very well:
(qemu) device_add xen-console,id=con1,chardev=pty0
[ 44.323872] xenconsole console-1: 2 xenbus_dev_probe on device/console/1
[ 44.323995] xenconsole: probe of console-1 failed with error -2
Fix it to use bind_evtchn_to_irq_lateeoi(), which does the right thing
by just binding that *local* event channel to an irq. The backend will
do the interdomain binding.
This didn't affect the primary console because the setup for that is
special — the toolstack allocates the guest event channel and the guest
discovers it with HVMOP_get_param.
Fixes: fe415186b4 ("xen/console: harden hvc_xen against event channel storms")Nit, our tools complain that the sha1 isn't big enough, "fe415186b43d" I'll go fix it up...