FYI, this userspace visible change in behaviour breaks Android.
We rely on being able to add a rule and either have a dup be created
(in which case we'll remove it later) or have it fail with EEXIST (in
which case we won't remove it later).
Returning 0 makes atomically changing a rule difficult.
(side note: change was reverted in net stable)
On Wed, Jun 5, 2019 at 8:33 AM David Ahern wrote:
> On 6/4/19 10:58 PM, Lorenzo Colitti wrote:
> > As for making this change in 5.3: we might be able to structure the
> > code differently in a future Android release, assuming the same
> > userspace c
From: Maciej Żenczykowski
This is trivial since we already have support for the entirely
identical (from the kernel's point of view) RDNSS and DNSSL that
also contain opaque data that needs to be passed down to userspace.
As specified in RFC7710, Captive Portal option contains a URL.
> Applied to net-next
Any chance we could get this into LTS releases?
I can trivially backport this into Android common kernels - which
would get this into the kernel in time for devices that launch with
Android R, but by getting it into LTS we'd get this support even on
devices that upgrade to A
From: Maciej Żenczykowski
The code is relying on the identical layout of the beginning
of the v0 and v1 structs, but this can easily lead to code bugs
if one were to try to extend this further...
I use:
char (*plabel)[MAX_IDLETIMER_LABEL_SIZE]
instead of:
char label[MAX_IDLETIMER_LABEL_SIZE
From: Maciej Żenczykowski
(this is needed at least with bionic)
Signed-off-by: Maciej Żenczykowski
---
libxtables/xtables.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libxtables/xtables.c b/libxtables/xtables.c
index bc42ba82..77bc18f6 100644
--- a/libxtables/xtables.c
+++ b
> > The code is relying on the identical layout of the beginning
> > of the v0 and v1 structs, but this can easily lead to code bugs
> > if one were to try to extend this further...
>
> What is the concern? These structs are part of ABI, they
> cannot be changed.
That is a reasonable point, but t
From: Maciej Żenczykowski
Found by virtue of ipv6 raw sockets not honouring the per-socket
IP{,V6}_FREEBIND setting.
Based on hits found via:
git grep '[.]ip_nonlocal_bind'
We fix both raw ipv6 sockets to honour IP{,V6}_FREEBIND and IP{,V6}_TRANSPARENT,
and we fix sctp sockets to
From: Maciej Żenczykowski
Test: builds
Signed-off-by: Maciej Żenczykowski
---
drivers/net/tun.c | 6 +++---
include/linux/if_tun.h | 8
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 3c11a77f5709..5dd7f353eeef 100644
From: Maciej Żenczykowski
This reduces likelihood of incorrect use.
Test: builds
Signed-off-by: Maciej Żenczykowski
---
drivers/net/tun.c | 6 +++---
include/linux/if_tun.h | 8
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
From: Maciej Żenczykowski
This provides a minor performance boost by virtue of inlining
instead of cross module function calls.
Test: builds
Signed-off-by: Maciej Żenczykowski
---
drivers/net/tun.c | 18 --
include/linux/if_tun.h | 15 ---
2 files changed, 12
From: Maciej Żenczykowski
This reduces likelihood of incorrect use.
Test: builds
Signed-off-by: Maciej Żenczykowski
---
drivers/net/veth.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index e56cd562a664..b80cbffeb88e 100644
From: Maciej Żenczykowski
There is a subtle change in behaviour introduced by:
commit c7a1ce397adacaf5d4bb2eab0a738b5f80dc3e43
'ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create'
Before that patch /proc/net/ipv6_route includes:
0
Some background:
This was found due to bad interactions with one of the few remaining
Android common kernel networking patches.
(The one that makes it possible for RA's to create routes in interface
specific tables)
The cleanup portion of it scours all tables and deletes all relevant
ADDRCONF rou
From: Maciej Żenczykowski
There is a subtle change in behaviour introduced by:
commit c7a1ce397adacaf5d4bb2eab0a738b5f80dc3e43
'ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create'
Before that patch /proc/net/ipv6_route includes:
0
Well, if you look at the commit my commit is fixing, ie.
commit c7a1ce397adacaf5d4bb2eab0a738b5f80dc3e43
then you'll see this in the commit description:
"- dst_nocount is handled by the RTF_ADDRCONF flag"
and the patch diff itself is from
"f6i->fib6_flags = RTF_UP | RTF_NONEXTHOP;
f6i->dst
Signed-off-by: Maciej Żenczykowski
It certainly seems like this should do the trick, but I do agree some
sort of tests would be nice.
sockets.
This is envisioned as a way to get GUE extension metadata for encapsulated
packets, but implemented in a way to be much more future proof.
(Implemented by Luigi, who asked me to send it upstream)
Cc: Eric Dumazet
Signed-off-by: Luigi Rizzo
Signed-off-by: Maciej Żenczykowski
Conceptually this is right.
And I'm 100% fine with dev mtu change triggering pmtu decrease.
I'm not so sold on the pmtu increase.
PMTUD is one of those things that never ever works right in practice.
There's too many icmp blackholes, rate limits, overloaded management
cpus in switches,
misconfig
From: Maciej Żenczykowski
This function is unused, and furthermore it is buggy since it suffers
from the same issue that requires IP6_ECN_set_ce() to take a pointer
to the skb so that it may (in case of CHECKSUM_COMPLETE) update skb->csum
Instead of fixing it, let's just outright r
From: Maciej Żenczykowski
So far we've been relying on sockopt(SOL_IP, IP_FREEBIND) being usable
even on IPv6 sockets.
However, it turns out it is perfectly reasonable to want to set freebind
on an AF_INET6 SOCK_RAW socket - but there is no way to set any SOL_IP
socket option on such a s
From: Maciej Żenczykowski
This changes the /proc/sys/net/ipv4/tcp_tw_reuse from a boolean
to an integer.
It now takes the values 0, 1 and 2, where 0 and 1 behave as before,
while 2 enables timewait socket reuse only for sockets that we can
prove are loopback connections:
ie. bound to
From: Maciej Żenczykowski
It is not safe to do so because such sockets are already in the
hash tables and changing these options can result in invalidating
the tb->fastreuse(port) caching.
This can have later far reaching consequences wrt. bind conflict checks
which rely on these caches (
From: Maciej Żenczykowski
Tested: 'git grep tw_timeout' comes up empty and it builds :-)
Signed-off-by: Maciej Żenczykowski
Cc: Eric Dumazet
---
include/net/inet_timewait_sock.h | 1 -
net/dccp/minisocks.c | 1 -
net/ipv4/tcp_minisocks.c | 1 -
3 files
Yes, it does, we found this internally last night and been debating
what to do about it.
Fundamentally what it points out is that prior to this patch CRIU
could get the host into an inconsistent state.
It inserts all the sockets into the hashtables with SO_REUSEADDR set,
and then (potentially) cle
I think we probably need to make sk->sk_reuse back into a boolean.
(ie. eliminate SK_FORCE_REUSE)
Then add a new tcp/udp sk->ignore_bind_conflicts boolean setting...
(ie. not just for tcp, but sol_socket) [or perhaps SO_REPAIR,
sk->repair or something]
What I'm not certain of is exactly what sor
> This change is a potential performance regression for us. Our
> networking code sets up multiple sockets used by multiple threads to
> listen on the same udp port. For the first socket, the bind is done
> before setting SO_REUSEPORT so that we can get an error and detect
> that the port is curr
Any ideas about how to fix the core issue of tb->fast* being
effectively invalid?
ie. currently any reader of tb->fastreuse(port) which isn't simply
testing for it being >= 0 is basically a bug (-1 is the empty tb case,
so that AFAICT keeps on working).
For example sk_reuseport_match(tb, sk) can
> #define SK_NO_REUSE0
> #define SK_CAN_REUSE 1
since it's a boolean now these should go away too I believe.
should there simply/also be a separate privileged socket option to
set/get force reuse?
> Hi Andrey
>
> This commit was reverted, do we still need this patch ?
I think it still makes things easier to understand...
From: Maciej Żenczykowski
This reverts commit 114aa35d06d4920c537b72f9fa935de5dd205260.
By my understanding of kmemleak the reasoning for this patch
is incorrect. If kmemleak couldn't handle rcu we'd have it
reporting leaks all over the place. My belief is that this
was instead pap
From: Maciej Żenczykowski
Cc: Cong Wang
Cc: Eric Dumazet
Cc: Pablo Neira Ayuso
Signed-off-by: Maciej Żenczykowski
---
net/netfilter/nf_conntrack_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/nf_conntrack_core.c
b/net/netfilter
oc+rcu+kmemleak thing I'm missing.
On Mon, Oct 7, 2019 at 10:35 PM Maciej Żenczykowski
wrote:
>
> From: Maciej Żenczykowski
>
> This reverts commit 114aa35d06d4920c537b72f9fa935de5dd205260.
>
> By my understanding of kmemleak the reasoning for this patch
> is incor
95893>] init_conntrack+0x278/0x4a0
[<9e67654a>] nf_conntrack_in+0x2b4/0x7b4
[<ca4d0a3e>] ipv4_conntrack_local+0xa4/0xac
[<81d01fa2>] nf_hook_slow+0x4c/0xdc
[<97b73dfa>] __ip_local_out+0xfc/0x140
[<b21eaa8e>] i
Here's my reasoning:
old = ct->ext;
//... stuff that doesn't change old.
alloc = max(newlen, NF_CT_EXT_PREALLOC); <-- will be >= 128,
so not zero
kmemleak_not_leak(old);
new = __krealloc(old, alloc, gfp);
if (!new)
return NULL; <-
> The Fixes tag is missing. Calling sendmsg on a packet socket bound to
> ETH_P_ALL goes back a long way. It is a user, not kernel, bug to do
> so.
I would argue it's not a bug at all - at least not the way you phrased it.
AFAIK it can/could be done correctly via specifying the protocol in
the sl
You can merge them via:
git fetch https://github.com/zenczykowski/ethtool.git fix-warnings
git merge FETCH_HEAD
and I'll follow up this email with the full set.
From: Maciej Żenczykowski
This fixes:
external/ethtool/ethtool.c:5417:28: error: unused parameter 'argc'
[-Werror,-Wunused-parameter]
static int find_option(int argc, char **argp)
Signed-off-by: Maciej Żenczykowski
Change-Id: I7782cac5f58e217fc6032037a2f248b03573b9d4
---
eth
From: Maciej Żenczykowski
This fixes:
external/ethtool/sfc.c:3811:29: error: unused parameter 'revision'
[-Werror,-Wunused-parameter]
print_simple_table(unsigned revision, const struct efx_nic_reg_table *table,
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/ixgbevf.c:6:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
ixgbevf_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/ixgbe.c:171:41: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
ixgbe_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/marvell.c:127:22: error: arithmetic on a pointer to void is
a GNU extension [-Werror,-Wpointer-arith]
dump_timer("LED", p + 0x20);
(and remove some spare whitespace while we're at it)
Signed-off-by: Maciej Żenczyko
From: Maciej Żenczykowski
This fixes:
external/ethtool/fec_8xx.c:50:47: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int fec_8xx_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/dsa.c:677:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int dsa_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/lan78xx.c:5:47: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int lan78xx_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/natsemi.c:326:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
natsemi_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/realtek.c:244:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
realtek_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/ethtool.c:473:43: error: unused parameter 'ctx'
[-Werror,-Wunused-parameter]
static int do_version(struct cmd_context *ctx)
external/ethtool/ethtool.c:5392:43: error: unused parameter 'ctx'
[-Werror,-Wunused-par
From: Maciej Żenczykowski
This fixes:
external/ethtool/stmmac.c:21:49: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int st_mac100_dump_regs(struct ethtool_drvinfo *info,
external/ethtool/stmmac.c:54:47: error: unused parameter 'info'
[-Werror,-Wunu
From: Maciej Żenczykowski
This fixes:
external/ethtool/tg3.c:8:41: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
tg3_dump_eeprom(struct ethtool_drvinfo *info, struct ethtool_eeprom *ee)
external/ethtool/tg3.c:27:39: error: unused parameter 'info'
From: Maciej Żenczykowski
This fixes:
external/ethtool/et131x.c:5:46: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int et131x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/fjes.c:5:44: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int fjes_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/vmxnet3.c:6:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
vmxnet3_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/e1000.c:258:38: error: unused parameter 'revision_id'
[-Werror,-Wunused-parameter]
e1000_get_mac_type(u16 device_id, u8 revision_id)
Signed-off-by: Maciej Żenczykowski
Change-Id: I2469ef61996fd273cc3a2a6a7af0ae889c81b02b
--
From: Maciej Żenczykowski
This fixes:
external/ethtool/marvell.c:262:44: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int skge_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
external/ethtool/marvell.c:382:44: error: unused parameter '
From: Maciej Żenczykowski
This fixes:
external/ethtool/smsc911x.c:5:48: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int smsc911x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs
*regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/at76c50x-usb.c:16:48: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
at76c50x_usb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs
*regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/vioc.c:14:44: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/ixgb.c:42:40: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
ixgb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
Change-Id: I674e03805dc9a4633d0299d9f4e88b
From: Maciej Żenczykowski
This fixes:
external/ethtool/ibm_emac.c:317:48: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int ibm_emac_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs
*regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/amd8111e.c:155:48: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int amd8111e_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs
*regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/e1000.c:368:41: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
e1000_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/tse.c:28:50: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int altera_tse_dump_regs(struct ethtool_drvinfo *info,
Signed-off-by: Maciej Żenczykowski
Change-Id: I555f0e3c55bba999aeb64f1e1435744590ea389d
---
From: Maciej Żenczykowski
This fixes:
external/ethtool/e100.c:40:40: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
e100_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
Change-Id: Idc6e3bb3fb837555425ddd6cc903e8
From: Maciej Żenczykowski
This fixes:
external/ethtool/ethtool.c:1271:70: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
static int dump_eeprom(int geeprom_dump_raw, struct ethtool_drvinfo *info,
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/fec.c:197:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
int fec_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/natsemi.c:967:45: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
natsemi_dump_eeprom(struct ethtool_drvinfo *info, struct ethtool_eeprom *ee)
Signed-off-by: Maciej Żenczykowski
From: Maciej Żenczykowski
This fixes:
external/ethtool/sfc.c:3894:39: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
sfc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
Change-Id: Ia255a280742332c44b66bf8f5bb678
From: Maciej Żenczykowski
This fixes:
external/ethtool/de2104x.c:115:43: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
de21040_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
external/ethtool/de2104x.c:421:43: error: unused parameter '
From: Maciej Żenczykowski
This fixes:
external/ethtool/igb.c:92:39: error: unused parameter 'info'
[-Werror,-Wunused-parameter]
igb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
Signed-off-by: Maciej Żenczykowski
Change-Id: If2e175d1b1bd3976d760dc359b52c3
> So you conclude as it is not leak too? Then what are you trying to
> fix?
I conclude there is no easily *visible* leak.
At least not at first glance - not with single threaded code.
> I am becoming more confused after this. :-/
I think adding kmemleak_not_leak() is hiding the fact that there
a
> Considering how frequent this pattern (a callback where not all
> instances use all parameters) is, maybe we could consider disabling the
> warning with -Wno-unused-parameter instead of marking all places where
> it is issued.
Once you fix it... it stays fixed. There's no cost to carrying aroun
From: Maciej Żenczykowski
IPv6 is 20 years old and IPv4 has run out of IP addresses
and is deprecated.
It is time to make IPv6 a first class citizen.
As such we remove the ability to compile IPv6 as a module,
and IPv4 support now implies IPv6 support.
This has the nice benefit of allowing
From: Maciej Żenczykowski
Signed-off-by: Maciej Żenczykowski
---
arch/alpha/defconfig | 1 -
arch/arc/configs/axs101_defconfig | 1 -
arch/arc/configs/axs103_defconfig | 1 -
arch/arc/configs/axs103_smp_defconfig | 1
> Things are modular because we don't unilaterally make decisions for
> people on this level.
We do unilaterally make various decisions - some of them quite big in scope.
Although perhaps not this one.
> This is why I'm very much not too motivated to integrate changes like
> this, even though I u
From: Maciej Żenczykowski
This matches the new ipv4 behaviour as of commit:
commit 02a1b175b0e92d9e0fa5df3957ade8d733ceb6a0
Author: Maciej Żenczykowski
Date: Wed Sep 23 13:18:15 2020 -0700
net/ipv4: always honour route mtu during forwarding
The reasoning is similar: There doesn
From: Maciej Żenczykowski
This is basically just a refactor.
But it does affect (a presumably buggy) call site in:
net/netfilter/nf_flow_table_core.c
flow_offload_fill_route()
Signed-off-by: Maciej Żenczykowski
---
include/net/ip6_route.h | 4 ++--
net/ipv6/ip6_output.c | 2 --
2 files
> On Thu, Oct 8, 2020 at 12:31 PM Maciej Żenczykowski
> wrote:
> > diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
> > index 2a5277758379..598415743f46 100644
> > --- a/include/net/ip6_route.h
> > +++ b/include/net/ip6_route.h
> > @@ -
From: Maciej Żenczykowski
Documentation/networking/ip-sysctl.txt:46 says:
ip_forward_use_pmtu - BOOLEAN
By default we don't trust protocol path MTUs while forwarding
because they could be easily forged and can lead to unwanted
fragmentation by the router.
You only ne
From: Maciej Żenczykowski
Documentation/networking/ip-sysctl.txt:46 says:
ip_forward_use_pmtu - BOOLEAN
By default we don't trust protocol path MTUs while forwarding
because they could be easily forged and can lead to unwanted
fragmentation by the router.
You only ne
From: Maciej Żenczykowski
Documentation/networking/ip-sysctl.txt:46 says:
ip_forward_use_pmtu - BOOLEAN
By default we don't trust protocol path MTUs while forwarding
because they could be easily forged and can lead to unwanted
fragmentation by the router.
You only ne
From: Maciej Żenczykowski
During udp socket lookup cpu match should be lowest priority,
hence it should increase score by only 1.
The next priority is delivering v4 to v4 sockets, and v6 to v6 sockets.
The v6 code path doesn't have to deal with this so it always gets
a score of '4
> This doesn't apply to the current net tree.
>
> Also "net-udp: " is a weird subsystem prefix, just use "udp: ".
>
> Thank you.
Interesting... this patch was on top of net-next/master, and it still
rebases cleanly on current net-next/master.
Would you like it on net/master instead? It indeed do
So I don't remember the specifics...
(note I'm writing this all from memory without looking it up/testing
it - I may be utterly wrong or dreaming)
But I seem to recall that the core problem we were trying to solve was
that a daemon listening
on an AF_PACKET ethertype 88CC [LLDP] socket not bound
On Wed, Jan 16, 2019 at 10:09 AM Martin Lau wrote:
> > In sock_setsockopt() (net/core/sock.h), when SO_MARK option is used
> > to change sk_mark, sk_dst_reset(sk) is called. The same should be done
> > in bpf_setsockopt.
> >
> > Reported-by: Maciej Żenczykowski
>
her reasons...
Comments welcome.
I think this continues to be in line with my proposal from earlier in
the thread?
On Thu, Jan 17, 2019 at 4:27 PM Michal Soltys wrote:
>
> On 19/01/14 03:01, Maciej Żenczykowski wrote:
> > So I don't remember the specifics...
> >
> >
I'm afraid it's nothing we're using. It's what people are using.
I guess we'll just carry this patch for a few more years.
On Tue, Oct 23, 2018 at 7:47 AM, Florian Westphal wrote:
> Unlike ipv4 and normal ipv6 defrag, netfilter ipv6 defragmentation did
> not save/restore skb->dst.
>
> This causes oops when handling locally generated ipv6 fragments, as
> output path needs a valid dst.
>
Possibly worth mentioning that without this fix you can also end up
with valid udp packets being dropped (ie. the reverse of the commit
description which talks about receiving invalid ones).
The (approximate?) requirement is:
(a) nic generates CHECKSUM_COMPLETE, but gets the actual checksum wrong
From: Maciej Żenczykowski
__bpf_redirect() and act_mirred checks this boolean
to determine whether to prefix an ethernet header.
Signed-off-by: Maciej Żenczykowski
---
include/linux/if_arp.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/if_arp.h b/include/linux/if_arp.h
In classic BPF 'SKF_AD_HATYPE' can be used to fetch skb->dev->type.
Are my eyes deceiving me, or is there a similar way to get at it from eBPF?
(while we're at it, skb->dev->mtu would probably be useful too)
Cheers,
Maciej
wrote:
>
> On 01/24/2019 12:27 PM, Maciej Żenczykowski wrote:
> > In classic BPF 'SKF_AD_HATYPE' can be used to fetch skb->dev->type.
> >
> > Are my eyes deceiving me, or is there a similar way to get at it from eBPF?
> >
> > (while we're at i
Sounds good to me.
On Mon, Jan 28, 2019 at 5:47 PM Michal Soltys wrote:
>
> On 19/01/18 07:58, Maciej Żenczykowski wrote:
> > I'm not sure there's a truly good answer.
> >
> > Also note, that there's subtle differences between af_packet sockets
> &
On Tue, Jan 29, 2019 at 1:00 PM John W. Linville wrote:
>
> On Tue, Jan 29, 2019 at 09:28:42PM +0100, Michal Kubecek wrote:
> > Hello,
> >
> > I'm sorry I didn't notice earlier but ethtool commit 4df55c81996d
> > ("ethtool: change to new sane powerpc64 kernel headers") adds changes to
> > ethtool-
' and avoid compile warnings
* when printing __u64 with %llu.
*/
#define __SANE_USERSPACE_TYPES__
...
which came in:
commit c0a2c04b3cbf6d399a2551654401957ddb529a50
Author: Maciej Żenczykowski
Date: Fri Mar 11 09:58:14 2016 -0800
internal.h: change to new sane kernel headers on 64
From: Maciej Żenczykowski
This reverts commit 4df55c81996dfb1dbe98c93ee62d8067ed5073a9.
It turns out this is not needed due to:
commit c0a2c04b3cbf6d399a2551654401957ddb529a50
internal.h: change to new sane kernel headers on 64-bit archs
which I apparently entirely forgot about while
> I propose backporting commit e2612cd496e7 ("xfrm: Make set-mark default
> behavior backward compatible") to 4.19 and 4.20 kernels to fix a backwards
> compatibility bug introduced in 9b42c1f179a6 (“xfrm: Extend the
> output_mark to support input direction and masking”).
>
> The fix is small, rela
From: Maciej Żenczykowski
prior to fetching it from kernel.
Otherwise we run the risk of very tail portion of it (dmac field)
being left entirely uninitialized, and likely containing some sort
of stale data.
It seems to likely be some sort of time (a second's counter).
Tested:
'
From: Maciej Żenczykowski
This fixes:
In file included from ethtool-copy.h:22:0,
from internal.h:32,
from ethtool.c:29:
.../include/linux/types.h:32:25: error: conflicting types for '__be64'
typedef __u64 __bitw
> The dmac member of struct ethtool_coalesce was removed by commit
> c0b078ce7e88 ("Revert "ethtool: Add DMA Coalescing support"") because it
> has never been added in kernel (as that would break compatibility with
> older ethtool versions).
Hmm, well, it doesn't hurt to zero init either way...
1 - 100 of 261 matches
Mail list logo