Re: [PATCH v11 24/26] virt: gunyah: Add irqfd interface
From: Alex Elder
Date: Tue Apr 18 2023 - 08:55:39 EST
On 4/17/23 5:55 PM, Elliot Berman wrote:
+struct gh_fn_irqfd_arg {
+ __u32 fd;
Should the "fd" field be signed? Should it be an int? (Perhaps
you're trying to define a fixed kernel API, so __s32 if signed would
be better.)
It looked to me like some interfaces use __u32 and some use __s32. Is
one technically correct?
Good question. It depends on how you use it.
It's a file descriptor, so it should be an int, and it appears
that's always a 32-bit signed (for 32 and 64 bit machines).
So the size seems to be right.
Whether it's signed or not I think depends on whether you
ever save an error value in this field. I doubt you do,
but if you do, it should be signed. Otherwise, the largest
value will never exceed INT_MAX/S32_MAX; and in that case
either is fine.
Will Gunyah ever run on a 32-bit machine?
-Alex