On Thu, 23 Jun 2022 16:32:32 +0300, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > The "1<<31" shift has a sign extension bug so IFF_TX_SKB_NO_LINEAR is > 0xffffffff80000000 instead of 0x0000000080000000. > > Fixes: c2ff53d8049f ("net: Add priv_flags for allow tx skb without linear") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> Thanks. > --- > Before IFF_CHANGE_PROTO_DOWN was added then this issue was not so bad. > > include/linux/netdevice.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h > index 89afa4f7747d..1a3cb93c3dcc 100644 > --- a/include/linux/netdevice.h > +++ b/include/linux/netdevice.h > @@ -1671,7 +1671,7 @@ enum netdev_priv_flags { > IFF_FAILOVER_SLAVE = 1<<28, > IFF_L3MDEV_RX_HANDLER = 1<<29, > IFF_LIVE_RENAME_OK = 1<<30, > - IFF_TX_SKB_NO_LINEAR = 1<<31, > + IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), > IFF_CHANGE_PROTO_DOWN = BIT_ULL(32), > }; > > -- > 2.35.1 >