Mellanox / libvma

Linux user space library for network socket acceleration based on RDMA compatible network adaptors
https://www.mellanox.com/products/software/accelerator-software/vma?mtag=vma
Other
573 stars 153 forks source link

issue: 3092555 Fixing blocking socket connect timer race #992

Closed AlexanderGrissik closed 2 years ago

AlexanderGrissik commented 2 years ago

Signed-off-by: Alexander Grissik agrissik@nvidia.com

Description

When a blocking connect() returns with an error, it may already start a timer. So in case the internal threads tries to rto the SYN a segmentation fault occurs.

What

Timer should not be started for failed blocking connect() Reproductive gtests added.

Why ?

Fixing segmentation fault.

How ?

Start timer only for non-blocking socket connect() or successful connect() of a blocking socket.

Change type

What kind of change does this PR introduce?

Check list

AlexanderGrissik commented 2 years ago

bot:retest

AlexanderGrissik commented 2 years ago

bot:retest

AlexanderGrissik commented 2 years ago

bot:retest

pasis commented 2 years ago

bot:retest