Browse Source

io: add support for activating TLS thread safety workaround

Add a QIO_CHANNEL_FEATURE_CONCURRENT_IO feature flag.

If this is set on a QIOChannelTLS session object, the TLS
session will be marked as requiring thread safety, which
will activate the workaround for GNUTLS bug 1717 if needed.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/qemu-devel/20250718150514.2635338-3-berrange@redhat.com
Signed-off-by: Fabiano Rosas <farosas@suse.de>
pull/304/head
Daniel P. Berrangé 9 months ago
committed by Fabiano Rosas
parent
commit
edea818371
  1. 1
      include/io/channel.h
  2. 5
      io/channel-tls.c

1
include/io/channel.h

@ -46,6 +46,7 @@ enum QIOChannelFeature {
QIO_CHANNEL_FEATURE_WRITE_ZERO_COPY,
QIO_CHANNEL_FEATURE_READ_MSG_PEEK,
QIO_CHANNEL_FEATURE_SEEKABLE,
QIO_CHANNEL_FEATURE_CONCURRENT_IO,
};

5
io/channel-tls.c

@ -241,6 +241,11 @@ void qio_channel_tls_handshake(QIOChannelTLS *ioc,
{
QIOTask *task;
if (qio_channel_has_feature(QIO_CHANNEL(ioc),
QIO_CHANNEL_FEATURE_CONCURRENT_IO)) {
qcrypto_tls_session_require_thread_safety(ioc->session);
}
task = qio_task_new(OBJECT(ioc),
func, opaque, destroy);

Loading…
Cancel
Save