HomeFreeBSD

netmap: fix copyin/copyout of nmreq options list

Description

netmap: fix copyin/copyout of nmreq options list

The previous code unsuccesfully attempted to report a precise error for
each option in the user list. Moreover, commit 253b2ec199b broke some
ctrl-api-test (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260547).

With this patch we bail out as soon as an unrecoverable error is detected and
we properly check for copy boundaries. EOPNOTSUPP no longer immediately
returns an error, so that any other option in the list may be examined
by the caller code and a precise report of the (un)supported options can
be returned to the user.

With this patch, all ctrl-api-test unit tests pass again.

PR: 260547
Submitted by: giuseppe.lettieri@unipi.it
Reviewed by: vmaffione
MFC after: 14 days

(cherry picked from commit e2a431a0ffb6894220bdf5d8fc2ca2d0ca316e85)

Details

Provenance
vmaffioneAuthored on Mar 21 2023, 11:23 PM
Parents
rGcfae554b7866: fdescfs: Fix a file ref leak
Branches
Unknown
Tags
Unknown