Page MenuHomeFreeBSD

hv_kvp: Fix some bugs and nits
Needs ReviewPublic

Authored by markj on Mon, Oct 5, 10:06 PM.

Details

Reviewers
None
Group Reviewers
secteam
Summary
  • Use pending_mutex to synchronize several state flags. In particular, ensure that two threads can't race to open the device file at the same time.[1]
  • Fix an off-by-one in hv_kvp_dev_daemon_read() that would result in a one-byte OOB read if the caller supplied a large enough read buffer.[2]
  • Change the device permissions to 0600: hv_kvp_dev_daemon_read() returns an error until the owning process registers itself with a write, so there's no sense in providing read-only access.
  • Use bool instead of boolean_t.
  • Don't return negative error numbers to userspace.
  • Call seldrain() when closing the device.

Reported by: pixelpop [1][2]

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77743
Build 74626: arc lint + arc unit