[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y1/ODk5btv1EPTEg@lunn.ch>
Date: Mon, 31 Oct 2022 14:30:54 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Gaosheng Cui <cuigaosheng1@...wei.com>
Cc: hkallweit1@...il.com, linux@...linux.org.uk, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
afleming@...escale.com, buytenh@...tstofly.org,
netdev@...r.kernel.org
Subject: Re: [PATCH v2] net: mdio: fix undefined behavior in bit shift for
__mdiobus_register
On Mon, Oct 31, 2022 at 09:26:45PM +0800, Gaosheng Cui wrote:
> Shifting signed 32-bit value by 31 bits is undefined, so changing
> significant bit to unsigned. The UBSAN warning calltrace like below:
>
> UBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27
> left shift of 1 by 31 places cannot be represented in type 'int'
> Call Trace:
> <TASK>
> dump_stack_lvl+0x7d/0xa5
> dump_stack+0x15/0x1b
> ubsan_epilogue+0xe/0x4e
> __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c
> __mdiobus_register+0x49d/0x4e0
> fixed_mdio_bus_init+0xd8/0x12d
> do_one_initcall+0x76/0x430
> kernel_init_freeable+0x3b3/0x422
> kernel_init+0x24/0x1e0
> ret_from_fork+0x1f/0x30
> </TASK>
>
> Fixes: 4fd5f812c23c ("phylib: allow incremental scanning of an mii bus")
> Signed-off-by: Gaosheng Cui <cuigaosheng1@...wei.com>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists