On Mon, Nov 27, 2023 at 06:07:42PM +0530, Mukesh Kumar Chaurasiya wrote: > The information about "vscsi-report-luns" data is a list of disk details > with pairs of memory addresses and lengths.
Not lengths but counts of entries. > 8 bytes 8 bytes > lun-addr ---> ------------------------ 8 bytes > ^ | buf-addr | buf-len | --------> ------------- > | ------------------------ | lun | > | | buf-addr | buf-len | ----| ------------- > "len" ------------------------ | | ... | > | | ... | | ------------- > | ------------------------ | | lun | > | | buf-addr | buf-len | | ------------- > V ------------------------ | > |---> ------------- > | lun | > ------------- > | ... | > ------------- > | lun | > ------------- > The way the expression "(args.table + 4 + 8 * i)" is used is incorrect and I would drop quotation marks from here. > can be confusing. The list of LUNs doesn't end with NULL, indicated by > "while (*ptr)". Usually, this loop doesn't process any LUNs because it ends > before checking any as first reported LUN is likely to be "0". The list of ... ditto... > LUNs ends based on its length, not by a NULL value. > > Signed-off-by: Mukesh Kumar Chaurasiya <mchau...@linux.ibm.com> > --- > grub-core/disk/ieee1275/ofdisk.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/grub-core/disk/ieee1275/ofdisk.c > b/grub-core/disk/ieee1275/ofdisk.c > index c6cba0c8a..9cd8898f1 100644 > --- a/grub-core/disk/ieee1275/ofdisk.c > +++ b/grub-core/disk/ieee1275/ofdisk.c > @@ -222,8 +222,12 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) > grub_ieee1275_cell_t table; > } > args; > + struct lun_buf { > + grub_uint64_t *buf_addr; This will not work on 32-bit architectures. > + grub_uint64_t buf_len; Again, this is not length. It is number of entries. > + } *tbl; Why do you define this struct here? Do not you have its proper definition in currently existing code? Even if not I would define it properly outside of this function because somebody may need it later. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel