[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iLZ2NoNCVTEa0pn510S1rW=eJu2z+ihSV6PzE2awWG7Pg@mail.gmail.com>
Date: Thu, 21 Mar 2024 18:47:47 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: Ido Schimmel <idosch@...dia.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, kuba@...nel.org,
pabeni@...hat.com, dsahern@...nel.org, gal@...dia.com
Subject: Re: [PATCH net] ipv6: Fix address dump when IPv6 is disabled on an interface
On Thu, Mar 21, 2024 at 6:31 PM Ido Schimmel <idosch@...dia.com> wrote:
>
> Cited commit started returning an error when user space requests to dump
> the interface's IPv6 addresses and IPv6 is disabled on the interface.
> Restore the previous behavior and do not return an error.
>
> Before cited commit:
>
> # ip address show dev dummy1
> 2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
> link/ether 1a:52:02:5a:c2:6e brd ff:ff:ff:ff:ff:ff
> inet6 fe80::1852:2ff:fe5a:c26e/64 scope link proto kernel_ll
> valid_lft forever preferred_lft forever
> # ip link set dev dummy1 mtu 1000
> # ip address show dev dummy1
> 2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1000 qdisc noqueue state UNKNOWN group default qlen 1000
> link/ether 1a:52:02:5a:c2:6e brd ff:ff:ff:ff:ff:ff
>
> After cited commit:
>
> # ip address show dev dummy1
> 2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
> link/ether 1e:9b:94:00:ac:e8 brd ff:ff:ff:ff:ff:ff
> inet6 fe80::1c9b:94ff:fe00:ace8/64 scope link proto kernel_ll
> valid_lft forever preferred_lft forever
> # ip link set dev dummy1 mtu 1000
> # ip address show dev dummy1
> RTNETLINK answers: No such device
> Dump terminated
>
> With this patch:
>
> # ip address show dev dummy1
> 2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
> link/ether 42:35:fc:53:66:cf brd ff:ff:ff:ff:ff:ff
> inet6 fe80::4035:fcff:fe53:66cf/64 scope link proto kernel_ll
> valid_lft forever preferred_lft forever
> # ip link set dev dummy1 mtu 1000
> # ip address show dev dummy1
> 2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1000 qdisc noqueue state UNKNOWN group default qlen 1000
> link/ether 42:35:fc:53:66:cf brd ff:ff:ff:ff:ff:ff
>
> Fixes: 9cc4cc329d30 ("ipv6: use xa_array iterator to implement inet6_dump_addr()")
> Reported-by: Gal Pressman <gal@...dia.com>
> Closes: https://lore.kernel.org/netdev/7e261328-42eb-411d-b1b4-ad884eeaae4d@linux.dev/
> Tested-by: Gal Pressman <gal@...dia.com>
> Signed-off-by: Ido Schimmel <idosch@...dia.com>
> ---
> A similar change was done for IPv4 in commit cdb2f80f1c10 ("inet: use
> xa_array iterator to implement inet_dump_ifaddr()"), but I'm not aware
> of a way to disable IPv4 other than unregistering the interface, so I
> don't see a reason to change the IPv4 code.
> ---
Thanks for the fix.
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists