Skip to content

Commit 05a59d7

Browse files
committed
Merge git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from David Miller: 1) Fix transmissions in dynamic SMPS mode in ath9k, from Felix Fietkau. 2) TX skb error handling fix in mt76 driver, also from Felix. 3) Fix BPF_FETCH atomic in x86 JIT, from Brendan Jackman. 4) Avoid double free of percpu pointers when freeing a cloned bpf prog. From Cong Wang. 5) Use correct printf format for dma_addr_t in ath11k, from Geert Uytterhoeven. 6) Fix resolve_btfids build with older toolchains, from Kun-Chuan Hsieh. 7) Don't report truncated frames to mac80211 in mt76 driver, from Lorenzop Bianconi. 8) Fix watcdog timeout on suspend/resume of stmmac, from Joakim Zhang. 9) mscc ocelot needs NET_DEVLINK selct in Kconfig, from Arnd Bergmann. 10) Fix sign comparison bug in TCP_ZEROCOPY_RECEIVE getsockopt(), from Arjun Roy. 11) Ignore routes with deleted nexthop object in mlxsw, from Ido Schimmel. 12) Need to undo tcp early demux lookup sometimes in nf_nat, from Florian Westphal. 13) Fix gro aggregation for udp encaps with zero csum, from Daniel Borkmann. 14) Make sure to always use imp*_ndo_send when necessaey, from Jason A. Donenfeld. 15) Fix TRSCER masks in sh_eth driver from Sergey Shtylyov. 16) prevent overly huge skb allocationsd in qrtr, from Pavel Skripkin. 17) Prevent rx ring copnsumer index loss of sync in enetc, from Vladimir Oltean. 18) Make sure textsearch copntrol block is large enough, from Wilem de Bruijn. 19) Revert MAC changes to r8152 leading to instability, from Hates Wang. 20) Advance iov in 9p even for empty reads, from Jissheng Zhang. 21) Double hook unregister in nftables, from PabloNeira Ayuso. 22) Fix memleak in ixgbe, fropm Dinghao Liu. 23) Avoid dups in pkt scheduler class dumps, from Maximilian Heyne. 24) Various mptcp fixes from Florian Westphal, Paolo Abeni, and Geliang Tang. 25) Fix DOI refcount bugs in cipso, from Paul Moore. 26) One too many irqsave in ibmvnic, from Junlin Yang. 27) Fix infinite loop with MPLS gso segmenting via virtio_net, from Balazs Nemeth. * git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net: (164 commits) s390/qeth: fix notification for pending buffers during teardown s390/qeth: schedule TX NAPI on QAOB completion s390/qeth: improve completion of pending TX buffers s390/qeth: fix memory leak after failed TX Buffer allocation net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 net: check if protocol extracted by virtio_net_hdr_set_proto is correct net: dsa: xrs700x: check if partner is same as port in hsr join net: lapbether: Remove netif_start_queue / netif_stop_queue atm: idt77252: fix null-ptr-dereference atm: uPD98402: fix incorrect allocation atm: fix a typo in the struct description net: qrtr: fix error return code of qrtr_sendmsg() mptcp: fix length of ADD_ADDR with port sub-option net: bonding: fix error return code of bond_neigh_init() net: enetc: allow hardware timestamping on TX queues with tc-etf enabled net: enetc: set MAC RX FIFO to recommended value net: davicom: Use platform_get_irq_optional() net: davicom: Fix regulator not turned off on driver removal net: davicom: Fix regulator not turned off on failed probe net: dsa: fix switchdev objects on bridge master mistakenly being applied on ports ...
2 parents 6a30bed + 8515455 commit 05a59d7

File tree

159 files changed

+1456
-786
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+1456
-786
lines changed

