Kedves Kedvezményezettem,
Biztos vagyok benne, hogy ez a levél meglepetésként fog megjelenni, mivel még
soha nem találkoztunk, és akkor is megkérdeznéd, hogy miért döntöttem úgy, hogy
választottam Önt a világ számos internethasználója között. Pontosan, nem tudom
megmondani, hogy miért
On Sat, Jul 7, 2018 at 10:56 PM David Ahern wrote:
> > Here is a packetdrill test :
>
> So I have to either learn how to use packetdrill or install a web server
> and put load on it. If the Android tests are not publicly available then
> the reference should be removed from the commit log.
It is
On Sat, Jul 7, 2018 at 10:29 PM Eric Dumazet wrote:
> >> Tested: passes Android sock_diag_test.py, which exercises this codepath
> >
> > If this Android test case exercises this path, why didn't it trigger
> > the double free and thus cause this bug to be found much sooner?
> >
> > Just curious.
Dear User
This is a courtesy notice by Admin Team, and to inform you that your e-mail
account has exceeded its quota of mail on the database server.
E-mail accounts will be blocked from sending and receiving emails if your email
account is not verified.
Click on to Restore
Hello,
syzbot found the following crash on:
HEAD commit:ca04b3cca11a Merge tag 'armsoc-fixes' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1609e96840
kernel config: https://syzkaller.appspot.com/x/.config?x=2ca6c7a31d407f86
Hello,
syzbot found the following crash on:
HEAD commit:ca04b3cca11a Merge tag 'armsoc-fixes' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1066e6dc40
kernel config: https://syzkaller.appspot.com/x/.config?x=2ca6c7a31d407f86
Zahari issued tc vlan command without setting vlan_ethtype, which will
crash kernel. To avoid this, we must check tb[TCA_FLOWER_KEY_VLAN_ETH_TYPE]
is not null before use it.
Also we don't need to dump vlan_ethtype or cvlan_ethtype in this case.
Fixes: d64efd0926ba ('net/sched: flower: Add supprt
Hi all,
Today's linux-next merge of the net-next tree got a conflict in:
net/sched/act_tunnel_key.c
between commit:
38230a3e0e09 ("net/sched: act_tunnel_key: fix NULL dereference when 'goto
chain' is used")
from the net tree and commit:
036bb44327f5 ("net: sched: change type of
Hi all,
Today's linux-next merge of the net-next tree got a conflict in:
net/sched/act_csum.c
between commit:
11a245e2f7bf ("net/sched: act_csum: fix NULL dereference when 'goto chain' is
used")
from the net tree and commit:
036bb44327f5 ("net: sched: change type of reference and bind
Hi,
This patch fixes endianness bug in btf_int_bits_seq_show(). Jakub
Kicinski pointed out in a separate patch review for bpftool ("bpf: btf:
add btf print functionality") that parsing of bitfield might not work
on big endian machine. Similar parsing is performed in
btf_int_bits_seq_show() and
When extracting bitfield from a number, btf_int_bits_seq_show() builds
a mask and accesses least significant byte of the number in a way
specific to little-endian. This patch fixes that by checking endianness
of the machine and then shifting left and right the unneeded bits.
Thanks to Martin Lau
Hi all,
Today's linux-next merge of the net-next tree got a conflict in:
drivers/net/ethernet/aquantia/atlantic/aq_hw.h
between commit:
94b3b542303f ("net: aquantia: vlan unicast address list correct handling")
from the net tree and commit:
c1af5427954b ("net: aquantia: Ethtool based
The 07/08/2018 12:27, Zahari, Doychev wrote:
> On Fri, Jul 06, 2018 at 05:38:16AM +, Jianbo Liu wrote:
> > As support dissecting of QinQ inner and outer vlan headers, user can
> > add rules to match on QinQ vlan headers.
> >
> > Signed-off-by: Jianbo Liu
> > Acked-by: Jiri Pirko
> > ---
> >
syzbot has found a reproducer for the following crash on:
HEAD commit:c47078d6a33f tcp: remove redundant SOCK_DONE checks
git tree: net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=120012c240
kernel config:
On 7/9/2018 2:24 AM, Sergei Shtylyov wrote:
So you applied the whole series to net.git... that was somewhat
unexpected, at least by me. Care to share your reasoning?
It's fixes a sleep in atomic which is a serious bug.
Do you realize that only patches 0, 1, 8, and 9 were real
Hello!
On 7/8/2018 2:58 AM, David Miller wrote:
So you applied the whole series to net.git... that was somewhat
unexpected, at least by me. Care to share your reasoning?
It's fixes a sleep in atomic which is a serious bug.
Do you realize that only patches 0, 1, 8, and 9 were
On Sun, Jul 8, 2018 at 6:58 PM Willem de Bruijn
wrote:
>
> On Fri, Jul 6, 2018 at 6:16 PM Willem de Bruijn
> wrote:
> >
> > On Fri, Jul 6, 2018 at 1:55 PM syzbot
> > wrote:
> > >
> > > syzbot has found a reproducer for the following crash on:
> > >
> > > HEAD commit:70ba5b6db96f ipv4:
On Fri, Jul 6, 2018 at 6:16 PM Willem de Bruijn
wrote:
>
> On Fri, Jul 6, 2018 at 1:55 PM syzbot
> wrote:
> >
> > syzbot has found a reproducer for the following crash on:
> >
> > HEAD commit:70ba5b6db96f ipv4: Return EINVAL when ping_group_range sys..
> > git tree: net
> > console
> @@ -394,25 +394,30 @@ static void __packet_set_status(struct packet_sock *po,
> void *frame, int status)
> static int __packet_get_status(struct packet_sock *po, void *frame)
> {
> union tpacket_uhdr h;
> -
> - smp_rmb();
> + int status;
>
> h.raw = frame;
>
The new action inheritdsfield copies the field DS of
IPv4 and IPv6 packets into skb->priority. This enables
later classification of packets based on the DS field.
Original idea by Jamal Hadi Salim
Signed-off-by: Qiaobin Fu
Reviewed-by: Michel Machado
---
Note that the motivation for this
- On Jul 7, 2018, at 4:33 PM, Joel Fernandes joe...@google.com wrote:
> On Fri, Jul 06, 2018 at 07:54:28PM -0700, Alexei Starovoitov wrote:
>> On Fri, Jul 06, 2018 at 06:56:16PM -0700, Daniel Colascione wrote:
>> > BPF_SYNCHRONIZE waits for any BPF programs active at the time of
>> >
From: Jiri Pirko
This is going to be needed for Spectrum-2 C-TCAM implementation.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/reg.h| 12 +++-
drivers/net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c | 2 +-
From: Jiri Pirko
Future Spectrum-2 KVD linear manager implementation needs to know type
of the entry to alloc and free. So define the types in an enum and
pass it down to alloc and free functions. Once the entry type
is passed down, KVDL common part knows sizes of each entry types,
so replace
From: Jiri Pirko
These resources are needed for Spectrum-2 KVD linear management
implementation.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/resources.h | 4
1 file changed, 4 insertions(+)
diff --git
From: Jiri Pirko
Since Spectrum-2 encodes blocks into different HW layout, push this
code into Spectrum-specific op.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
.../ethernet/mellanox/mlxsw/core_acl_flex_keys.c | 49 +++---
From: Jiri Pirko
In Spectrum-2 there is a different implementation of KVD linear
management. Unlike in Spectrum where there is a single index space,
in Spectrum-2 the indexes are per-resource. Also there is need to
explicitly tell HW that an entry is no longer used.
So push out the existing
From: Jiri Pirko
Since the flex keys for Spectrum-2 differ not only in blocks definitions
but also in encoding layout, prepare for the implementation and pass
Spectrum/Spectrum-2 specific ops down to mlxsw_afk_create.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
From: Jiri Pirko
To allow easy and clean Spectrum-2 implementation for things that differ
from Spectrum, split the existing ACL TCAM code 3 ways:
1) common code that calls Spectrum/Spectrum-2 specific ops
2) Spectrum ops implementations
3) common C-TCAM code that is going to be shared between
From: Jiri Pirko
For Spectrum-2, we need to insert priority to C-TCAM because HW
needs that info in order to correctly process scenarios where rules
are in both C-TCAM and A-TCAM.
So extend the mlxsw_sp_acl_ctcam_entry_add() args to accept indication
if priority needs to be filled up and
Hi,
This is the second and last set of preparations towards initial
Spectrum-2 support in mlxsw. It mainly re-arranges parts of the code
that need to work with both ASICs, but somewhat differ.
The first three patches allow different ASICs to register different set
of operations for KVD linear
From: Jiri Pirko
Prepare for Spectrum-2 FW version checking and
make mlxsw_sp_fw_rev_validate() per-ASIC as well as required FW revision
and FW filename.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 47 +-
From: Jiri Pirko
Add ops to be called on driver instance init and fini.
This is needed in order to be possible to do Spectrum-2 specific init
and fini work.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 43 +
From: Jiri Pirko
Since Spectrum-2 has different handling of TCAM, push Spectrum MR TCAM
bits to a separate file accessible by ops which allows to implement
Spectrum-2 specific ops.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/Makefile |
From: Jiri Pirko
For the Spectrum-2 KVD linear manager implementation, entry_count will be
needed even for the free function. So pass it down.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 4 ++--
On Wed, Jul 4, 2018 at 10:40 PM Andrew Lunn wrote:
> On Wed, Jul 04, 2018 at 08:33:21PM +0200, Linus Walleij wrote:
> > @@ -300,23 +305,26 @@ static void gmac_speed_set(struct net_device *netdev)
> > status.bits.speed = GMAC_SPEED_1000;
> > if (phydev->interface ==
The function do_test_span_vlan_dir_ips() is used for testing whether
mirrored packets are VLAN-encapsulated. But since it only considers
VLAN encapsulation, it may end up matching unmirrored ARP traffic as
well. One consequence is a rare failure of mirror_gre_vlan_bridge_1q's
On Sun, Jul 08, 2018 at 11:55:51AM +0900, Taehee Yoo wrote:
> rhashtable_free_and_destroy() cancels re-hash deferred work
> then walks and destroys elements. at this moment, some elements can be
> still in future_tbl. that elements are not destroyed.
>
> test case:
> nft_rhash_destroy() calls
On Fri, Jul 06, 2018 at 05:38:16AM +, Jianbo Liu wrote:
> As support dissecting of QinQ inner and outer vlan headers, user can
> add rules to match on QinQ vlan headers.
>
> Signed-off-by: Jianbo Liu
> Acked-by: Jiri Pirko
> ---
> include/uapi/linux/pkt_cls.h | 4 +++
>
From: Yishai Hadas
Introduce vendor create and destroy flow methods on the uverbs flow
object.
This enables the driver to get its specific device attributes to match
the underlay specification while still using the generic ib_flow object
for cleanup and code sharing.
The IB object's attributes
From: Yishai Hadas
Introduce flow steering matcher object and its create and destroy
methods.
This matcher object holds some mlx5 specific driver properties that
matches the underlay device specification when an mlx5 flow steering
group is created.
It will be used in downstream patches to be
From: Yishai Hadas
This patch considers the case that ib_flow is created by some device
driver with its specific parameters using the KABI infrastructure.
In that case both QP and ib_uflow_resources might not be applicable.
Downstream patches from this series use the above functionality.
From: Yishai Hadas
Expose mlx5 flow trees to be used by upper layers.
Signed-off-by: Yishai Hadas
Signed-off-by: Leon Romanovsky
---
drivers/infiniband/hw/mlx5/flow.c| 9 +
drivers/infiniband/hw/mlx5/main.c| 4 +++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 +++
3 files
From: Yishai Hadas
Add support to set a destination that is a flow table, this can come
from the DEVX destination.
Signed-off-by: Yishai Hadas
Signed-off-by: Leon Romanovsky
---
drivers/infiniband/hw/mlx5/main.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git
From: Yishai Hadas
Enable uverbs_destroy_def_handler to be used by drivers and replace
current code to use it.
Signed-off-by: Yishai Hadas
Signed-off-by: Leon Romanovsky
---
drivers/infiniband/core/uverbs.h | 3 ---
drivers/infiniband/core/uverbs_std_types.c | 1 +
From: Yishai Hadas
Add support to set a public flow steering rule which its destination is
a TIR by using raw specification data.
The logic follows the verbs API but instead of using ib_spec(s) the raw
input data is used.
Signed-off-by: Yishai Hadas
Signed-off-by: Leon Romanovsky
---
From: Yishai Hadas
Add support to set a destination from a flow table number.
This functionality will be used in downstream patches from this
series by the DEVX stuff.
Signed-off-by: Yishai Hadas
Signed-off-by: Leon Romanovsky
---
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 3 +++
From: Leon Romanovsky
>From Yishai:
This series introduces vendor create and destroy flow methods on the
uverbs flow object by using the KABI infra-structure.
It's done in a way that enables the driver to get its specific device
attributes in a raw data to match its underlay specification
From: Yishai Hadas
Use the PRM size including the reserved when working with the FTE
match data.
This comes to support forward compatibility for cases that current
reserved data will be exposed by the firmware and could be used by an
application by DEVX without changing the kernel.
Also drop
This patch adds common functions to handle mellanox metadata headers.
These functions are used by IPsec and TLS to process FPGA metadata.
Signed-off-by: Boris Pismenny
---
.../net/ethernet/mellanox/mlx5/core/accel/accel.h | 37 ++
This patch enables TLS Rx based on available HW capabilities.
Signed-off-by: Boris Pismenny
---
drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c | 18 --
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c
This patch fixes the byte count indication in CQE for processed IPsec
packets that contain a metadata header.
Signed-off-by: Boris Pismenny
---
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 1 +
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.h | 2 +-
This patch adds software statistics for TLS to count important
events.
Signed-off-by: Boris Pismenny
---
drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c | 2 ++
drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.h | 4
Add new netdev tls op for resynchornizing HW tls context
Signed-off-by: Boris Pismenny
---
include/linux/netdevice.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 03ed492..ef7dcf6 100644
--- a/include/linux/netdevice.h
+++
This patch completes the generic infrastructure to offload TLS crypto to a
network device. It enables the kernel to skip decryption and
authentication of some skbs marked as decrypted by the NIC. In the fast
path, all packets received are decrypted by the NIC and the performance
is comparable to
We currently have no devices that support both TLS and IPsec using the
accel framework, and the current code does not support both IPsec and
TLS. This patch prevents such combinations.
Signed-off-by: Boris Pismenny
---
drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 1 +
1 file changed, 1
From: Ilya Lesokhin
This patch adds a netdev feature to configure TLS RX inline crypto offload.
Signed-off-by: Ilya Lesokhin
Signed-off-by: Boris Pismenny
---
include/linux/netdev_features.h | 2 ++
net/core/ethtool.c | 1 +
2 files changed, 3 insertions(+)
diff --git
For symmetry, we rename tls_offload_context to
tls_offload_context_tx before we add tls_offload_context_rx.
Signed-off-by: Boris Pismenny
---
.../net/ethernet/mellanox/mlx5/core/en_accel/tls.h | 6 +++---
include/net/tls.h | 16 +++---
This patch splits tls_sw_release_resources_rx into two functions one
which releases all inner software tls structures and another that also
frees the containing structure.
In TLS_DEVICE we will need to release the software structures without
freeeing the containing structure, which contains other
The decrypted bit is propogated to cloned/copied skbs.
This will be used later by the inline crypto receive side offload
of tls.
Signed-off-by: Boris Pismenny
Signed-off-by: Ilya Lesokhin
---
include/linux/skbuff.h | 7 ++-
net/core/skbuff.c | 6 ++
2 files changed, 12
For symmetry, we rename mlx5e_tls_offload_context to
mlx5e_tls_offload_context_tx before we add mlx5e_tls_offload_context_rx.
Signed-off-by: Boris Pismenny
Reviewed-by: Aviad Yehezkel
Reviewed-by: Tariq Toukan
---
drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c | 2 +-
Implement the TLS rx offload data path according to the
requirements of the TLS generic NIC offload infrastructure.
Special metadata ethertype is used to pass information to
the hardware.
When hardware loses synchronization a special resync request
metadata message is used to request resync.
Hi,
The following series provides TLS TX inline crypto offload.
v1->v2:
- Fix bisectability problems due to variable name changes
- Fix potential uninitialized return value
This series completes the generic infrastructure to offload TLS crypto to
a network devices. It enables the kernel
Prevent coalescing of decrypted and encrypted SKBs in GRO
and TCP layer.
Signed-off-by: Boris Pismenny
Signed-off-by: Ilya Lesokhin
---
net/ipv4/tcp_input.c | 12
net/ipv4/tcp_offload.c | 3 +++
2 files changed, 15 insertions(+)
diff --git a/net/ipv4/tcp_input.c
Add the mlx5 implementation of the TLS Rx routines to add/del TLS
contexts, also add the tls_dev_resync_rx routine
to work with the TLS inline Rx crypto offload infrastructure.
Signed-off-by: Boris Pismenny
Signed-off-by: Ilya Lesokhin
---
.../net/ethernet/mellanox/mlx5/core/en_accel/tls.c |
This patch allows tls_set_sw_offload to fill the context in case it was
already allocated previously.
We will use it in TLS_DEVICE to fill the RX software context.
Signed-off-by: Boris Pismenny
---
net/tls/tls_sw.c | 34 ++
1 file changed, 22 insertions(+), 12
In Innova TLS, TLS contexts are added or deleted
via a command message over the SBU connection.
The HW then sends a response message over the same connection.
Complete the implementation for Innova TLS (FPGA-based) hardware by
adding support for rx inline crypto offload.
Signed-off-by: Boris
Previously, decrypt_skb also updated the TLS context.
Now, decrypt_skb only decrypts the payload using the current context,
while decrypt_skb_update also updates the state.
Later, in the tls_device Rx flow, we will use decrypt_skb directly.
Signed-off-by: Boris Pismenny
---
include/net/tls.h |
From: Eric Dumazet
Date: Sat, 7 Jul 2018 23:15:56 -0700
> In both tcp_splice_read() and tcp_recvmsg(), we already test
> sock_flag(sk, SOCK_DONE) right before evaluating sk->sk_state,
> so "!sock_flag(sk, SOCK_DONE)" is always true.
>
> Signed-off-by: Eric Dumazet
Wow, I think this code has
From: Ido Schimmel
Date: Sun, 8 Jul 2018 10:00:13 +0300
> This is the first set of changes towards Spectrum-2 support in the mlxsw
> driver. It contains small changes that prepare the code for the later
> introduction of Spectrum-2 support.
>
> The Spectrum-2 ASIC uses an algorithmic TCAM
The kbuild test robot reports:
>> net/sched/act_api.c:71:15: sparse: incorrect type in initializer (different
>> address spaces) @@expected struct tc_cookie [noderef] *__ret @@
>> got [noderef] *__ret @@
net/sched/act_api.c:71:15:expected struct tc_cookie [noderef]
*__ret
From: Eric Dumazet
Date: Sat, 7 Jul 2018 23:00:01 -0700
> tcp_zerocopy_receive() relies on tcp_inq() to limit number of bytes
> requested by user.
>
> syzbot found that after tcp_disconnect(), tcp_inq() was returning
> a stale value (number of bytes in queue before the disconnect).
>
> Note
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
master
head: e9ec8045644cf730d798cd8df8a6f8a86b7fba64
commit: eec94fdb04806790c7b7e6ea347820064cc6d467 [464/475] net: sched: use rcu
for action cookie update
reproduce:
# apt-get install sparse
git
From: Jiri Pirko
The SRC_SYS_PORT is passed as 8 bit value down to hw anyway, so cap it
in the driver as well. Also, in Spectrum-2 the FW iface for SRC_SYS_PORT
is only 8 bits, so prepare for it.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
From: Jiri Pirko
Introduce Flex2 key type for PTAR register which is used in Spectrum-2.
Also, extend mlxsw_reg_ptar_pack() to set the value according to the
caller.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/reg.h | 11
From: Jiri Pirko
In Spectrum-2, the real action sets are always in KVD linear. The first
set is always empty and contains only pointer to the first real set in
KVD linear. So provide possibility to specify the first set is the dummy
one.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
From: Jiri Pirko
This is specific for Spectrum as Spectrum-2 has completely different key
blocks.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 4 ++--
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.h | 4
From: Jiri Pirko
Spectrum-2 need a slightly different handling of flexible actions. So
put an ops pointer in mlxsw_sp struct and rename it.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 ++
From: Jiri Pirko
Since in Spectrum-2, MACs are split and IP addresses are split as well,
in order to use the same elements for Spectrum and Spectrum-2 split them
now.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
.../ethernet/mellanox/mlxsw/core_acl_flex_keys.h | 40
From: Jiri Pirko
The helper should return always KVD linear index of the second set.
It is unused now, but going to be used soon.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c | 11 ---
From: Jiri Pirko
The lowest 16 bits of tp->prio are always zero, so ignore them with a
shift.
Signed-off-by: Jiri Pirko
Signed-off-by: Ido Schimmel
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Hi,
This is the first set of changes towards Spectrum-2 support in the mlxsw
driver. It contains small changes that prepare the code for the later
introduction of Spectrum-2 support.
The Spectrum-2 ASIC uses an algorithmic TCAM (A-TCAM) instead of a
circuit TCAM (C-TCAM) as Spectrum, and thus
In both tcp_splice_read() and tcp_recvmsg(), we already test
sock_flag(sk, SOCK_DONE) right before evaluating sk->sk_state,
so "!sock_flag(sk, SOCK_DONE)" is always true.
Signed-off-by: Eric Dumazet
---
net/ipv4/tcp.c | 14 +-
1 file changed, 5 insertions(+), 9 deletions(-)
diff
tcp_zerocopy_receive() relies on tcp_inq() to limit number of bytes
requested by user.
syzbot found that after tcp_disconnect(), tcp_inq() was returning
a stale value (number of bytes in queue before the disconnect).
Note that after this patch, ioctl(fd, SIOCINQ, ) is also fixed
and returns 0,
83 matches
Mail list logo