* Re: [PATCH net-next] net: phy: broadcom: Enable 125 MHz clock on LED4 pin for BCM54612E by default.
From: David Miller @ 2018-06-05 13:43 UTC (permalink / raw)
To: kunyi
Cc: netdev, Avi.Fishman, tali.perry, tomer.maimon, benjaminfair,
rlippert, f.fainelli
In-Reply-To: <20180604201704.238472-1-kunyi@google.com>
From: Kun Yi <kunyi@google.com>
Date: Mon, 4 Jun 2018 13:17:04 -0700
> BCM54612E have 4 multi-functional LED pins that can be configured
> through register setting; the LED4 pin can be configured to a 125MHz
> reference clock output by setting the spare register. Since the dedicated
> CLK125 reference clock pin is not brought out on the 48-Pin MLP, the LED4
> pin is the only pin to provide such function in this package, and therefore
> it is beneficial to just enable the reference clock by default.
>
> Signed-off-by: Kun Yi <kunyi@google.com>
Applied, thank you.
^ permalink raw reply
* Re: [Patch net-next] netdev-FAQ: clarify DaveM's position for stable backports
From: David Miller @ 2018-06-05 13:43 UTC (permalink / raw)
To: xiyou.wangcong; +Cc: netdev, stable, gregkh
In-Reply-To: <20180604180719.6053-1-xiyou.wangcong@gmail.com>
From: Cong Wang <xiyou.wangcong@gmail.com>
Date: Mon, 4 Jun 2018 11:07:19 -0700
> +Q: Are all networking bug fixes backported to all stable releases?
> +
> +A: Due to capacity, Dave could only take care of the backports for the last
> + 3 stable releases.
As Greg stated, I only do 2 not 3.
^ permalink raw reply
* Re: [PATCH net] l2tp: fix refcount leakage on PPPoL2TP sockets
From: David Miller @ 2018-06-05 13:41 UTC (permalink / raw)
To: g.nault; +Cc: netdev, jchapman
In-Reply-To: <6021bb159fc069256f8947622e4b180d234fea0a.1528129907.git.g.nault@alphalink.fr>
From: Guillaume Nault <g.nault@alphalink.fr>
Date: Mon, 4 Jun 2018 18:52:19 +0200
> Commit d02ba2a6110c ("l2tp: fix race in pppol2tp_release with session
> object destroy") tried to fix a race condition where a PPPoL2TP socket
> would disappear while the L2TP session was still using it. However, it
> missed the root issue which is that an L2TP session may accept to be
> reconnected if its associated socket has entered the release process.
>
> The tentative fix makes the session hold the socket it is connected to.
> That saves the kernel from crashing, but introduces refcount leakage,
> preventing the socket from completing the release process. Once stalled,
> everything the socket depends on can't be released anymore, including
> the L2TP session and the l2tp_ppp module.
...
> So it all boils down to pppol2tp_connect() failing to realise that the
> session has already been connected. This patch drops the unneeded extra
> reference counting (mostly reverting d02ba2a6110c) and checks that
> neither ->sk nor ->__sk is set before allowing a session to be
> connected.
>
> Fixes: d02ba2a6110c ("l2tp: fix race in pppol2tp_release with session object destroy")
> Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
So much fidgeting around in this area over the past year or two :-)
Applied and queued up for -stable, thanks for fixing this.
^ permalink raw reply
* Re: [PATCH v2 04/21] cxgb4: use match_string() helper
From: Andy Shevchenko @ 2018-06-05 13:19 UTC (permalink / raw)
To: Yisheng Xie; +Cc: Linux Kernel Mailing List, Ganesh Goudar, netdev
In-Reply-To: <1527765086-19873-5-git-send-email-xieyisheng1@huawei.com>
On Thu, May 31, 2018 at 2:11 PM, Yisheng Xie <xieyisheng1@huawei.com> wrote:
> match_string() returns the index of an array for a matching string,
> which can be used instead of open coded variant.
>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Cc: Ganesh Goudar <ganeshgr@chelsio.com>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
> ---
> v2:
> - no change from v1.
>
> drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c b/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
> index 9da6f57..bd61610 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
> @@ -782,17 +782,11 @@ static int cudbg_get_mem_region(struct adapter *padap,
> if (rc)
> return rc;
>
> - for (i = 0; i < ARRAY_SIZE(cudbg_region); i++) {
> - if (!strcmp(cudbg_region[i], region_name)) {
> - found = 1;
> - idx = i;
> - break;
> - }
> - }
> - if (!found)
> - return -EINVAL;
> + rc = match_string(cudbg_region, ARRAY_SIZE(cudbg_region), region_name);
> + if (rc < 0)
> + return rc;
>
> - found = 0;
> + idx = rc;
> for (i = 0; i < meminfo->mem_c; i++) {
> if (meminfo->mem[i].idx >= ARRAY_SIZE(cudbg_region))
> continue; /* Skip holes */
> --
> 1.7.12.4
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v2 06/21] iwlwifi: mvm: use match_string() helper
From: Andy Shevchenko @ 2018-06-05 13:19 UTC (permalink / raw)
To: Yisheng Xie
Cc: Linux Kernel Mailing List, Kalle Valo, Intel Linux Wireless,
Johannes Berg, Emmanuel Grumbach, open list:TI WILINK WIRELES...,
netdev
In-Reply-To: <1527765086-19873-7-git-send-email-xieyisheng1@huawei.com>
On Thu, May 31, 2018 at 2:11 PM, Yisheng Xie <xieyisheng1@huawei.com> wrote:
> match_string() returns the index of an array for a matching string,
> which can be used instead of open coded variant.
>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> Cc: Intel Linux Wireless <linuxwifi@intel.com>
> Cc: Johannes Berg <johannes.berg@intel.com>
> Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
> ---
> v2:
> - let ret get return value of match_string - per Andy
>
> drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
> index 0e6401c..d7ac511 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
> @@ -671,16 +671,11 @@ static ssize_t iwl_dbgfs_bt_cmd_read(struct file *file, char __user *user_buf,
> };
> int ret, bt_force_ant_mode;
>
> - for (bt_force_ant_mode = 0;
> - bt_force_ant_mode < ARRAY_SIZE(modes_str);
> - bt_force_ant_mode++) {
> - if (!strcmp(buf, modes_str[bt_force_ant_mode]))
> - break;
> - }
> -
> - if (bt_force_ant_mode >= ARRAY_SIZE(modes_str))
> - return -EINVAL;
> + ret = match_string(modes_str, ARRAY_SIZE(modes_str), buf);
> + if (ret < 0)
> + return ret;
>
> + bt_force_ant_mode = ret;
> ret = 0;
> mutex_lock(&mvm->mutex);
> if (mvm->bt_force_ant_mode == bt_force_ant_mode)
> --
> 1.7.12.4
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH net-next] selftests: forwarding: Fix importing dependent libraries
From: Petr Machata @ 2018-06-05 13:15 UTC (permalink / raw)
To: netdev; +Cc: linux-kselftest, davem, shuah, idosch
In-Reply-To: <1ee588d3867b411485be29e45ebbda050920544c.1528203928.git.petrm@mellanox.com>
Petr Machata <petrm@mellanox.com> writes:
> When libraries are sourced from elsewhere from the tree, such as the
> testing/selftests/drivers/net/mlxsw subdirectory, sourcing their own
Sorry, I didn't realize the mirror_bridge.sh is not upstream yet. This
patch is thus immaterial, it will be sent together with the test when it
becomes relevant.
Please ignore.
Thanks,
Petr
^ permalink raw reply
* [PATCH iproute2 v2 1/2] ip: display netns name instead of nsid
From: Nicolas Dichtel @ 2018-06-05 13:08 UTC (permalink / raw)
To: stephen; +Cc: netdev, Nicolas Dichtel
In-Reply-To: <20180605130831.8175-1-nicolas.dichtel@6wind.com>
When iproute2 has a name for the nsid, let's display it. It's more
user friendly than a number.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
ip/ip_common.h | 1 +
ip/ipaddress.c | 20 +++++++++++++++-----
ip/ipnetns.c | 14 ++++++++++++++
3 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/ip/ip_common.h b/ip/ip_common.h
index 49eb7d7bed40..794478c546cd 100644
--- a/ip/ip_common.h
+++ b/ip/ip_common.h
@@ -60,6 +60,7 @@ void netns_map_init(void);
void netns_nsid_socket_init(void);
int print_nsid(const struct sockaddr_nl *who,
struct nlmsghdr *n, void *arg);
+char *get_name_from_nsid(int nsid);
int do_ipaddr(int argc, char **argv);
int do_ipaddrlabel(int argc, char **argv);
int do_iproute(int argc, char **argv);
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index c7c7e7df4e81..e4a1b985e4e9 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -955,10 +955,16 @@ int print_linkinfo(const struct sockaddr_nl *who,
if (is_json_context()) {
print_int(PRINT_JSON, "link_netnsid", NULL, id);
} else {
- if (id >= 0)
- print_int(PRINT_FP, NULL,
- " link-netnsid %d", id);
- else
+ if (id >= 0) {
+ char *name = get_name_from_nsid(id);
+
+ if (name)
+ print_string(PRINT_FP, NULL,
+ " link-netns %s", name);
+ else
+ print_int(PRINT_FP, NULL,
+ " link-netnsid %d", id);
+ } else
print_string(PRINT_FP, NULL,
" link-netnsid %s", "unknown");
}
@@ -966,8 +972,12 @@ int print_linkinfo(const struct sockaddr_nl *who,
if (tb[IFLA_NEW_NETNSID]) {
int id = rta_getattr_u32(tb[IFLA_NEW_NETNSID]);
+ char *name = get_name_from_nsid(id);
- print_int(PRINT_FP, NULL, " new-nsid %d", id);
+ if (name)
+ print_string(PRINT_FP, NULL, " new-netns %s", name);
+ else
+ print_int(PRINT_FP, NULL, " new-netnsid %d", id);
}
if (tb[IFLA_NEW_IFINDEX]) {
int id = rta_getattr_u32(tb[IFLA_NEW_IFINDEX]);
diff --git a/ip/ipnetns.c b/ip/ipnetns.c
index e06100f4ad2d..30af9319f39e 100644
--- a/ip/ipnetns.c
+++ b/ip/ipnetns.c
@@ -169,6 +169,20 @@ static struct nsid_cache *netns_map_get_by_nsid(int nsid)
return NULL;
}
+char *get_name_from_nsid(int nsid)
+{
+ struct nsid_cache *c;
+
+ netns_nsid_socket_init();
+ netns_map_init();
+
+ c = netns_map_get_by_nsid(nsid);
+ if (c)
+ return c->name;
+
+ return NULL;
+}
+
static int netns_map_add(int nsid, const char *name)
{
struct nsid_cache *c;
--
2.15.1
^ permalink raw reply related
* [PATCH iproute2 v2 0/2] display netns name instead of nsid
From: Nicolas Dichtel @ 2018-06-05 13:08 UTC (permalink / raw)
To: stephen; +Cc: netdev
In-Reply-To: <20180604141215.0669f05f@xeon-e3>
After these patches, the iproute2 name of netns is displayed instead of
the nsid. It's easier to read/understand.
v1 -> v2:
- open netns socket and init netns map only when needed
ip/ip_common.h | 3 +++
ip/ipaddress.c | 20 +++++++++++++++-----
ip/iplink.c | 18 ++++++++++++++++--
ip/ipnetns.c | 22 ++++++++++++++++++++--
4 files changed, 54 insertions(+), 9 deletions(-)
Comments are welcomed,
Regards,
Nicolas
^ permalink raw reply
* [PATCH iproute2 v2 2/2] iplink: enable to specify a name for the link-netns
From: Nicolas Dichtel @ 2018-06-05 13:08 UTC (permalink / raw)
To: stephen; +Cc: netdev, Nicolas Dichtel
In-Reply-To: <20180605130831.8175-1-nicolas.dichtel@6wind.com>
The 'link-netnsid' argument needs a number. Add 'link-netns' when the user
wants to use the iproute2 netns name instead of the nsid.
Example:
ip link add ipip1 link-netns foo type ipip remote 10.16.0.121 local 10.16.0.249
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
ip/ip_common.h | 2 ++
ip/iplink.c | 18 ++++++++++++++++--
ip/ipnetns.c | 8 ++++++--
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/ip/ip_common.h b/ip/ip_common.h
index 794478c546cd..4d3227cbc389 100644
--- a/ip/ip_common.h
+++ b/ip/ip_common.h
@@ -61,6 +61,8 @@ void netns_nsid_socket_init(void);
int print_nsid(const struct sockaddr_nl *who,
struct nlmsghdr *n, void *arg);
char *get_name_from_nsid(int nsid);
+int get_netnsid_from_name(const char *name);
+int set_netnsid_from_name(const char *name, int nsid);
int do_ipaddr(int argc, char **argv);
int do_ipaddrlabel(int argc, char **argv);
int do_iproute(int argc, char **argv);
diff --git a/ip/iplink.c b/ip/iplink.c
index 9ff5f692a1d4..e4d4da96aedb 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -85,7 +85,7 @@ void iplink_usage(void)
" [ broadcast LLADDR ]\n"
" [ mtu MTU ]\n"
" [ netns { PID | NAME } ]\n"
- " [ link-netnsid ID ]\n"
+ " [ link-netns NAME | link-netnsid ID ]\n"
" [ alias NAME ]\n"
" [ vf NUM [ mac LLADDR ]\n"
" [ vlan VLANID [ qos VLAN-QOS ] [ proto VLAN-PROTO ] ]\n"
@@ -865,10 +865,24 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req, char **type)
IFLA_INET6_ADDR_GEN_MODE, mode);
addattr_nest_end(&req->n, afs6);
addattr_nest_end(&req->n, afs);
+ } else if (matches(*argv, "link-netns") == 0) {
+ NEXT_ARG();
+ if (link_netnsid != -1)
+ duparg("link-netns/link-netnsid", *argv);
+ link_netnsid = get_netnsid_from_name(*argv);
+ /* No nsid? Try to assign one. */
+ if (link_netnsid < 0)
+ set_netnsid_from_name(*argv, -1);
+ link_netnsid = get_netnsid_from_name(*argv);
+ if (link_netnsid < 0)
+ invarg("Invalid \"link-netns\" value\n",
+ *argv);
+ addattr32(&req->n, sizeof(*req), IFLA_LINK_NETNSID,
+ link_netnsid);
} else if (matches(*argv, "link-netnsid") == 0) {
NEXT_ARG();
if (link_netnsid != -1)
- duparg("link-netnsid", *argv);
+ duparg("link-netns/link-netnsid", *argv);
if (get_integer(&link_netnsid, *argv, 0))
invarg("Invalid \"link-netnsid\" value\n",
*argv);
diff --git a/ip/ipnetns.c b/ip/ipnetns.c
index 30af9319f39e..368be0cbc0a4 100644
--- a/ip/ipnetns.c
+++ b/ip/ipnetns.c
@@ -91,7 +91,7 @@ static int ipnetns_have_nsid(void)
return have_rtnl_getnsid;
}
-static int get_netnsid_from_name(const char *name)
+int get_netnsid_from_name(const char *name)
{
struct {
struct nlmsghdr n;
@@ -108,6 +108,8 @@ static int get_netnsid_from_name(const char *name)
struct rtgenmsg *rthdr;
int len, fd;
+ netns_nsid_socket_init();
+
fd = netns_get_fd(name);
if (fd < 0)
return fd;
@@ -705,7 +707,7 @@ out_delete:
return -1;
}
-static int set_netnsid_from_name(const char *name, int nsid)
+int set_netnsid_from_name(const char *name, int nsid)
{
struct {
struct nlmsghdr n;
@@ -719,6 +721,8 @@ static int set_netnsid_from_name(const char *name, int nsid)
};
int fd, err = 0;
+ netns_nsid_socket_init();
+
fd = netns_get_fd(name);
if (fd < 0)
return fd;
--
2.15.1
^ permalink raw reply related
* Re: [PATCH net-next] net: fddi: fix a possible null-ptr-deref
From: YueHaibing @ 2018-06-05 13:08 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-kernel
In-Reply-To: <20180605100627.16184-1-yuehaibing@huawei.com>
On 2018/6/5 18:06, YueHaibing wrote:
> bp->SharedMemAddr is set to NULL while bp->SharedMemSize less than 0,
> then memset will trigger null-ptr-deref.
>
> Fix it use pci_zalloc_consistent when bp->SharedMemSize is greater than 0.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
> drivers/net/fddi/skfp/skfddi.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/fddi/skfp/skfddi.c b/drivers/net/fddi/skfp/skfddi.c
> index 2414f1d..90164e0 100644
> --- a/drivers/net/fddi/skfp/skfddi.c
> +++ b/drivers/net/fddi/skfp/skfddi.c
> @@ -407,23 +407,21 @@ static int skfp_driver_init(struct net_device *dev)
> if (bp->SharedMemSize > 0) {
> bp->SharedMemSize += 16; // for descriptor alignment
>
> - bp->SharedMemAddr = pci_alloc_consistent(&bp->pdev,
> - bp->SharedMemSize,
> - &bp->SharedMemDMA);
> + bp->SharedMemAddr = pci_zalloc_consistent(&bp->pdev,
> + bp->SharedMemSize,
> + &bp->SharedMemDMA);
This also need move from pci_dma* to dma_*, will send v2
> if (!bp->SharedMemAddr) {
> printk("could not allocate mem for ");
> printk("hardware module: %ld byte\n",
> bp->SharedMemSize);
> goto fail;
> }
> - bp->SharedMemHeap = 0; // Nothing used yet.
>
> } else {
> bp->SharedMemAddr = NULL;
> - bp->SharedMemHeap = 0;
> } // SharedMemSize > 0
>
> - memset(bp->SharedMemAddr, 0, bp->SharedMemSize);
> + bp->SharedMemHeap = 0;
>
> card_stop(smc); // Reset adapter.
>
>
^ permalink raw reply
* Re: [PATCH bpf-next 10/11] i40e: implement AF_XDP zero-copy support for Tx
From: Björn Töpel @ 2018-06-05 13:07 UTC (permalink / raw)
To: Jesper Dangaard Brouer
Cc: Karlsson, Magnus, Magnus Karlsson, Duyck, Alexander H,
Alexander Duyck, Alexei Starovoitov, Daniel Borkmann, Netdev,
MykytaI Iziumtsev, John Fastabend, Willem de Bruijn,
Michael S. Tsirkin, michael.lundkvist, Brandeburg, Jesse,
Singhai, Anjali, Zhang, Qi Z, Francois Ozog, Ilias Apalodimas,
Brian Brooks <brian.brook
In-Reply-To: <20180605144347.34351ecc@redhat.com>
Den tis 5 juni 2018 kl 14:44 skrev Jesper Dangaard Brouer <brouer@redhat.com>:
>
> On Mon, 4 Jun 2018 14:06:00 +0200
> Björn Töpel <bjorn.topel@gmail.com> wrote:
>
> > Here, ndo_xsk_async_xmit is implemented. As a shortcut, the existing
> > XDP Tx rings are used for zero-copy. This will result in other devices
> > doing XDP_REDIRECT to an AF_XDP enabled queue will have its packets
> > dropped.
>
> This behavior is problematic, because XDP Tx rings are smp_processor_id
> based, and several RX queues can (via proc smp_affinity settings) be
> assigned to the same CPU. Thus, other RX-queues (than the AF_XDP
> enabled queue) can experience packet drops. And other devices doing
> redirect through i40e, which happen to run on a CPU which XDP Tx queue
> is "hijacked" will see dropped packets.
>
> Any plans to allocate/create a dedicated TX ring per AF_XDP socket?
>
Yes -- again this was a shortcut, and must be addressed (for all the
reasons above).
Björn
> --
> Best regards,
> Jesper Dangaard Brouer
> MSc.CS, Principal Kernel Engineer at Red Hat
> LinkedIn: http://www.linkedin.com/in/brouer
^ permalink raw reply
* [PATCH net-next] selftests: forwarding: Fix importing dependent libraries
From: Petr Machata @ 2018-06-05 13:07 UTC (permalink / raw)
To: netdev, linux-kselftest; +Cc: davem, shuah, idosch
When libraries are sourced from elsewhere from the tree, such as the
testing/selftests/drivers/net/mlxsw subdirectory, sourcing their own
dependencies directly by name doesn't work. Thus running mirror_gre.sh
from that subdirectory results in the following cascade of errors:
./../../../net/forwarding/mirror_gre_lib.sh: line 3: mirror_lib.sh: No such file or directory
./../../../net/forwarding/mirror_gre_topo_lib.sh: line 36: mirror_topo_lib.sh: No such file or directory
./../../../net/forwarding/mirror_gre_topo_lib.sh: line 80: mirror_topo_h1_create: command not found
./../../../net/forwarding/mirror_gre_topo_lib.sh: line 81: mirror_topo_h2_create: command not found
./../../../net/forwarding/mirror_gre_topo_lib.sh: line 40: mirror_topo_h3_create: command not found
[...]
Fix by relying on $relative_path, set up by lib.sh, which should be
imported by the test in question anyway, and source the file using
relative path appropriate for the subdirectory.
Fixes: d5ea2bfc806a ("selftests: forwarding: mirror_gre_lib: Extract generic functions")
Fixes: 74ed089d48a4 ("selftests: forwarding: Split mirror_gre_topo_lib.sh")
Signed-off-by: Petr Machata <petrm@mellanox.com>
---
tools/testing/selftests/net/forwarding/mirror_gre_lib.sh | 2 +-
tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh
index 619b469..1388845 100644
--- a/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh
+++ b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
-source mirror_lib.sh
+source "$relative_path/mirror_lib.sh"
quick_test_span_gre_dir_ips()
{
diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh b/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh
index 2534195..39c03e2 100644
--- a/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh
+++ b/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh
@@ -33,7 +33,7 @@
# | |
# +-------------------------------------------------------------------------+
-source mirror_topo_lib.sh
+source "$relative_path/mirror_topo_lib.sh"
mirror_gre_topo_h3_create()
{
--
2.4.11
^ permalink raw reply related
* [PATCH v2 net-next] net: metrics: add proper netlink validation
From: Eric Dumazet @ 2018-06-05 13:06 UTC (permalink / raw)
To: David S . Miller; +Cc: netdev, Eric Dumazet, Eric Dumazet, David Ahern
Before using nla_get_u32(), better make sure the attribute
is of the proper size.
Code recently was changed, but bug has been there from beginning
of git.
BUG: KMSAN: uninit-value in rtnetlink_put_metrics+0x553/0x960 net/core/rtnetlink.c:746
CPU: 1 PID: 14139 Comm: syz-executor6 Not tainted 4.17.0-rc5+ #103
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x185/0x1d0 lib/dump_stack.c:113
kmsan_report+0x149/0x260 mm/kmsan/kmsan.c:1084
__msan_warning_32+0x6e/0xc0 mm/kmsan/kmsan_instr.c:686
rtnetlink_put_metrics+0x553/0x960 net/core/rtnetlink.c:746
fib_dump_info+0xc42/0x2190 net/ipv4/fib_semantics.c:1361
rtmsg_fib+0x65f/0x8c0 net/ipv4/fib_semantics.c:419
fib_table_insert+0x2314/0x2b50 net/ipv4/fib_trie.c:1287
inet_rtm_newroute+0x210/0x340 net/ipv4/fib_frontend.c:779
rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646
netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448
rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664
netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336
netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
sock_sendmsg_nosec net/socket.c:629 [inline]
sock_sendmsg net/socket.c:639 [inline]
___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
__sys_sendmsg net/socket.c:2155 [inline]
__do_sys_sendmsg net/socket.c:2164 [inline]
__se_sys_sendmsg net/socket.c:2162 [inline]
__x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x455a09
RSP: 002b:00007faae5fd8c68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007faae5fd96d4 RCX: 0000000000455a09
RDX: 0000000000000000 RSI: 0000000020000000 RDI: 0000000000000013
RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 00000000000005d0 R14: 00000000006fdc20 R15: 0000000000000000
Uninit was stored to memory at:
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
kmsan_save_stack mm/kmsan/kmsan.c:294 [inline]
kmsan_internal_chain_origin+0x12b/0x210 mm/kmsan/kmsan.c:685
__msan_chain_origin+0x69/0xc0 mm/kmsan/kmsan_instr.c:529
fib_convert_metrics net/ipv4/fib_semantics.c:1056 [inline]
fib_create_info+0x2d46/0x9dc0 net/ipv4/fib_semantics.c:1150
fib_table_insert+0x3e4/0x2b50 net/ipv4/fib_trie.c:1146
inet_rtm_newroute+0x210/0x340 net/ipv4/fib_frontend.c:779
rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646
netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448
rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664
netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336
netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
sock_sendmsg_nosec net/socket.c:629 [inline]
sock_sendmsg net/socket.c:639 [inline]
___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
__sys_sendmsg net/socket.c:2155 [inline]
__do_sys_sendmsg net/socket.c:2164 [inline]
__se_sys_sendmsg net/socket.c:2162 [inline]
__x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Uninit was created at:
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322
slab_post_alloc_hook mm/slab.h:446 [inline]
slab_alloc_node mm/slub.c:2753 [inline]
__kmalloc_node_track_caller+0xb32/0x11b0 mm/slub.c:4395
__kmalloc_reserve net/core/skbuff.c:138 [inline]
__alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206
alloc_skb include/linux/skbuff.h:988 [inline]
netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876
sock_sendmsg_nosec net/socket.c:629 [inline]
sock_sendmsg net/socket.c:639 [inline]
___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
__sys_sendmsg net/socket.c:2155 [inline]
__do_sys_sendmsg net/socket.c:2164 [inline]
__se_sys_sendmsg net/socket.c:2162 [inline]
__x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Fixes: a919525ad832 ("net: Move fib_convert_metrics to metrics file")
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: David Ahern <dsahern@gmail.com>
---
v2: fixed a typo.
net/ipv4/fib_semantics.c | 2 ++
net/ipv4/metrics.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 6608db23f54b6afdac0455650b47d64b1b22b255..f3c89ccf14c5b8f67048a9cf7ebd4ba19327941e 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -717,6 +717,8 @@ bool fib_metrics_match(struct fib_config *cfg, struct fib_info *fi)
nla_strlcpy(tmp, nla, sizeof(tmp));
val = tcp_ca_get_key_by_name(fi->fib_net, tmp, &ecn_ca);
} else {
+ if (nla_len(nla) != sizeof(u32))
+ return false;
val = nla_get_u32(nla);
}
diff --git a/net/ipv4/metrics.c b/net/ipv4/metrics.c
index 5121c6475e6b0e9a9a158d4cee473f52cd4d8efe..04311f7067e2e9e3dafb89aa4f8e30dab0fde854 100644
--- a/net/ipv4/metrics.c
+++ b/net/ipv4/metrics.c
@@ -32,6 +32,8 @@ int ip_metrics_convert(struct net *net, struct nlattr *fc_mx, int fc_mx_len,
if (val == TCP_CA_UNSPEC)
return -EINVAL;
} else {
+ if (nla_len(nla) != sizeof(u32))
+ return -EINVAL;
val = nla_get_u32(nla);
}
if (type == RTAX_ADVMSS && val > 65535 - 40)
--
2.17.1.1185.g55be947832-goog
^ permalink raw reply related
* Re: [PATCH net-next 0/6] use pci_zalloc_consistent
From: YueHaibing @ 2018-06-05 13:04 UTC (permalink / raw)
To: Andy Shevchenko, Christoph Hellwig
Cc: David S. Miller, netdev, Linux Kernel Mailing List, jcliburn,
chris.snook, benve, Jon Mason, chessman, jes, rahul.verma
In-Reply-To: <CAHp75VewE_eyw-xes4n7sBbZv0uGPu_QdPYaZwdEd_5AUCcvvg@mail.gmail.com>
On 2018/6/5 20:46, Andy Shevchenko wrote:
> On Tue, Jun 5, 2018 at 3:49 PM, Christoph Hellwig <hch@lst.de> wrote:
>> On Tue, Jun 05, 2018 at 03:39:16PM +0300, Andy Shevchenko wrote:
>>> On Tue, Jun 5, 2018 at 3:28 PM, YueHaibing <yuehaibing@huawei.com> wrote:
>>>>
>>>
>>> Hmm... Is PCI case anyhow special or it's a simple wrapper on top of
>>> dma.*alloc() ?
>>
>> All drivers should move from pci_dma* to dma_* eventually. Converting
>> from one flavor of deprecated to another is completely pointless.
>
> Exactly my impression. Thanks, Christoph for clarification.
>
> YueHaibing, care to follow what Christoph said and change your series
> accordingly?
ok, will send v2
>
^ permalink raw reply
* [PATCH net v2 2/2] ipmr: fix error path when ipmr_new_table fails
From: Sabrina Dubroca @ 2018-06-05 13:02 UTC (permalink / raw)
To: netdev
Cc: Eric Dumazet, Nikolay Aleksandrov, Yuval Mintz, Ivan Vecera,
Sabrina Dubroca
In-Reply-To: <604985fb55d51eef9130bff0640a62d5015f25bd.1528194845.git.sd@queasysnail.net>
commit 0bbbf0e7d0e7 ("ipmr, ip6mr: Unite creation of new mr_table")
refactored ipmr_new_table, so that it now returns NULL when
mr_table_alloc fails. Unfortunately, all callers of ipmr_new_table
expect an ERR_PTR.
This can result in NULL deref, for example when ipmr_rules_exit calls
ipmr_free_table with NULL net->ipv4.mrt in the
!CONFIG_IP_MROUTE_MULTIPLE_TABLES version.
This patch makes mr_table_alloc return errors, and changes
ip6mr_new_table and its callers to return/expect error pointers as
well. It also removes the version of mr_table_alloc defined under
!CONFIG_IP_MROUTE_COMMON, since it is never used.
Fixes: 0bbbf0e7d0e7 ("ipmr, ip6mr: Unite creation of new mr_table")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
---
v2: - fixed brainfart that shadowed mrt variable in ip6_mroute_setsockopt
- rebased on top of ip6_mroute_setsockopt fix
include/linux/mroute_base.h | 10 ----------
net/ipv4/ipmr_base.c | 8 +++++---
net/ipv6/ip6mr.c | 18 ++++++++++++------
3 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/include/linux/mroute_base.h b/include/linux/mroute_base.h
index d617fe45543e..d633f737b3c6 100644
--- a/include/linux/mroute_base.h
+++ b/include/linux/mroute_base.h
@@ -307,16 +307,6 @@ static inline void vif_device_init(struct vif_device *v,
{
}
-static inline void *
-mr_table_alloc(struct net *net, u32 id,
- struct mr_table_ops *ops,
- void (*expire_func)(struct timer_list *t),
- void (*table_set)(struct mr_table *mrt,
- struct net *net))
-{
- return NULL;
-}
-
static inline void *mr_mfc_find_parent(struct mr_table *mrt,
void *hasharg, int parent)
{
diff --git a/net/ipv4/ipmr_base.c b/net/ipv4/ipmr_base.c
index 30221701614c..cafb0506c8c9 100644
--- a/net/ipv4/ipmr_base.c
+++ b/net/ipv4/ipmr_base.c
@@ -35,17 +35,19 @@ mr_table_alloc(struct net *net, u32 id,
struct net *net))
{
struct mr_table *mrt;
+ int err;
mrt = kzalloc(sizeof(*mrt), GFP_KERNEL);
if (!mrt)
- return NULL;
+ return ERR_PTR(-ENOMEM);
mrt->id = id;
write_pnet(&mrt->net, net);
mrt->ops = *ops;
- if (rhltable_init(&mrt->mfc_hash, mrt->ops.rht_params)) {
+ err = rhltable_init(&mrt->mfc_hash, mrt->ops.rht_params);
+ if (err) {
kfree(mrt);
- return NULL;
+ return ERR_PTR(err);
}
INIT_LIST_HEAD(&mrt->mfc_cache_list);
INIT_LIST_HEAD(&mrt->mfc_unres_queue);
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index 42eca2689c3b..37936671dcb3 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -227,8 +227,8 @@ static int __net_init ip6mr_rules_init(struct net *net)
INIT_LIST_HEAD(&net->ipv6.mr6_tables);
mrt = ip6mr_new_table(net, RT6_TABLE_DFLT);
- if (!mrt) {
- err = -ENOMEM;
+ if (IS_ERR(mrt)) {
+ err = PTR_ERR(mrt);
goto err1;
}
@@ -301,8 +301,13 @@ static int ip6mr_fib_lookup(struct net *net, struct flowi6 *flp6,
static int __net_init ip6mr_rules_init(struct net *net)
{
- net->ipv6.mrt6 = ip6mr_new_table(net, RT6_TABLE_DFLT);
- return net->ipv6.mrt6 ? 0 : -ENOMEM;
+ struct mr_table *mrt;
+
+ mrt = ip6mr_new_table(net, RT6_TABLE_DFLT);
+ if (IS_ERR(mrt))
+ return PTR_ERR(mrt);
+ net->ipv6.mrt6 = mrt;
+ return 0;
}
static void __net_exit ip6mr_rules_exit(struct net *net)
@@ -1757,8 +1762,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
rtnl_lock();
ret = 0;
- if (!ip6mr_new_table(net, v))
- ret = -ENOMEM;
+ mrt = ip6mr_new_table(net, v);
+ if (IS_ERR(mrt))
+ ret = PTR_ERR(mrt);
else
raw6_sk(sk)->ip6mr_table = v;
rtnl_unlock();
--
2.17.1
^ permalink raw reply related
* [PATCH net v2 1/2] ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
From: Sabrina Dubroca @ 2018-06-05 13:01 UTC (permalink / raw)
To: netdev
Cc: Eric Dumazet, Nikolay Aleksandrov, Yuval Mintz, Ivan Vecera,
Sabrina Dubroca
Currently, raw6_sk(sk)->ip6mr_table is set unconditionally during
ip6_mroute_setsockopt(MRT6_TABLE). A subsequent attempt at the same
setsockopt will fail with -ENOENT, since we haven't actually created
that table.
A similar fix for ipv4 was included in commit 5e1859fbcc3c ("ipv4: ipmr:
various fixes and cleanups").
Fixes: d1db275dd3f6 ("ipv6: ip6mr: support multiple tables")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
---
net/ipv6/ip6mr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index 298fd8b6ed17..42eca2689c3b 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -1759,7 +1759,8 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
ret = 0;
if (!ip6mr_new_table(net, v))
ret = -ENOMEM;
- raw6_sk(sk)->ip6mr_table = v;
+ else
+ raw6_sk(sk)->ip6mr_table = v;
rtnl_unlock();
return ret;
}
--
2.17.1
^ permalink raw reply related
* Re: [PATCH net-next 0/6] use pci_zalloc_consistent
From: David Miller @ 2018-06-05 13:00 UTC (permalink / raw)
To: hch
Cc: andy.shevchenko, yuehaibing, netdev, linux-kernel, jcliburn,
chris.snook, benve, jdmason, chessman, jes, rahul.verma
In-Reply-To: <20180605124929.GA13305@lst.de>
From: Christoph Hellwig <hch@lst.de>
Date: Tue, 5 Jun 2018 14:49:29 +0200
> On Tue, Jun 05, 2018 at 03:39:16PM +0300, Andy Shevchenko wrote:
>> On Tue, Jun 5, 2018 at 3:28 PM, YueHaibing <yuehaibing@huawei.com> wrote:
>> >
>>
>> Hmm... Is PCI case anyhow special or it's a simple wrapper on top of
>> dma.*alloc() ?
>
> All drivers should move from pci_dma* to dma_* eventually. Converting
> from one flavor of deprecated to another is completely pointless.
Agreed.
^ permalink raw reply
* Re: [PATCH] net-tcp: remove useless tw_timeout field
From: Eric Dumazet @ 2018-06-05 12:59 UTC (permalink / raw)
To: Maciej Żenczykowski, Maciej Żenczykowski,
David S . Miller, Eric Dumazet
Cc: netdev
In-Reply-To: <20180605100723.164396-1-zenczykowski@gmail.com>
On 06/05/2018 03:07 AM, Maciej Żenczykowski wrote:
> From: Maciej Żenczykowski <maze@google.com>
>
> Tested: 'git grep tw_timeout' comes up empty and it builds :-)
>
> Signed-off-by: Maciej Żenczykowski <maze@google.com>
> Cc: Eric Dumazet <edumazet@google.com>
This field became no longer needed when tcp_tw_recycle was removed in linux-4.12
Signed-off-by: Eric Dumazet <edumazet@google.com>
Thanks Maciej
^ permalink raw reply
* Re: [PATCH net-next 0/2] net: phy: improve PM handling of PHY/MDIO
From: David Miller @ 2018-06-05 12:50 UTC (permalink / raw)
To: hkallweit1; +Cc: andrew, f.fainelli, netdev
In-Reply-To: <b8f7b42e-791a-5997-d5eb-16f649738421@gmail.com>
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sat, 2 Jun 2018 22:33:36 +0200
> Current implementation of MDIO bus PM ops doesn't actually implement
> bus-specific PM ops but just calls PM ops defined on a device level
> what doesn't seem to be fully in line with the core PM model.
>
> When looking e.g. at __device_suspend() the PM core looks for PM ops
> of a device in a specific order:
> 1. device PM domain
> 2. device type
> 3. device class
> 4. device bus
>
> I think it has good reason that there's no PM ops on device level.
> The situation can be improved by modeling PHY's as device type of
> a MDIO device. If for some other type of MDIO device PM ops are
> needed, it could be modeled as struct device_type as well.
Series applied, thanks.
^ permalink raw reply
* Re: [PATCH net-next 0/6] use pci_zalloc_consistent
From: Christoph Hellwig @ 2018-06-05 12:49 UTC (permalink / raw)
To: Andy Shevchenko
Cc: YueHaibing, Christoph Hellwig, David S. Miller, netdev,
Linux Kernel Mailing List, jcliburn, chris.snook, benve,
Jon Mason, chessman, jes, rahul.verma
In-Reply-To: <CAHp75VcWqO8hzbprP1FZJFmpu18iFXxHsu9uXw8RGngRf2jJhw@mail.gmail.com>
On Tue, Jun 05, 2018 at 03:39:16PM +0300, Andy Shevchenko wrote:
> On Tue, Jun 5, 2018 at 3:28 PM, YueHaibing <yuehaibing@huawei.com> wrote:
> >
>
> Hmm... Is PCI case anyhow special or it's a simple wrapper on top of
> dma.*alloc() ?
All drivers should move from pci_dma* to dma_* eventually. Converting
from one flavor of deprecated to another is completely pointless.
^ permalink raw reply
* Re: [PATCH net-next 0/6] use pci_zalloc_consistent
From: Andy Shevchenko @ 2018-06-05 12:46 UTC (permalink / raw)
To: Christoph Hellwig
Cc: YueHaibing, David S. Miller, netdev, Linux Kernel Mailing List,
jcliburn, chris.snook, benve, Jon Mason, chessman, jes,
rahul.verma
In-Reply-To: <20180605124929.GA13305@lst.de>
On Tue, Jun 5, 2018 at 3:49 PM, Christoph Hellwig <hch@lst.de> wrote:
> On Tue, Jun 05, 2018 at 03:39:16PM +0300, Andy Shevchenko wrote:
>> On Tue, Jun 5, 2018 at 3:28 PM, YueHaibing <yuehaibing@huawei.com> wrote:
>> >
>>
>> Hmm... Is PCI case anyhow special or it's a simple wrapper on top of
>> dma.*alloc() ?
>
> All drivers should move from pci_dma* to dma_* eventually. Converting
> from one flavor of deprecated to another is completely pointless.
Exactly my impression. Thanks, Christoph for clarification.
YueHaibing, care to follow what Christoph said and change your series
accordingly?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH bpf-next 10/11] i40e: implement AF_XDP zero-copy support for Tx
From: Jesper Dangaard Brouer @ 2018-06-05 12:43 UTC (permalink / raw)
To: Björn Töpel
Cc: magnus.karlsson, magnus.karlsson, alexander.h.duyck,
alexander.duyck, ast, daniel, netdev, mykyta.iziumtsev,
john.fastabend, willemdebruijn.kernel, mst, michael.lundkvist,
jesse.brandeburg, anjali.singhai, qi.z.zhang, francois.ozog,
ilias.apalodimas, brian.brooks, andy, michael.chan,
intel-wired-lan, brouer
In-Reply-To: <20180604120601.18123-11-bjorn.topel@gmail.com>
On Mon, 4 Jun 2018 14:06:00 +0200
Björn Töpel <bjorn.topel@gmail.com> wrote:
> Here, ndo_xsk_async_xmit is implemented. As a shortcut, the existing
> XDP Tx rings are used for zero-copy. This will result in other devices
> doing XDP_REDIRECT to an AF_XDP enabled queue will have its packets
> dropped.
This behavior is problematic, because XDP Tx rings are smp_processor_id
based, and several RX queues can (via proc smp_affinity settings) be
assigned to the same CPU. Thus, other RX-queues (than the AF_XDP
enabled queue) can experience packet drops. And other devices doing
redirect through i40e, which happen to run on a CPU which XDP Tx queue
is "hijacked" will see dropped packets.
Any plans to allocate/create a dedicated TX ring per AF_XDP socket?
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
^ permalink raw reply
* Re: ANNOUNCE: Enhanced IP v1.4
From: Willy Tarreau @ 2018-06-05 12:41 UTC (permalink / raw)
To: Bjørn Mork
Cc: Eric Dumazet, Tom Herbert, Sam Patton,
Linux Kernel Network Developers
In-Reply-To: <87y3ft9zwg.fsf@miraculix.mork.no>
On Tue, Jun 05, 2018 at 02:33:03PM +0200, Bjørn Mork wrote:
> > I do have IPv6 at home (a /48, waste of addressing space, I'd be fine
> > with less),
>
> Any reason you would want less? Any reason the ISP should give you
> less?
What I mean is that *if* the availability of /48 networks was an issue
for some ISPs, I'd be fine with less because I don't plan to deploy 64k
networks at home, though I already have ~9 around the firewall and don't
expect to go much further.
> > Maybe setting up a public list of ISPs where users don't have at least
> > a /60 by default could help, but I suspect that most of them will
> > consider that as long as their competitors are on the list there's no
> > emergency.
>
> Exactly. And the number of users using the list as the primary
> parameter for selecting an ISP would be close to 0. The critical part
> is not the list, but making large enough groups of users consider IPv6
> an important parameter when selecting ISPs.
In fact the IoT trend could play a role here by letting users know that
they can remotely access their fridge and whatever stupid device they've
deployed. But the reality is the opposite : some gateway services are/will
be offered at a paid price to make these devices remotely accessible, and
the claimed security provided by this gateway will be presented as a real
benefit compared to the risks of anyone directly accessing your private
life over IPv6. So I'm not getting much hopes for the future in this area
either.
Willy
^ permalink raw reply
* Re: [PATCH net-next 0/6] use pci_zalloc_consistent
From: Andy Shevchenko @ 2018-06-05 12:39 UTC (permalink / raw)
To: YueHaibing, Christoph Hellwig
Cc: David S. Miller, netdev, Linux Kernel Mailing List, jcliburn,
chris.snook, benve, Jon Mason, chessman, jes, rahul.verma
In-Reply-To: <20180605122851.23912-1-yuehaibing@huawei.com>
On Tue, Jun 5, 2018 at 3:28 PM, YueHaibing <yuehaibing@huawei.com> wrote:
>
Hmm... Is PCI case anyhow special or it's a simple wrapper on top of
dma.*alloc() ?
> YueHaibing (6):
> net: hippi: use pci_zalloc_consistent
> net: atheros: use pci_zalloc_consistent
> net: neterion: use pci_zalloc_consistent
> netxen_nic: use pci_zalloc_consistent
> net: tlan: use pci_zalloc_consistent
> enic: use pci_zalloc_consistent
>
> drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 +-
> drivers/net/ethernet/atheros/atlx/atl1.c | 8 +++----
> drivers/net/ethernet/atheros/atlx/atl2.c | 5 ++--
> drivers/net/ethernet/cisco/enic/vnic_dev.c | 3 +--
> drivers/net/ethernet/neterion/s2io.c | 10 ++++----
> .../net/ethernet/qlogic/netxen/netxen_nic_ctx.c | 26 ++++++++------------
> drivers/net/ethernet/ti/tlan.c | 7 +++---
> drivers/net/hippi/rrunner.c | 28 +++++++++-------------
> 8 files changed, 35 insertions(+), 54 deletions(-)
>
> --
> 2.7.0
>
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [bpf-next PATCH 0/5] net/xdp: remove net_device operation ndo_xdp_flush
From: Daniel Borkmann @ 2018-06-05 12:38 UTC (permalink / raw)
To: Jesper Dangaard Brouer, netdev, Daniel Borkmann,
Alexei Starovoitov
Cc: liu.song.a23, songliubraving, John Fastabend
In-Reply-To: <152819969561.7083.15427306662397720502.stgit@firesoul>
On 06/05/2018 01:55 PM, Jesper Dangaard Brouer wrote:
> This patchset removes the net_device operation ndo_xdp_flush() call.
> This is a follow merge commit ea9916ea3ed9 ("Merge branch
> 'ndo_xdp_xmit-cleanup'"). As after commit c1ece6b245bd ("bpf/xdp:
> devmap can avoid calling ndo_xdp_flush") no callers of ndo_xdp_flush
> are left in bpf-next tree.
Looks good, applied to bpf-next, thanks Jesper!
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox