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

  • From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 19 Sep 2019 11:24:15 +0000

19 septembre 2019 11:37 "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx> a écrit:

Am 15/09/2019 um 18:11 schrieb Adrien Destugues:

eff7baa89a2b: Revert "kernel/fs: Add missing IS_USER_ADDRESS check in 
user_vector_io."
This reverts commit 2b5ebfcfd578f177968c5b923e5ccd6eb0195674.
Breaks cmake.

[...]

ssize_t bytesTransferred = 0;
for (uint32 i = 0; i < count; i++) {
- if (!IS_USER_ADDRESS(vecs[i].iov_base)) {
- status = B_BAD_ADDRESS;
- if (bytesTransferred == 0)
- return status;
- break;
- }

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 :-)

Yes, this commit needs to be brought back once the issue is understood. I 
didn't have time to investigate,
however, and needed cmake working for other things, so I took this short term 
solution for now.

It's likely that cmake is indeed passing an iov with NULL and 0 as a way to 
check if a file is writable
without writing anything?

Unfortunately, strace was not so helpful because it does not show the contents 
of the iovec structure.

-- 
Adrien.


Other related posts: