grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH V2] ieee1275/ofdisk: vscsi lun handling on lun len


From: Daniel Kiper
Subject: Re: [PATCH V2] ieee1275/ofdisk: vscsi lun handling on lun len
Date: Tue, 23 Jan 2024 19:02:03 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Wed, Jan 17, 2024 at 12:39:06PM +0530, Mukesh Kumar Chaurasiya wrote:
> On 11/30/23 00:45, Daniel Kiper wrote:
> > On Mon, Nov 27, 2023 at 06:07:42PM +0530, Mukesh Kumar Chaurasiya wrote:
> > > Signed-off-by: Mukesh Kumar Chaurasiya <mchauras@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.
>
> Umm...
>
>  well i checked this and the definition for 32bit and 64bit are same. So the

I am not entirely sure what you mean by "the same" here.

> structure part should be fine.
>
> + ptr =(grub_uint64_t*)(grub_addr_t) tbl[i].buf_addr;
> and this should handle the 32bit arch in terms of address.
> for rest i'll send out a new version of patch

The problem is with the *buf_addr pointer. Its size on 32-bit platform
is 32-bit. So, on 32-bit platform you will have struct with 32-bit member and
64-bit member following it. This is not what you expect. The buf_addr/buf_size
table has each entry with two 64-bit members. Am I missing something?

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]