Hi David, Mateusz,
Kernel commit 153380ec4b9b ("fib_rules: Added NLM_F_EXCL support to
fib_nl_newrule") added a check and return -EEXIST if the rule is already
exist. With it the ip rule works as expected now.
But without NLM_F_EXCL people still could add duplicate rules. the result
looks like:
Ensure that the unique timestamp identifier is incremented for skb hardware
timestamps, not just software timestamps.
Signed-off-by: Stephen Mallon
---
net/ipv4/ip_output.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index c8018
On 4/27/19 5:56 PM, Eric Dumazet wrote:
> David
>
> I am staring at ip6_dst_destroy() and the last part makes really no sense to
> me.
>
> How rcu_read_lock()/rcu_read_unnlock() can help in a writer side ???
>
> Changlog of a68886a691804d3f6d479ebf6825480fbafb6a00 ("net/ipv6: Make from in
> rt
On 2019/4/26 下午7:05, Jesper Dangaard Brouer wrote:
On Fri, 26 Apr 2019 16:00:28 +0800
Jason Wang wrote:
On 2019/4/26 上午1:41, Jesper Dangaard Brouer wrote:
It does sound like my commit 5d053f9da431 ("bpf: devmap prepare xdp
frames for bulking") introduced this issue. I guess we can add the
From: David Ahern
While the cached routes, nh_pcpu_rth_output and nh_rth_input, are IPv4
specific, a later patch wants to make them accessible for IPv6 nexthops
with IPv4 routes using a fib6_nh. Move the cached routes from fib_nh to
fib_nh_common and update references.
Initialization of the cach
From: David Ahern
This series moves IPv4 pcpu cached routes from fib_nh to fib_nh_common
to make the caches avaialable for IPv6 nexthops (fib6_nh) with IPv4
routes. This allows a fib6_nh struct to be used with both IPv4 and
and IPv6 routes.
In addition pcpu caches and exception entries for IPv6
From: David Ahern
Now that the cached routes are in fib_nh_common, pass it to
rt_cache_route and simplify its callers. For rt_set_nexthop,
the tclassid becomes the last user of fib_nh so move the
container of under the #ifdef CONFIG_IP_ROUTE_CLASSID.
Signed-off-by: David Ahern
---
net/ipv4/rou
From: David Ahern
Before moving exception bucket from fib6_info to fib6_nh, refactor
rt6_flush_exceptions, rt6_remove_exception_rt, rt6_mtu_change_route,
and rt6_update_exception_stamp_rt. In all 3 cases, move the primary
logic into a new helper that starts with fib6_nh_. The latter 3
functions s
From: David Ahern
Move the existing pcpu walk in fib6_drop_pcpu_from to a new
helper, __fib6_drop_pcpu_from, that can be invoked per fib6_nh
with a reference to the from entries that need to be evicted. If
the passed in from is non-NULL then only entries associated with
that fib6_info are removed
From: David Ahern
Similar to the pcpu routes exceptions are really per nexthop, so move
rt6i_exception_bucket from fib6_info to fib6_nh.
To avoid additional increases to the size of fib6_nh for a 1-bit flag,
use the lowest bit in the allocated memory pointer for the flushed flag.
Add helpers for
From: David Ahern
Similar to the cached routes, make IPv4 exceptions accessible when
using an IPv6 nexthop struct with IPv4 routes. Simplify the exception
functions by passing in fib_nh_common since that is all it needs,
and then cleanup the call sites that have extraneous fib_nh conversions.
As
From: David Ahern
rt6_info are specific instances of a fib entry and are tied to a
device and gateway - ie., a nexthop. Before nexthop objects, IPv6 fib
entries have separate fib6_info for each nexthop in a multipath route,
so the location of the pcpu cache in the fib6_info struct worked.
However
From: Vishal Kulkarni
Date: Fri, 26 Apr 2019 13:58:48 +0530
> During driver unload, hash/TCAM filter deletion doesn't wait for
> completion.This patch deletes all the filters with completion before
> clearing the resources.
>
> Signed-off-by: Vishal Kulkarni
Applied, thanks.
From: Andrew Lunn
Date: Sat, 27 Apr 2019 19:19:10 +0200
> Remove the legacy method of probing the mv88e6xxx driver, now that all
> the mainline boards have been converted to use mdio based probing for
> a number of cycles.
>
> Signed-off-by: Andrew Lunn
Applied... to net-next :-)
Thanks.
From: Arnd Bergmann
Date: Fri, 26 Apr 2019 21:58:45 +0200
> isdn4linux is getting removed, and the gigaset driver can still
> use the CAPI support, so this can all go away.
>
> Signed-off-by: Arnd Bergmann
Arnd, I have no idea what I'm doing wrong, but the same thing is happening
as with v1 an
From: Andrew Lunn
Date: Sat, 27 Apr 2019 19:32:55 +0200
> This patchset performs some cleanups of the mv88e6060 DSA driver, as a
> step towards making it an MDIO device, rather than use the old probing
> method. The changes here are all pretty mechanical and only compile
> tested.
Series applied
Now that the driver can be probed as an mdio device, remove the legacy
DSA platform device probing.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/Kconfig | 2 +-
drivers/net/dsa/mv88e6060.c | 40 +
2 files changed, 2 insertions(+), 40 deletions(-)
diff
Now that the code to support the legacy binding has been removed,
remove the documentation for it.
Signed-off-by: Andrew Lunn
---
.../devicetree/bindings/net/dsa/dsa.txt | 155 --
1 file changed, 155 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.t
Now that all drivers can be probed using more traditional methods,
remove the legacy probe code.
Signed-off-by: Andrew Lunn
---
include/net/dsa.h | 23 --
net/dsa/Kconfig| 9 -
net/dsa/Makefile | 1 -
net/dsa/dsa.c | 5 -
net/dsa/dsa_priv.h | 12 -
net/dsa/legacy.c | 745 --
Probing DSA devices as platform devices has been superseded by using
normal bus drivers. Add support for probing the mv88e6060 device as an
mdio device.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6060.c | 59 -
1 file changed, 58 insertions(+), 1 dele
This patchset builds upon the previous patches to mv88e6060. It adds
support for probing the switch as an MDIO device and then removes the
legacy probe method. Since this is the last device supporting legacy
probe, this allows legacy probe to be removed, originally planned to
be removed in 4.17, bu
Hi Peter,
The TAHI test has completed its run on this patch for the 4.14 kernel.
The results are mixed. First let me review your 4.19 patch for clarification.
The patch you did for 4.19 fixed two issues intentionally, and fixed
one more unintentionally.
The rbtrees and the IP6 header fragments sm
From: Murilo Fossa Vicentini
Date: Thu, 25 Apr 2019 11:02:33 -0300
> The ibmvnic driver currently uses the same fixed name when using
> request_irq, this makes it hard to parse when multiple VNIC devices are
> available at the same time. This patch adds the unit_address as the device
> identifica
From: Jakub Kicinski
Date: Thu, 25 Apr 2019 17:35:08 -0700
> This series fixes the tls_device_reencrypt() which is broken
> if record starts in the frags of the message skb.
Series applied and queued up for -stable.
Thanks.
David
I am staring at ip6_dst_destroy() and the last part makes really no sense to me.
How rcu_read_lock()/rcu_read_unnlock() can help in a writer side ???
Changlog of a68886a691804d3f6d479ebf6825480fbafb6a00 ("net/ipv6: Make from in
rt6_info rcu protected")
does not make sense either.
Th
syzbot was able to catch a use-after-free read in pid_nr_ns() [1]
ip6fl_seq_show() seems to use RCU protection, dereferencing fl->owner.pid
but fl_free() releases fl->owner.pid before rcu grace period is started.
[1]
BUG: KASAN: use-after-free in pid_nr_ns+0x128/0x140 kernel/pid.c:407
Read of si
User space can flip the clean_acked_data_enabled static branch
on and off with TLS offload when CONFIG_TLS_DEVICE is enabled.
jump_label.h suggests we use the delayed version in this case.
Deferred branches now also don't take the branch mutex on
decrement, so we avoid potential locking issues.
S
From: David Ahern
Date: Fri, 26 Apr 2019 20:28:20 -0600
> On 4/26/19 6:07 AM, Johannes Berg wrote:
>> Here's a respin, with the following changes:
>> * change message when rejecting unknown attribute types (David Ahern)
>> * drop nl80211 patch - I'll apply it separately
>> * remove NL_VALIDATE
From: Michael Chan
Date: Thu, 25 Apr 2019 22:31:49 -0400
> 6 miscellaneous bug fixes covering several issues in error code paths,
> a setup issue for statistics DMA, and an improvement for setting up
> multicast address filters.
>
> Please queue these for stable as well.
> Patch #5 (bnxt_en: Fix
On 4/27/2019 1:17 PM, Andrew Lunn wrote:
> On Sat, Apr 27, 2019 at 12:32:28PM -0700, Randy Dunlap wrote:
>> Hi Andrew,
>>
>> There is one typo below:
>>
>> On 4/27/19 10:00 AM, Andrew Lunn wrote:
>>
>>> config NET_DSA_TAG_TRAILER
>>> - bool
>>> -
>>> -config NET_DSA_TAG_QCA
>>> - bool
>>> +
From: Jakub Kicinski
Date: Thu, 25 Apr 2019 12:32:00 -0700
> Other than avoiding unnecessary error messages - no functional
> changes here.
>
> v2 (Saeed):
> - fix up Review tags;
> - remove the warning on failure completely.
Series applied, thanks Jakub.
Zdravstvuyte! Vas interesuyut kliyentskiye bazy dannykh?
On Sat, Apr 27, 2019 at 12:32:28PM -0700, Randy Dunlap wrote:
> Hi Andrew,
>
> There is one typo below:
>
> On 4/27/19 10:00 AM, Andrew Lunn wrote:
>
> > config NET_DSA_TAG_TRAILER
> > - bool
> > -
> > -config NET_DSA_TAG_QCA
> > - bool
> > + tristate "Tag driver for switches using a trai
Hi Andrew,
There is one typo below:
On 4/27/19 10:00 AM, Andrew Lunn wrote:
> config NET_DSA_TAG_TRAILER
> - bool
> -
> -config NET_DSA_TAG_QCA
> - bool
> + tristate "Tag driver for switches using a trailler tag"
trailer
> + he
On 4/27/2019 10:19 AM, Andrew Lunn wrote:
> Remove the legacy method of probing the mv88e6xxx driver, now that all
> the mainline boards have been converted to use mdio based probing for
> a number of cycles.
>
> Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
--
Florian
On 4/27/2019 10:32 AM, Andrew Lunn wrote:
> The REG_READ macro contains a return statement, making it not very
> safe. Remove it by inlining the code.
>
> Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
--
Florian
On 4/27/2019 10:32 AM, Andrew Lunn wrote:
> The REG_WRITE macro contains a return statement, making it not very
> safe. Remove it by inlining the code.
>
> Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
--
Florian
On 4/27/2019 10:32 AM, Andrew Lunn wrote:
> Pass around priv, not ds. This will help with changing to an mdio
> driver, and makes this driver more like mv88e6xxx.
>
> Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
--
Florian
On 4/27/2019 10:32 AM, Andrew Lunn wrote:
> Add an SPDX header, and remove the license text.
>
> Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
--
Florian
Add an SPDX header, and remove the license text.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6060.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/dsa/mv88e6060.c b/drivers/net/dsa/mv88e6060.c
index 0b3e51f248c2..ed5a8b9dde96 100644
--- a/drivers/net
Pass around priv, not ds. This will help with changing to an mdio
driver, and makes this driver more like mv88e6xxx.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6060.c | 43 +++--
drivers/net/dsa/mv88e6060.h | 1 +
2 files changed, 23 insertions(+), 21 de
The REG_WRITE macro contains a return statement, making it not very
safe. Remove it by inlining the code.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6060.c | 73 +
1 file changed, 41 insertions(+), 32 deletions(-)
diff --git a/drivers/net/dsa/mv88e60
This patchset performs some cleanups of the mv88e6060 DSA driver, as a
step towards making it an MDIO device, rather than use the old probing
method. The changes here are all pretty mechanical and only compile
tested.
Andrew Lunn (4):
net: dsa: mv88e6060: Add SPDX header
net: dsa: mv88e6060: R
The REG_READ macro contains a return statement, making it not very
safe. Remove it by inlining the code.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6060.c | 20 +++-
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/drivers/net/dsa/mv88e6060.c b/drivers/net/
On Sat, Apr 27, 2019 at 07:19:10PM +0200, Andrew Lunn wrote:
> Remove the legacy method of probing the mv88e6xxx driver, now that all
> the mainline boards have been converted to use mdio based probing for
> a number of cycles.
Upps. Forgot to put net-next into the subject line.
Sorry,
A
On 4/27/19 7:14 AM, Stephen Suryaputra wrote:
> When there is no route to an IPv6 dest addr, skb_dst(skb) points
> to loopback dev in the case of that the IP6CB(skb)->iif is
> enslaved to a vrf. This causes Ip6InNoRoutes to be incremented on the
> loopback dev. This also causes the lookup to fail o
Remove the legacy method of probing the mv88e6xxx driver, now that all
the mainline boards have been converted to use mdio based probing for
a number of cycles.
Signed-off-by: Andrew Lunn
---
drivers/net/dsa/mv88e6xxx/chip.c | 71 +---
1 file changed, 1 insertion(+),
Rather than keep a list to map a tagger ops to a name, place the name
into the ops structure. This removes the hard coded list, a step
towards making the taggers more dynamic.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
v2:
Move name to end of structure, keeping the hot entries at
When the tag drivers become modules, we will need to dynamically load
them based on what the switch drivers need. Add aliases to map between
the TAG protocol and the driver.
In order to do this, we need the tag protocol number as something
which the C pre-processor can stringinfy. Only the compile
On 4/26/19 7:43 AM, Tetsuo Handa wrote:
> This bug is the top crasher for syzbot and thus we want to fix. I need your
> response regarding commit caacf05e5ad1abf0 ("ipv4: Properly purge netdev
> references on uncached routes.") why you chose "a loopback device in that
> namespace".
>
> On 2019/04/
Now that tag drivers dynamically register, we don't need the static
table. Remove it. This also means the tag driver structures can be
made static.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
---
include/net/dsa.h | 1 -
net/dsa/dsa.c | 35 -
A DSA tag driver module will need to register the tag protocols it
implements with the DSA core. Add macros containing this boiler plate.
The registration/unregistration code is currently just a stub. A Later
patch will add the real implementation.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian
When a DSA switch driver is unloaded, the lock on the tag driver
should be released so the module can be unloaded. Add the needed calls,
but leave the actual release code as a stub.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
v2
--
Fix fall-through comment
---
net/dsa/dsa.c |
Make the CONFIG symbols tristate and add help text.
The broadcom and Microchip KSZ tag drivers support two different
tagging protocols in one driver. Add a configuration option for the
drivers, and then options to select the protocol.
Create a submenu for the tagging drivers.
Signed-off-by: Andr
In order that we can match the tagging protocol a switch driver
request to the tagger, we need to know what protocol the tagger
supports. Add this information to the ops structure.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
v2
More tag protocol to end of structure to keep hot memb
Let the tag drivers register themselves with the DSA core, keeping
them in a linked list.
Signed-off-by: Andrew Lunn
v2
--
List pointer has been moved
void functions, since there cannot be errors
---
net/dsa/dsa.c | 28
1 file changed, 28 insertions(+)
diff --git a
It is possible that the driver is compiled with both
CONFIG_NET_DSA_TAG_BRCM and CONFIG_NET_DSA_TAG_BRCM_PREPEND disabled.
This results in warnings about unused symbols. Add some conditional
compilation to avoid this.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
v2
Reorder patch to
dsa_resolve_tag_protocol() is used to find the tagging driver needed
by a switch driver. When the tagging drivers become modules, it will
be necassary to take a reference on the module to prevent it being
unloaded. So rename this function to _get() to indicate it has some
locking properties.
Signe
Implement the _get and _put functions to make use of the list of tag
drivers. Also, trigger the loading of the module, based on the alias
information. The _get function takes a reference on the tag driver, so
it cannot be unloaded, and the _put function releases the reference.
Signed-off-by: Andre
The none tagger is special in that it does not live in a tag_*.c file,
but is within the core. Register/unregister when DSA is
loaded/unloaded.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
---
net/dsa/dsa.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/net/dsa/dsa.c b/n
All the tag drivers are some variant of GPL. Add a MODULE_LICENSE()
indicating this, so the drivers can later be compiled as modules.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
---
net/dsa/tag_brcm.c| 1 +
net/dsa/tag_dsa.c | 1 +
net/dsa/tag_edsa.c| 1 +
net/dsa/tag_g
Add an SPDX header, and remove the license boilerplate text.
Signed-off-by: Andrew Lunn
Reviewed-by: Florian Fainelli
---
net/dsa/tag_brcm.c| 6 +-
net/dsa/tag_dsa.c | 6 +-
net/dsa/tag_edsa.c| 6 +-
net/dsa/tag_ksz.c | 6 +-
net/dsa/tag_lan9303.c | 11 +-
istorically, DSA tag drivers have been compiled into the kernel as
part of the DSA core. With the growing number of tag drivers, it makes
sense to allow this driver code to be compiled as a module, and loaded
on demand.
Tested-by: Vivien Didelot
v2
--
Move name to end of structure, keeping the h
On Sat, Apr 27, 2019 at 9:01 AM Yonghong Song wrote:
>
>
>
> On 4/26/19 4:39 PM, Martin KaFai Lau wrote:
> > v4:
> > - Move checks to map_alloc_check in patch 1 (Stanislav Fomichev)
> > - Refactor BTF encoding macros to test_btf.h at
> >a new patch 4 (Stanislav Fomichev)
> > - Refactor getenv
On 4/26/19 4:39 PM, Martin KaFai Lau wrote:
> v4:
> - Move checks to map_alloc_check in patch 1 (Stanislav Fomichev)
> - Refactor BTF encoding macros to test_btf.h at
>a new patch 4 (Stanislav Fomichev)
> - Refactor getenv and add print PASS message at the
>end of the test in patch 6 (Yon
On Sat, Apr 27, 2019 at 06:28:12AM +, Igor Russkikh wrote:
>
>
> On 27.04.2019 0:36, Andrew Lunn wrote:
> >> + self->curr_stats.dma_pkt_rc =
> >> hw_atl_stats_rx_dma_good_pkt_counterlsw_get(self) +
> >> +
> >> ((u64)hw_atl_stats_rx_dma_good_pkt_countermsw_get
When there is no route to an IPv6 dest addr, skb_dst(skb) points
to loopback dev in the case of that the IP6CB(skb)->iif is
enslaved to a vrf. This causes Ip6InNoRoutes to be incremented on the
loopback dev. This also causes the lookup to fail on icmpv6_send() and
the dest unreachable to not sent a
Hi Stephen,
"man ip-link" mentions for ageing_time, forward_delay, hello_time and so
on, that they specify a number of seconds.
The bridge core takes the value from userspace unfiltered and passes it
through the clock_t_to_jiffies function. This begs the questions "what
is clock_t measured i
--
I am Ms.Ella Golan, I am the Executive Vice President Banking Division with
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI). I am getting in touch with you
regarding an extremely important and urgent matter. If you would oblige me the
opportunity, I shall provide you with details upon your
On Fri, Apr 26, 2019 at 09:22:20PM +0200, Johannes Berg wrote:
> On Fri, 2019-04-26 at 20:21 +0200, Pablo Neira Ayuso wrote:
> > On Fri, Apr 26, 2019 at 02:13:06PM +0200, Johannes Berg wrote:
> > > diff --git a/include/uapi/linux/genetlink.h
> > > b/include/uapi/linux/genetlink.h
> > > index 877f7
On Fri, Apr 26, 2019 at 02:13:46PM +0200, Johannes Berg wrote:
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 4fc7c122e916..09a17b30ba73 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -219,6 +219,8 @@ static int validate_ie_attr(const struct nlattr
Hi David,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url:
https://github.com/0day-ci/linux/commits/David-Ahern/ipv4-ipv6-Move-location-of-pcpu-route-cache-and-exceptions/20190427-143626
config: i386-randconfig-x077-201916 (attached as .config
72 matches
Mail list logo