# Re: \[PATCH v2\] hvc/xen: prevent concurrent accesses to the shared ring

- From: Juergen Gross \<jgross@suse.com\>
- Date: 2023-03-17 13:23:26 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2023/03/2137962
- Thread: https://ratatoskr.run/xen-devel/2022/11/2025620/t.md

```text
On 30.11.22 16:09, Roger Pau Monne wrote:
> The hvc machinery registers both a console and a tty device based on
> the hv ops provided by the specific implementation.  Those two
> interfaces however have different locks, and there's no single locks
> that's shared between the tty and the console implementations, hence
> the driver needs to protect itself against concurrent accesses.
> Otherwise concurrent calls using the split interfaces are likely to
> corrupt the ring indexes, leaving the console unusable.
>
> Introduce a lock to xencons_info to serialize accesses to the shared
> ring.  This is only required when using the shared memory console,
> concurrent accesses to the hypercall based console implementation are
> not an issue.
>
> Note the conditional logic in domU_read_console() is slightly modified
> so the notify_daemon() call can be done outside of the locked region:
> it's an hypercall and there's no need for it to be done with the lock
> held.
>
> Fixes: b536b4b96230 ('xen: use the hvc console infrastructure for Xen console')
> Signed-off-by: Roger Pau Monné <redacted>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

```

## Attachments

- [OpenPGP\_signature](https://ratatoskr.run/linuxppc-dev/2023/03/2137962/attachment/0) (application/pgp-signature, 495 bytes)