Documentation/networking/bonding.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1988,7 +1988,7 @@ netif_carrier.
19881988
If use_carrier is 0, then the MII monitor will first query the
19891989
device's (via ioctl) MII registers and check the link state. If that
19901990
request fails (not just that it returns carrier down), then the MII
1991-
monitor will make an ethtool ETHOOL_GLINK request to attempt to obtain
1991+
monitor will make an ethtool ETHTOOL_GLINK request to attempt to obtain
19921992
the same information. If both methods fail (i.e., the driver either
19931993
does not support or had some error in processing both the MII register
19941994
and ethtool requests), then the MII monitor will assume the link is

Documentation/networking/netdev-FAQ.rst

Lines changed: 6 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -142,73 +142,13 @@ Please send incremental versions on top of what has been merged in order to fix
142142
the patches the way they would look like if your latest patch series was to be
143143
merged.
144144

145-
How can I tell what patches are queued up for backporting to the various stable releases?
146-
-----------------------------------------------------------------------------------------
147-
Normally Greg Kroah-Hartman collects stable commits himself, but for
148-
networking, Dave collects up patches he deems critical for the
149-
networking subsystem, and then hands them off to Greg.
150-
151-
There is a patchworks queue that you can see here:
152-
153-
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
154-
155-
It contains the patches which Dave has selected, but not yet handed off
156-
to Greg. If Greg already has the patch, then it will be here:
157-
158-
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
159-
160-
A quick way to find whether the patch is in this stable-queue is to
161-
simply clone the repo, and then git grep the mainline commit ID, e.g.
162-
::
163-
164-
stable-queue$ git grep -l 284041ef21fdf2e
165-
releases/3.0.84/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
166-
releases/3.4.51/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
167-
releases/3.9.8/ipv6-fix-possible-crashes-in-ip6_cork_release.patch
168-
stable/stable-queue$
169-
170-
I see a network patch and I think it should be backported to stable. Should I request it via stable@vger.kernel.org like the references in the kernel's Documentation/process/stable-kernel-rules.rst file say?
171-
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
172-
No, not for networking. Check the stable queues as per above first
173-
to see if it is already queued. If not, then send a mail to netdev,
174-
listing the upstream commit ID and why you think it should be a stable
175-
candidate.
176-
177-
Before you jump to go do the above, do note that the normal stable rules
178-
in :ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`
179-
still apply. So you need to explicitly indicate why it is a critical
180-
fix and exactly what users are impacted. In addition, you need to
181-
convince yourself that you *really* think it has been overlooked,
182-
vs. having been considered and rejected.
183-
184-
Generally speaking, the longer it has had a chance to "soak" in
185-
mainline, the better the odds that it is an OK candidate for stable. So
186-
scrambling to request a commit be added the day after it appears should
187-
be avoided.
188-
189-
I have created a network patch and I think it should be backported to stable. Should I add a Cc: stable@vger.kernel.org like the references in the kernel's Documentation/ directory say?
190-
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
191-
No. See above answer. In short, if you think it really belongs in
192-
stable, then ensure you write a decent commit log that describes who
193-
gets impacted by the bug fix and how it manifests itself, and when the
194-
bug was introduced. If you do that properly, then the commit will get
195-
handled appropriately and most likely get put in the patchworks stable
196-
queue if it really warrants it.
197-
198-
If you think there is some valid information relating to it being in
199-
stable that does *not* belong in the commit log, then use the three dash
200-
marker line as described in
201-
:ref:`Documentation/process/submitting-patches.rst <the_canonical_patch_format>`
202-
to temporarily embed that information into the patch that you send.
203-
204-
Are all networking bug fixes backported to all stable releases?
145+
Are there special rules regarding stable submissions on netdev?
205146
---------------------------------------------------------------
206-
Due to capacity, Dave could only take care of the backports for the
207-
last two stable releases. For earlier stable releases, each stable
208-
branch maintainer is supposed to take care of them. If you find any
209-
patch is missing from an earlier stable branch, please notify
210-
stable@vger.kernel.org with either a commit ID or a formal patch
211-
backported, and CC Dave and other relevant networking developers.
147+
While it used to be the case that netdev submissions were not supposed
148+
to carry explicit ``CC: stable@vger.kernel.org`` tags that is no longer
149+
the case today. Please follow the standard stable rules in
150+
:ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`,
151+
and make sure you include appropriate Fixes tags!
212152

