* [PATCH for-rc] RDMA/rxe: Fix failure during driver load
@ 2021-06-01 5:56 Kamal Heib
2021-06-01 7:45 ` Zhu Yanjun
0 siblings, 1 reply; 11+ messages in thread
From: Kamal Heib @ 2021-06-01 5:56 UTC (permalink / raw)
To: linux-rdma; +Cc: Doug Ledford, Jason Gunthorpe, Kamal Heib
To avoid the following failure when trying to load the rdma_rxe module
while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
before trying to create the IPv6 UDP tunnel.
$ modprobe rdma_rxe
modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
index 01662727dca0..f353fc18769f 100644
--- a/drivers/infiniband/sw/rxe/rxe_net.c
+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
{
#if IS_ENABLED(CONFIG_IPV6)
- recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
- htons(ROCE_V2_UDP_DPORT), true);
- if (IS_ERR(recv_sockets.sk6)) {
- recv_sockets.sk6 = NULL;
- pr_err("Failed to create IPv6 UDP tunnel\n");
- return -1;
+ if (ipv6_mod_enabled()) {
+ recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
+ htons(ROCE_V2_UDP_DPORT), true);
+ if (IS_ERR(recv_sockets.sk6)) {
+ recv_sockets.sk6 = NULL;
+ pr_err("Failed to create IPv6 UDP tunnel\n");
+ return -1;
+ }
}
#endif
return 0;
--
2.26.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 5:56 [PATCH for-rc] RDMA/rxe: Fix failure during driver load Kamal Heib
@ 2021-06-01 7:45 ` Zhu Yanjun
2021-06-01 7:56 ` kamal heib
0 siblings, 1 reply; 11+ messages in thread
From: Zhu Yanjun @ 2021-06-01 7:45 UTC (permalink / raw)
To: Kamal Heib; +Cc: RDMA mailing list, Doug Ledford, Jason Gunthorpe
On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
>
> To avoid the following failure when trying to load the rdma_rxe module
> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> before trying to create the IPv6 UDP tunnel.
>
> $ modprobe rdma_rxe
> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
About this problem, this link:
https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
also tries to solve ipv6 problem.
Zhu Yanjun
>
> Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> ---
> drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> index 01662727dca0..f353fc18769f 100644
> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
> {
> #if IS_ENABLED(CONFIG_IPV6)
>
> - recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> - htons(ROCE_V2_UDP_DPORT), true);
> - if (IS_ERR(recv_sockets.sk6)) {
> - recv_sockets.sk6 = NULL;
> - pr_err("Failed to create IPv6 UDP tunnel\n");
> - return -1;
> + if (ipv6_mod_enabled()) {
> + recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> + htons(ROCE_V2_UDP_DPORT), true);
> + if (IS_ERR(recv_sockets.sk6)) {
> + recv_sockets.sk6 = NULL;
> + pr_err("Failed to create IPv6 UDP tunnel\n");
> + return -1;
> + }
> }
> #endif
> return 0;
> --
> 2.26.3
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 7:45 ` Zhu Yanjun
@ 2021-06-01 7:56 ` kamal heib
2021-06-01 8:11 ` Zhu Yanjun
0 siblings, 1 reply; 11+ messages in thread
From: kamal heib @ 2021-06-01 7:56 UTC (permalink / raw)
To: Zhu Yanjun; +Cc: RDMA mailing list, Doug Ledford, Jason Gunthorpe
> On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
>
> On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
>>
>> To avoid the following failure when trying to load the rdma_rxe module
>> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
>> before trying to create the IPv6 UDP tunnel.
>>
>> $ modprobe rdma_rxe
>> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
>
> About this problem, this link:
> https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> also tries to solve ipv6 problem.
>
> Zhu Yanjun
>
Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
Could you please review and ACK this patch?
Thanks,
Kamal
>>
>> Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
>> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
>> ---
>> drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
>> 1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
>> index 01662727dca0..f353fc18769f 100644
>> --- a/drivers/infiniband/sw/rxe/rxe_net.c
>> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
>> @@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
>> {
>> #if IS_ENABLED(CONFIG_IPV6)
>>
>> - recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
>> - htons(ROCE_V2_UDP_DPORT), true);
>> - if (IS_ERR(recv_sockets.sk6)) {
>> - recv_sockets.sk6 = NULL;
>> - pr_err("Failed to create IPv6 UDP tunnel\n");
>> - return -1;
>> + if (ipv6_mod_enabled()) {
>> + recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
>> + htons(ROCE_V2_UDP_DPORT), true);
>> + if (IS_ERR(recv_sockets.sk6)) {
>> + recv_sockets.sk6 = NULL;
>> + pr_err("Failed to create IPv6 UDP tunnel\n");
>> + return -1;
>> + }
>> }
>> #endif
>> return 0;
>> --
>> 2.26.3
>>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 7:56 ` kamal heib
@ 2021-06-01 8:11 ` Zhu Yanjun
2021-06-01 9:09 ` Kamal Heib
0 siblings, 1 reply; 11+ messages in thread
From: Zhu Yanjun @ 2021-06-01 8:11 UTC (permalink / raw)
To: kamal heib; +Cc: RDMA mailing list, Doug Ledford, Jason Gunthorpe
On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
>
>
>
> > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> >
> > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> >>
> >> To avoid the following failure when trying to load the rdma_rxe module
> >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> >> before trying to create the IPv6 UDP tunnel.
> >>
> >> $ modprobe rdma_rxe
> >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> >
> > About this problem, this link:
> > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > also tries to solve ipv6 problem.
> >
> > Zhu Yanjun
> >
>
> Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
>
> Could you please review and ACK this patch?
https://www.spinics.net/lists/linux-rdma/msg100274.html
Compared with the above commit, are the following also needed?
diff --git a/drivers/infiniband/sw/rxe/rxe_net.c
b/drivers/infiniband/sw/rxe/rxe_net.c
index 0701bd1ffd1a..6ef092cb575e 100644
--- a/drivers/infiniband/sw/rxe/rxe_net.c
+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@ -72,6 +72,11 @@ static struct dst_entry *rxe_find_route6(struct
net_device *ndev,
struct dst_entry *ndst;
struct flowi6 fl6 = { { 0 } };
+ if (!ipv6_mod_enabled()) {
+ pr_info("IPv6 is disabled by ipv6.disable=1 in cmdline");
+ return NULL;
+ }
+
memset(&fl6, 0, sizeof(fl6));
fl6.flowi6_oif = ndev->ifindex;
memcpy(&fl6.saddr, saddr, sizeof(*saddr));
Zhu Yanjun
>
> Thanks,
> Kamal
>
>
> >>
> >> Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
> >> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> >> ---
> >> drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
> >> 1 file changed, 8 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> >> index 01662727dca0..f353fc18769f 100644
> >> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> >> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> >> @@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
> >> {
> >> #if IS_ENABLED(CONFIG_IPV6)
> >>
> >> - recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> >> - htons(ROCE_V2_UDP_DPORT), true);
> >> - if (IS_ERR(recv_sockets.sk6)) {
> >> - recv_sockets.sk6 = NULL;
> >> - pr_err("Failed to create IPv6 UDP tunnel\n");
> >> - return -1;
> >> + if (ipv6_mod_enabled()) {
> >> + recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> >> + htons(ROCE_V2_UDP_DPORT), true);
> >> + if (IS_ERR(recv_sockets.sk6)) {
> >> + recv_sockets.sk6 = NULL;
> >> + pr_err("Failed to create IPv6 UDP tunnel\n");
> >> + return -1;
> >> + }
> >> }
> >> #endif
> >> return 0;
> >> --
> >> 2.26.3
> >>
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 8:11 ` Zhu Yanjun
@ 2021-06-01 9:09 ` Kamal Heib
2021-06-01 15:59 ` Zhu Yanjun
0 siblings, 1 reply; 11+ messages in thread
From: Kamal Heib @ 2021-06-01 9:09 UTC (permalink / raw)
To: Zhu Yanjun; +Cc: RDMA mailing list, Doug Ledford, Jason Gunthorpe
On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
> On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
> >
> >
> >
> > > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> > >
> > > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > >>
> > >> To avoid the following failure when trying to load the rdma_rxe module
> > >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> > >> before trying to create the IPv6 UDP tunnel.
> > >>
> > >> $ modprobe rdma_rxe
> > >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> > >
> > > About this problem, this link:
> > > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > > also tries to solve ipv6 problem.
> > >
> > > Zhu Yanjun
> > >
> >
> > Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
> >
> > Could you please review and ACK this patch?
>
> https://www.spinics.net/lists/linux-rdma/msg100274.html
> Compared with the above commit, are the following also needed?
>
I don't think so, because we aren't going to reach this function.
Do you know about a real bug that fails in this function?!
Thanks,
Kamal
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c
> b/drivers/infiniband/sw/rxe/rxe_net.c
> index 0701bd1ffd1a..6ef092cb575e 100644
> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -72,6 +72,11 @@ static struct dst_entry *rxe_find_route6(struct
> net_device *ndev,
> struct dst_entry *ndst;
> struct flowi6 fl6 = { { 0 } };
>
> + if (!ipv6_mod_enabled()) {
> + pr_info("IPv6 is disabled by ipv6.disable=1 in cmdline");
> + return NULL;
> + }
> +
> memset(&fl6, 0, sizeof(fl6));
> fl6.flowi6_oif = ndev->ifindex;
> memcpy(&fl6.saddr, saddr, sizeof(*saddr));
>
> Zhu Yanjun
>
> >
> > Thanks,
> > Kamal
> >
> >
> > >>
> > >> Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
> > >> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > >> ---
> > >> drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
> > >> 1 file changed, 8 insertions(+), 6 deletions(-)
> > >>
> > >> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> > >> index 01662727dca0..f353fc18769f 100644
> > >> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> > >> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> > >> @@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
> > >> {
> > >> #if IS_ENABLED(CONFIG_IPV6)
> > >>
> > >> - recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> > >> - htons(ROCE_V2_UDP_DPORT), true);
> > >> - if (IS_ERR(recv_sockets.sk6)) {
> > >> - recv_sockets.sk6 = NULL;
> > >> - pr_err("Failed to create IPv6 UDP tunnel\n");
> > >> - return -1;
> > >> + if (ipv6_mod_enabled()) {
> > >> + recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> > >> + htons(ROCE_V2_UDP_DPORT), true);
> > >> + if (IS_ERR(recv_sockets.sk6)) {
> > >> + recv_sockets.sk6 = NULL;
> > >> + pr_err("Failed to create IPv6 UDP tunnel\n");
> > >> + return -1;
> > >> + }
> > >> }
> > >> #endif
> > >> return 0;
> > >> --
> > >> 2.26.3
> > >>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 9:09 ` Kamal Heib
@ 2021-06-01 15:59 ` Zhu Yanjun
2021-06-01 17:01 ` Jason Gunthorpe
0 siblings, 1 reply; 11+ messages in thread
From: Zhu Yanjun @ 2021-06-01 15:59 UTC (permalink / raw)
To: Kamal Heib; +Cc: RDMA mailing list, Doug Ledford, Jason Gunthorpe
On Tue, Jun 1, 2021 at 5:09 PM Kamal Heib <kamalheib1@gmail.com> wrote:
>
> On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
> > On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
> > >
> > >
> > >
> > > > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> > > >
> > > > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > > >>
> > > >> To avoid the following failure when trying to load the rdma_rxe module
> > > >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> > > >> before trying to create the IPv6 UDP tunnel.
> > > >>
> > > >> $ modprobe rdma_rxe
> > > >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> > > >
> > > > About this problem, this link:
> > > > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > > > also tries to solve ipv6 problem.
> > > >
> > > > Zhu Yanjun
> > > >
> > >
> > > Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
Please check this link
https://lore.kernel.org/linux-rdma/20210326012723.41769-1-yanjun.zhu@intel.com/T/
carefully.
Please pay attention to the comments from Jason Gunthorpe
Zhu Yanjun
> > >
> > > Could you please review and ACK this patch?
> >
> > https://www.spinics.net/lists/linux-rdma/msg100274.html
> > Compared with the above commit, are the following also needed?
> >
>
> I don't think so, because we aren't going to reach this function.
>
> Do you know about a real bug that fails in this function?!
>
> Thanks,
> Kamal
>
> > diff --git a/drivers/infiniband/sw/rxe/rxe_net.c
> > b/drivers/infiniband/sw/rxe/rxe_net.c
> > index 0701bd1ffd1a..6ef092cb575e 100644
> > --- a/drivers/infiniband/sw/rxe/rxe_net.c
> > +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> > @@ -72,6 +72,11 @@ static struct dst_entry *rxe_find_route6(struct
> > net_device *ndev,
> > struct dst_entry *ndst;
> > struct flowi6 fl6 = { { 0 } };
> >
> > + if (!ipv6_mod_enabled()) {
> > + pr_info("IPv6 is disabled by ipv6.disable=1 in cmdline");
> > + return NULL;
> > + }
> > +
> > memset(&fl6, 0, sizeof(fl6));
> > fl6.flowi6_oif = ndev->ifindex;
> > memcpy(&fl6.saddr, saddr, sizeof(*saddr));
> >
> > Zhu Yanjun
> >
> > >
> > > Thanks,
> > > Kamal
> > >
> > >
> > > >>
> > > >> Fixes: dfdd6158ca2c ("IB/rxe: Fix kernel panic in udp_setup_tunnel")
> > > >> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > >> ---
> > > >> drivers/infiniband/sw/rxe/rxe_net.c | 14 ++++++++------
> > > >> 1 file changed, 8 insertions(+), 6 deletions(-)
> > > >>
> > > >> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> > > >> index 01662727dca0..f353fc18769f 100644
> > > >> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> > > >> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> > > >> @@ -617,12 +617,14 @@ static int rxe_net_ipv6_init(void)
> > > >> {
> > > >> #if IS_ENABLED(CONFIG_IPV6)
> > > >>
> > > >> - recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> > > >> - htons(ROCE_V2_UDP_DPORT), true);
> > > >> - if (IS_ERR(recv_sockets.sk6)) {
> > > >> - recv_sockets.sk6 = NULL;
> > > >> - pr_err("Failed to create IPv6 UDP tunnel\n");
> > > >> - return -1;
> > > >> + if (ipv6_mod_enabled()) {
> > > >> + recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
> > > >> + htons(ROCE_V2_UDP_DPORT), true);
> > > >> + if (IS_ERR(recv_sockets.sk6)) {
> > > >> + recv_sockets.sk6 = NULL;
> > > >> + pr_err("Failed to create IPv6 UDP tunnel\n");
> > > >> + return -1;
> > > >> + }
> > > >> }
> > > >> #endif
> > > >> return 0;
> > > >> --
> > > >> 2.26.3
> > > >>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 15:59 ` Zhu Yanjun
@ 2021-06-01 17:01 ` Jason Gunthorpe
2021-06-02 7:22 ` Zhu Yanjun
2021-06-02 13:10 ` Kamal Heib
0 siblings, 2 replies; 11+ messages in thread
From: Jason Gunthorpe @ 2021-06-01 17:01 UTC (permalink / raw)
To: Zhu Yanjun; +Cc: Kamal Heib, RDMA mailing list, Doug Ledford
On Tue, Jun 01, 2021 at 11:59:44PM +0800, Zhu Yanjun wrote:
> On Tue, Jun 1, 2021 at 5:09 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> >
> > On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
> > > On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
> > > >
> > > >
> > > >
> > > > > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> > > > >
> > > > > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > > > >>
> > > > >> To avoid the following failure when trying to load the rdma_rxe module
> > > > >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> > > > >> before trying to create the IPv6 UDP tunnel.
> > > > >>
> > > > >> $ modprobe rdma_rxe
> > > > >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> > > > >
> > > > > About this problem, this link:
> > > > > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > > > > also tries to solve ipv6 problem.
> > > > >
> > > > > Zhu Yanjun
> > > > >
> > > >
> > > > Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
>
> Please check this link
> https://lore.kernel.org/linux-rdma/20210326012723.41769-1-yanjun.zhu@intel.com/T/
> carefully.
>
> Please pay attention to the comments from Jason Gunthorpe
I think the comment still holds, the correct fix is to detect the -97
errno down in the call chain and just ignore ipv6 support in this
case.
Jason
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 17:01 ` Jason Gunthorpe
@ 2021-06-02 7:22 ` Zhu Yanjun
2021-06-02 13:10 ` Kamal Heib
1 sibling, 0 replies; 11+ messages in thread
From: Zhu Yanjun @ 2021-06-02 7:22 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Kamal Heib, RDMA mailing list, Doug Ledford
On Wed, Jun 2, 2021 at 1:01 AM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Tue, Jun 01, 2021 at 11:59:44PM +0800, Zhu Yanjun wrote:
> > On Tue, Jun 1, 2021 at 5:09 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > >
> > > On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
> > > > On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
> > > > >
> > > > >
> > > > >
> > > > > > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> > > > > >
> > > > > > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > > > > >>
> > > > > >> To avoid the following failure when trying to load the rdma_rxe module
> > > > > >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> > > > > >> before trying to create the IPv6 UDP tunnel.
> > > > > >>
> > > > > >> $ modprobe rdma_rxe
> > > > > >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> > > > > >
> > > > > > About this problem, this link:
> > > > > > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > > > > > also tries to solve ipv6 problem.
> > > > > >
> > > > > > Zhu Yanjun
> > > > > >
> > > > >
> > > > > Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
> >
> > Please check this link
> > https://lore.kernel.org/linux-rdma/20210326012723.41769-1-yanjun.zhu@intel.com/T/
> > carefully.
> >
> > Please pay attention to the comments from Jason Gunthorpe
>
> I think the comment still holds, the correct fix is to detect the -97
Great! Thanks
Zhu Yanjun
> errno down in the call chain and just ignore ipv6 support in this
> case.
>
> Jason
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-01 17:01 ` Jason Gunthorpe
2021-06-02 7:22 ` Zhu Yanjun
@ 2021-06-02 13:10 ` Kamal Heib
2021-06-02 14:04 ` Yanjun Zhu
2021-06-02 23:31 ` Jason Gunthorpe
1 sibling, 2 replies; 11+ messages in thread
From: Kamal Heib @ 2021-06-02 13:10 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Zhu Yanjun, RDMA mailing list, Doug Ledford
On Tue, Jun 01, 2021 at 02:01:32PM -0300, Jason Gunthorpe wrote:
> On Tue, Jun 01, 2021 at 11:59:44PM +0800, Zhu Yanjun wrote:
> > On Tue, Jun 1, 2021 at 5:09 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > >
> > > On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
> > > > On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
> > > > >
> > > > >
> > > > >
> > > > > > On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
> > > > > >
> > > > > > On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
> > > > > >>
> > > > > >> To avoid the following failure when trying to load the rdma_rxe module
> > > > > >> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
> > > > > >> before trying to create the IPv6 UDP tunnel.
> > > > > >>
> > > > > >> $ modprobe rdma_rxe
> > > > > >> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
> > > > > >
> > > > > > About this problem, this link:
> > > > > > https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
> > > > > > also tries to solve ipv6 problem.
> > > > > >
> > > > > > Zhu Yanjun
> > > > > >
> > > > >
> > > > > Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
> >
> > Please check this link
> > https://lore.kernel.org/linux-rdma/20210326012723.41769-1-yanjun.zhu@intel.com/T/
> > carefully.
> >
> > Please pay attention to the comments from Jason Gunthorpe
>
> I think the comment still holds, the correct fix is to detect the -97
> errno down in the call chain and just ignore ipv6 support in this
> case.
>
> Jason
OK, Could you please tell me what do you think about the following:
diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
index 01662727dca0..144d9e1c1c3d 100644
--- a/drivers/infiniband/sw/rxe/rxe_net.c
+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@ -208,6 +208,11 @@ static struct socket *rxe_setup_udp_tunnel(struct net *net, __be16 port,
/* Create UDP socket */
err = udp_sock_create(net, &udp_cfg, &sock);
if (err < 0) {
+ if (ipv6 && (err == -EAFNOSUPPORT)) {
+ pr_warn("IPv6 is not supported can not create UDP socket\n");
+ return NULL;
+ }
+
pr_err("failed to create udp socket. err = %d\n", err);
return ERR_PTR(err);
}
Thanks,
Kamal
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-02 13:10 ` Kamal Heib
@ 2021-06-02 14:04 ` Yanjun Zhu
2021-06-02 23:31 ` Jason Gunthorpe
1 sibling, 0 replies; 11+ messages in thread
From: Yanjun Zhu @ 2021-06-02 14:04 UTC (permalink / raw)
To: Kamal Heib, Jason Gunthorpe; +Cc: Zhu Yanjun, RDMA mailing list, Doug Ledford
在 2021/6/2 21:10, Kamal Heib 写道:
> On Tue, Jun 01, 2021 at 02:01:32PM -0300, Jason Gunthorpe wrote:
>> On Tue, Jun 01, 2021 at 11:59:44PM +0800, Zhu Yanjun wrote:
>>> On Tue, Jun 1, 2021 at 5:09 PM Kamal Heib <kamalheib1@gmail.com> wrote:
>>>> On Tue, Jun 01, 2021 at 04:11:08PM +0800, Zhu Yanjun wrote:
>>>>> On Tue, Jun 1, 2021 at 3:56 PM kamal heib <kamalheib1@gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>>> On 1 Jun 2021, at 10:45, Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
>>>>>>>
>>>>>>> On Tue, Jun 1, 2021 at 1:58 PM Kamal Heib <kamalheib1@gmail.com> wrote:
>>>>>>>> To avoid the following failure when trying to load the rdma_rxe module
>>>>>>>> while IPv6 is disabled, Add a check to make sure that IPv6 is enabled
>>>>>>>> before trying to create the IPv6 UDP tunnel.
>>>>>>>>
>>>>>>>> $ modprobe rdma_rxe
>>>>>>>> modprobe: ERROR: could not insert 'rdma_rxe': Operation not permitted
>>>>>>> About this problem, this link:
>>>>>>> https://patchwork.kernel.org/project/linux-rdma/patch/20210413234252.12209-1-yanjun.zhu@intel.com/
>>>>>>> also tries to solve ipv6 problem.
>>>>>>>
>>>>>>> Zhu Yanjun
>>>>>>>
>>>>>> Yes, but this patch is fixing the problem more cleanly and I’ve tested it.
>>> Please check this link
>>> https://lore.kernel.org/linux-rdma/20210326012723.41769-1-yanjun.zhu@intel.com/T/
>>> carefully.
>>>
>>> Please pay attention to the comments from Jason Gunthorpe
>> I think the comment still holds, the correct fix is to detect the -97
>> errno down in the call chain and just ignore ipv6 support in this
>> case.
>>
>> Jason
> OK, Could you please tell me what do you think about the following:
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> index 01662727dca0..144d9e1c1c3d 100644
> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -208,6 +208,11 @@ static struct socket *rxe_setup_udp_tunnel(struct net *net, __be16 port,
> /* Create UDP socket */
> err = udp_sock_create(net, &udp_cfg, &sock);
> if (err < 0) {
> + if (ipv6 && (err == -EAFNOSUPPORT)) {
> + pr_warn("IPv6 is not supported can not create UDP socket\n");
> + return NULL;
The returned value is changed.
Zhu Yanjun
> + }
> +
> pr_err("failed to create udp socket. err = %d\n", err);
> return ERR_PTR(err);
> }
>
>
> Thanks,
> Kamal
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH for-rc] RDMA/rxe: Fix failure during driver load
2021-06-02 13:10 ` Kamal Heib
2021-06-02 14:04 ` Yanjun Zhu
@ 2021-06-02 23:31 ` Jason Gunthorpe
1 sibling, 0 replies; 11+ messages in thread
From: Jason Gunthorpe @ 2021-06-02 23:31 UTC (permalink / raw)
To: Kamal Heib; +Cc: Zhu Yanjun, RDMA mailing list, Doug Ledford
On Wed, Jun 02, 2021 at 04:10:07PM +0300, Kamal Heib wrote:
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> index 01662727dca0..144d9e1c1c3d 100644
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -208,6 +208,11 @@ static struct socket *rxe_setup_udp_tunnel(struct net *net, __be16 port,
> /* Create UDP socket */
> err = udp_sock_create(net, &udp_cfg, &sock);
> if (err < 0) {
> + if (ipv6 && (err == -EAFNOSUPPORT)) {
> + pr_warn("IPv6 is not supported can not create UDP socket\n");
> + return NULL;
> + }
> +
I would put this test in rxe_net_ipv6_init. returning errptr, null or
a valid pointer is a bit too ugly
> pr_err("failed to create udp socket. err = %d\n",
> err);
And delete some of this needless debugging
Jason
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-06-02 23:32 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-01 5:56 [PATCH for-rc] RDMA/rxe: Fix failure during driver load Kamal Heib
2021-06-01 7:45 ` Zhu Yanjun
2021-06-01 7:56 ` kamal heib
2021-06-01 8:11 ` Zhu Yanjun
2021-06-01 9:09 ` Kamal Heib
2021-06-01 15:59 ` Zhu Yanjun
2021-06-01 17:01 ` Jason Gunthorpe
2021-06-02 7:22 ` Zhu Yanjun
2021-06-02 13:10 ` Kamal Heib
2021-06-02 14:04 ` Yanjun Zhu
2021-06-02 23:31 ` Jason Gunthorpe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.