Broken non-blocking poll() on character devices.
search cancel

Broken non-blocking poll() on character devices.

book

Article ID: 313262

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

Using the poll(2) syscall with a timeout equal to 0 on a character device, gives no result even if data is available.

Example: This breaks the `nvidia-smi vgpu --loop <n>` command.


Environment

VMware vSphere ESXi 8.0.2

Cause

It is a regression caused by a fix that prevents a memory leak in poll() that could previously lead to a purple screen of death.

Resolution

Currently there is no resolution. This will be fixed in the future release.


Workaround:

To workaround the issue, please avoid using poll(2) on character devices with the timeout parameter equal to 0. The other values should work fine.