213153
Is the comment style convention different for the networking content?
214154
---------------------------------------------------------------------

Documentation/process/stable-kernel-rules.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,6 @@ Rules on what kind of patches are accepted, and which ones are not, into the
3535
Procedure for submitting patches to the -stable tree
3636
----------------------------------------------------
3737

38-
- If the patch covers files in net/ or drivers/net please follow netdev stable
39-
submission guidelines as described in
40-
:ref:`Documentation/networking/netdev-FAQ.rst <netdev-FAQ>`
41-
after first checking the stable networking queue at
42-
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
43-
to ensure the requested patch is not already queued up.
4438
- Security patches should not be handled (solely) by the -stable review
4539
process but should follow the procedures in
4640
:ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>`.

Documentation/process/submitting-patches.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,11 +250,6 @@ should also read
250250
:ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`
251251
in addition to this file.
252252

253-
Note, however, that some subsystem maintainers want to come to their own
254-
conclusions on which patches should go to the stable trees. The networking
255-
maintainer, in particular, would rather not see individual developers
256-
adding lines like the above to their patches.
257-
258253
If changes affect userland-kernel interfaces, please send the MAN-PAGES
259254
maintainer (as listed in the MAINTAINERS file) a man-pages patch, or at
260255
least a notification of the change, so that some information makes its way

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10716,7 +10716,8 @@ F: drivers/net/ethernet/marvell/mvpp2/
1071610716

1071710717
MARVELL MWIFIEX WIRELESS DRIVER
1071810718
M: Amitkumar Karwar <amitkarwar@gmail.com>
10719-
M: Ganapathi Bhat <ganapathi.bhat@nxp.com>
10719+
M: Ganapathi Bhat <ganapathi017@gmail.com>
10720+
M: Sharvari Harisangam <sharvari.harisangam@nxp.com>
1072010721
M: Xinming Hu <huxinming820@gmail.com>
1072110722
L: linux-wireless@vger.kernel.org
1072210723
S: Maintained

