[PATCH 15/16] nvmet-tcp: enable TLS handshake upcall

Sagi Grimberg sagi at grimberg.me
Thu Aug 10 01:04:26 PDT 2023


>> On 8/8/23 19:53, Hannes Reinecke wrote:
>>> Add functions to start the TLS handshake upcall when
>>> the TCP TSAS sectype is set to 'tls1.3' and add a config
>>> option NVME_TARGET_TCP_TLS.
>>> And move the 'state' lock to an irq-safe lock as the 'done'
>>> callback from the TLS handshake will be running in interrupt
>>> context.
>>
>> Really.. that is surprising. Can you describe how exactly?
>>
> Ho-hum. Yes, I can, and it seems to be related to my test setup.
> I'm running nvme and nvmet over the loopback interface, and with that
> nvme_tcp_stop_queue() induces a softirq triggering a socket state change
> on the target.
> Which means that nvmet_tcp_schedule_release_queue() is called from 
> softirq, triggering the spin_lock warning.
> Probably warrants a separate patch, though.

If this is driven from the network stack, it should be spin_lock_bh.

And yes, this is a separate patch, and probably with a fixes tag,
and preferably separate from the patch set because this is an
unrelated fix.



More information about the Linux-nvme mailing list