lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 4 Apr 2022 17:55:32 +0300
From:   Oded Gabbay <ogabbay@...nel.org>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     Guenter Roeck <linux@...ck-us.net>, Arnd Bergmann <arnd@...db.de>,
        "Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>,
        Ohad Sharabi <osharabi@...ana.ai>
Subject: Re: [PATCH v2] habanalabs: Fix test build failures

On Mon, Apr 4, 2022 at 5:54 PM Greg Kroah-Hartman
<gregkh@...uxfoundation.org> wrote:
>
> On Mon, Apr 04, 2022 at 04:46:04PM +0200, Greg Kroah-Hartman wrote:
> > On Mon, Apr 04, 2022 at 05:38:29PM +0300, Oded Gabbay wrote:
> > > On Mon, Apr 4, 2022 at 4:49 PM Guenter Roeck <linux@...ck-us.net> wrote:
> > > >
> > > > allmodconfig builds on 32-bit architectures fail with the following error.
> > > >
> > > > drivers/misc/habanalabs/common/memory.c: In function 'alloc_device_memory':
> > > > drivers/misc/habanalabs/common/memory.c:153:49: error:
> > > >         cast from pointer to integer of different size
> > > >
> > > > Fix the typecast. While at it, drop other unnecessary typecasts associated
> > > > with the same commit.
> > > >
> > > > Fixes: e8458e20e0a3c ("habanalabs: make sure device mem alloc is page aligned")
> > > > Cc: Ohad Sharabi <osharabi@...ana.ai>
> > > > Signed-off-by: Guenter Roeck <linux@...ck-us.net>
> > > > ---
> > > > v2: Drop unnecessary (u64) typecasts
> > > >
> > > >  drivers/misc/habanalabs/common/memory.c | 16 ++++++++--------
> > > >  1 file changed, 8 insertions(+), 8 deletions(-)
> > > >
> > > > diff --git a/drivers/misc/habanalabs/common/memory.c b/drivers/misc/habanalabs/common/memory.c
> > > > index e008d82e4ba3..a13506dd8119 100644
> > > > --- a/drivers/misc/habanalabs/common/memory.c
> > > > +++ b/drivers/misc/habanalabs/common/memory.c
> > > > @@ -111,10 +111,10 @@ static int alloc_device_memory(struct hl_ctx *ctx, struct hl_mem_in *args,
> > > >
> > > >         if (contiguous) {
> > > >                 if (is_power_of_2(page_size))
> > > > -                       paddr = (u64) (uintptr_t) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> > > > -                                                               total_size, NULL, page_size);
> > > > +                       paddr = (uintptr_t) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> > > > +                                                                    total_size, NULL, page_size);
> > > >                 else
> > > > -                       paddr = (u64) (uintptr_t) gen_pool_alloc(vm->dram_pg_pool, total_size);
> > > > +                       paddr = gen_pool_alloc(vm->dram_pg_pool, total_size);
> > > >                 if (!paddr) {
> > > >                         dev_err(hdev->dev,
> > > >                                 "failed to allocate %llu contiguous pages with total size of %llu\n",
> > > > @@ -150,12 +150,12 @@ static int alloc_device_memory(struct hl_ctx *ctx, struct hl_mem_in *args,
> > > >                 for (i = 0 ; i < num_pgs ; i++) {
> > > >                         if (is_power_of_2(page_size))
> > > >                                 phys_pg_pack->pages[i] =
> > > > -                                               (u64) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> > > > -                                                                               page_size, NULL,
> > > > -                                                                               page_size);
> > > > +                                       (uintptr_t)gen_pool_dma_alloc_align(vm->dram_pg_pool,
> > > > +                                                                           page_size, NULL,
> > > > +                                                                           page_size);
> > > >                         else
> > > > -                               phys_pg_pack->pages[i] = (u64) gen_pool_alloc(vm->dram_pg_pool,
> > > > -                                                                               page_size);
> > > > +                               phys_pg_pack->pages[i] = gen_pool_alloc(vm->dram_pg_pool,
> > > > +                                                                       page_size);
> > > >                         if (!phys_pg_pack->pages[i]) {
> > > >                                 dev_err(hdev->dev,
> > > >                                         "Failed to allocate device memory (out of memory)\n");
> > > > --
> > > > 2.35.1
> > > >
> > >
> > > Hi Guenter,
> > > Thanks for the patch, but Greg already merged a patch that was sent to him.
> >
> > I did?  Where?
>
> This fix looks more "correct" than Palmer's, so I'll go queue this one
> up now.
>
> thanks,
>
> greg k-h

Great
Thanks,
Oded

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