arch/x86/net/bpf_jit_comp.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,6 +1349,7 @@ st: if (is_imm8(insn->off))
13491349
insn->imm == (BPF_XOR | BPF_FETCH)) {
13501350
u8 *branch_target;
13511351
bool is64 = BPF_SIZE(insn->code) == BPF_DW;
1352+
u32 real_src_reg = src_reg;
13521353

13531354
/*
13541355
* Can't be implemented with a single x86 insn.
@@ -1357,6 +1358,9 @@ st: if (is_imm8(insn->off))
13571358

13581359
/* Will need RAX as a CMPXCHG operand so save R0 */
13591360
emit_mov_reg(&prog, true, BPF_REG_AX, BPF_REG_0);
1361+
if (src_reg == BPF_REG_0)
1362+
real_src_reg = BPF_REG_AX;
1363+
13601364
branch_target = prog;
13611365
/* Load old value */
13621366
emit_ldx(&prog, BPF_SIZE(insn->code),
@@ -1366,9 +1370,9 @@ st: if (is_imm8(insn->off))
13661370
* put the result in the AUX_REG.
13671371
*/
13681372
emit_mov_reg(&prog, is64, AUX_REG, BPF_REG_0);
1369-
maybe_emit_mod(&prog, AUX_REG, src_reg, is64);
1373+
maybe_emit_mod(&prog, AUX_REG, real_src_reg, is64);
13701374
EMIT2(simple_alu_opcodes[BPF_OP(insn->imm)],
1371-
add_2reg(0xC0, AUX_REG, src_reg));
1375+
add_2reg(0xC0, AUX_REG, real_src_reg));
13721376
/* Attempt to swap in new value */
13731377
err = emit_atomic(&prog, BPF_CMPXCHG,
13741378
dst_reg, AUX_REG, insn->off,
@@ -1381,7 +1385,7 @@ st: if (is_imm8(insn->off))
13811385
*/
13821386
EMIT2(X86_JNE, -(prog - branch_target) - 2);
13831387
/* Return the pre-modification value */
1384-
emit_mov_reg(&prog, is64, src_reg, BPF_REG_0);
1388+
emit_mov_reg(&prog, is64, real_src_reg, BPF_REG_0);
13851389
/* Restore R0 after clobbering RAX */
13861390
emit_mov_reg(&prog, true, BPF_REG_0, BPF_REG_AX);
13871391
break;

drivers/atm/eni.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2260,7 +2260,8 @@ static int eni_init_one(struct pci_dev *pci_dev,
22602260
return rc;
22612261

22622262
err_eni_release:
2263-
eni_do_release(dev);
2263+
dev->phy = NULL;
2264+
iounmap(ENI_DEV(dev)->ioaddr);
22642265
err_unregister:
22652266
atm_dev_deregister(dev);
22662267
err_free_consistent:

drivers/atm/idt77105.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ static int idt77105_start(struct atm_dev *dev)
262262
{
263263
unsigned long flags;
264264

265-
if (!(dev->dev_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL)))
265+
if (!(dev->phy_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL)))
266266
return -ENOMEM;
267267
PRIV(dev)->dev = dev;
268268
spin_lock_irqsave(&idt77105_priv_lock, flags);
@@ -337,7 +337,7 @@ static int idt77105_stop(struct atm_dev *dev)
337337
else
338338
idt77105_all = walk->next;
339339
dev->phy = NULL;
340-
dev->dev_data = NULL;
340+
dev->phy_data = NULL;
341341
kfree(walk);
342342
break;
343343
}

drivers/atm/lanai.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2233,6 +2233,7 @@ static int lanai_dev_open(struct atm_dev *atmdev)
22332233
conf1_write(lanai);
22342234
#endif
22352235
iounmap(lanai->base);
2236+
lanai->base = NULL;
22362237
error_pci:
22372238
pci_disable_device(lanai->pci);
22382239
error:
@@ -2245,6 +2246,8 @@ static int lanai_dev_open(struct atm_dev *atmdev)
22452246
static void lanai_dev_close(struct atm_dev *atmdev)
22462247
{
22472248
struct lanai_dev *lanai = (struct lanai_dev *) atmdev->dev_data;
2249+
if (lanai->base==NULL)
2250+
return;
22482251
printk(KERN_INFO DEV_LABEL "(itf %d): shutting down interface\n",
22492252
lanai->number);
22502253
lanai_timed_poll_stop(lanai);
@@ -2552,7 +2555,7 @@ static int lanai_init_one(struct pci_dev *pci,
25522555
struct atm_dev *atmdev;
25532556
int result;
25542557

2555-
lanai = kmalloc(sizeof(*lanai), GFP_KERNEL);
2558+
lanai = kzalloc(sizeof(*lanai), GFP_KERNEL);
25562559
if (lanai == NULL) {
25572560
printk(KERN_ERR DEV_LABEL
25582561
": couldn't allocate dev_data structure!\n");

drivers/atm/uPD98402.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ static void uPD98402_int(struct atm_dev *dev)
211211
static int uPD98402_start(struct atm_dev *dev)
212212
{
213213
DPRINTK("phy_start\n");
214-
if (!(dev->dev_data = kmalloc(sizeof(struct uPD98402_priv),GFP_KERNEL)))
214+
if (!(dev->phy_data = kmalloc(sizeof(struct uPD98402_priv),GFP_KERNEL)))
215215
return -ENOMEM;
216216
spin_lock_init(&PRIV(dev)->lock);
217217
memset(&PRIV(dev)->sonet_stats,0,sizeof(struct k_sonet_stats));

0 commit comments

Comments
 (0)