Page MenuHomeFreeBSD

linuxulator: Accept 0 as signal in rt_sigqueueinfo
Needs ReviewPublic

Authored by rmoeller on Sat, Oct 10, 3:07 AM.
Tags
None
Referenced Files
F175424543: D60574.id189331.diff
Sat, Oct 10, 6:33 PM
F175395752: D60574.diff
Sat, Oct 10, 1:33 PM
F175376987: D60574.id.diff
Sat, Oct 10, 9:59 AM
F175359545: D60574.id189331.diff
Sat, Oct 10, 6:53 AM
F175357212: D60574.diff
Sat, Oct 10, 6:28 AM
F175354575: D60574.id.diff
Sat, Oct 10, 5:59 AM
F175354461: D60574.id189331.diff
Sat, Oct 10, 5:58 AM
F175354406: D60574.diff
Sat, Oct 10, 5:57 AM
Subscribers

Details

Reviewers
kevans
Summary

Linux allows 0 as a signal for rt_sigqueueinfo(2) the same as it does
for kill(2). This is used to check for process existence and
permissions.

Allow this value through as a special case in linux_rt_siqgueueinfo the
same way as was done for linux_kill.

Before this change, lio_listio(3) would fail with EINVAL under
Linuxulator. Now it is functional.

MFC after: 1 week

Diff Detail

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

Event Timeline

With this change I can run zdb (and other libzpool-based tooling) compiled for Linux under Linuxulator.

sys/compat/linux/linux_signal.c
544–558

Note the same pattern here.

566–583

And here.