On 10/9/24 11:53, Jan Beulich wrote:
On 06.10.2024 23:49, Daniel P. Smith wrote:
--- a/xen/arch/x86/include/asm/bootinfo.h
+++ b/xen/arch/x86/include/asm/bootinfo.h
@@ -54,8 +54,24 @@ struct boot_info {
      struct boot_module mods[MAX_NR_BOOTMODS + 1];
  };
-#endif /* __XEN_X86_BOOTINFO_H__ */
+static inline int __init next_boot_module_index(
+    const struct boot_info *bi, enum bootmod_type t, int offset)

Instead of "offset" maybe better "start" or "from"? Further, plain int
(as also used ...

Will change to start.

+{
+    int i;

... here) isn't really liked for ...

+    for ( i = offset; i < bi->nr_modules; i++ )
+    {
+        if ( bi->mods[i].type == t )

... array indexing. Perhaps the function itself would better have
unsigned int return type as well, ...

+            return i;
+    }
+
+    return -1;

... using UINT_MAX or some other suitable constant here instead?

I was initially going to disagree as returning a value less than zero is much more natural/reasonable than UINIT_MAX. But then thinking about it, another natural value to reflect an error/not found is a value larger than MAX_NR_BOOTMODS.

Will switch to unsigned and add code comment that larger than MAX_NR_BOOTMODS is error/not found condition.

v/r,
dps

Reply via email to