[haiku-commits] Re: haiku: hrev53490 - src/system/kernel/fs

  • From: Rene Gollent <anevilyak@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 19 Sep 2019 09:45:37 -0400

On Thu, Sep 19, 2019 at 5:37 AM Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> wrote:

It would be nice to know how so. Maybe changing vecs[i].iov_len > 0 is
enough to make this check work? Otherwise, it sounds like cmake is
indeed broken, and needs to be stopped :-)

That does indeed seem like it'd be necessary to comply with POSIX:

"If fildes refers to a regular file and all of the iov_len members in
the array pointed to by iov are 0, writev() shall return 0 and have no
other effect."

Which the existing code does not appear to explicitly take into
account. At the very least the IS_USER_ADDRESS check would need to be
moved later in the function where it's been determined that actual
work needs to be done for the iovec in question.

Regards,

Rene

Other related posts: