* [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit
@ 2022-12-06 9:49 Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 02/13] ASoC: fsl_micfil: explicitly clear CHnF flags Sasha Levin
` (11 more replies)
0 siblings, 12 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Shengjiu Wang, Mark Brown, Sasha Levin, shengjiu.wang, Xiubo.Lee,
lgirdwood, perex, tiwai, alsa-devel, linuxppc-dev
From: Shengjiu Wang <shengjiu.wang@nxp.com>
[ Upstream commit 292709b9cf3ba470af94b62c9bb60284cc581b79 ]
SRES is self-cleared bit, but REG_MICFIL_CTRL1 is defined as
non volatile register, it still remain in regmap cache after set,
then every update of REG_MICFIL_CTRL1, software reset happens.
to avoid this, clear it explicitly.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1651925654-32060-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/fsl/fsl_micfil.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index 79ef4e269bc9..8aa6871e0d42 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -194,6 +194,17 @@ static int fsl_micfil_reset(struct device *dev)
if (ret)
return ret;
+ /*
+ * SRES is self-cleared bit, but REG_MICFIL_CTRL1 is defined
+ * as non-volatile register, so SRES still remain in regmap
+ * cache after set, that every update of REG_MICFIL_CTRL1,
+ * software reset happens. so clear it explicitly.
+ */
+ ret = regmap_clear_bits(micfil->regmap, REG_MICFIL_CTRL1,
+ MICFIL_CTRL1_SRES);
+ if (ret)
+ return ret;
+
return 0;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 02/13] ASoC: fsl_micfil: explicitly clear CHnF flags
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 03/13] ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() Sasha Levin
` (10 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Shengjiu Wang, Mark Brown, Sasha Levin, shengjiu.wang, Xiubo.Lee,
lgirdwood, perex, tiwai, alsa-devel, linuxppc-dev
From: Shengjiu Wang <shengjiu.wang@nxp.com>
[ Upstream commit b776c4a4618ec1b5219d494c423dc142f23c4e8f ]
There may be failure when start 1 channel recording after
8 channels recording. The reason is that the CHnF
flags are not cleared successfully by software reset.
This issue is triggerred by the change of clearing
software reset bit.
CHnF flags are write 1 clear bits. Clear them by force
write.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1651925654-32060-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/fsl/fsl_micfil.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index 8aa6871e0d42..4b86ef82fd93 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -205,6 +205,14 @@ static int fsl_micfil_reset(struct device *dev)
if (ret)
return ret;
+ /*
+ * Set SRES should clear CHnF flags, But even add delay here
+ * the CHnF may not be cleared sometimes, so clear CHnF explicitly.
+ */
+ ret = regmap_write_bits(micfil->regmap, REG_MICFIL_STAT, 0xFF, 0xFF);
+ if (ret)
+ return ret;
+
return 0;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 03/13] ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 02/13] ASoC: fsl_micfil: explicitly clear CHnF flags Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 04/13] libbpf: Use page size as max_entries when probing ring buffer map Sasha Levin
` (9 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Mark Brown, Sasha Levin, lgirdwood, perex, tiwai, alsa-devel
From: Mark Brown <broonie@kernel.org>
[ Upstream commit 97eea946b93961fffd29448dcda7398d0d51c4b2 ]
The bounds checks in snd_soc_put_volsw_sx() are only being applied to the
first channel, meaning it is possible to write out of bounds values to the
second channel in stereo controls. Add appropriate checks.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220511134137.169575-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/soc-ops.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c
index bd88de056358..35dd645d57c9 100644
--- a/sound/soc/soc-ops.c
+++ b/sound/soc/soc-ops.c
@@ -468,6 +468,12 @@ int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol,
val_mask = mask << rshift;
val2 = (ucontrol->value.integer.value[1] + min) & mask;
+
+ if (mc->platform_max && val2 > mc->platform_max)
+ return -EINVAL;
+ if (val2 > max)
+ return -EINVAL;
+
val2 = val2 << rshift;
err = snd_soc_component_update_bits(component, reg2, val_mask,
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 04/13] libbpf: Use page size as max_entries when probing ring buffer map
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 02/13] ASoC: fsl_micfil: explicitly clear CHnF flags Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 03/13] ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 05/13] pinctrl: meditatek: Startup with the IRQs disabled Sasha Levin
` (8 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Hou Tao, Andrii Nakryiko, Sasha Levin, ast, daniel, bpf
From: Hou Tao <houtao1@huawei.com>
[ Upstream commit 689eb2f1ba46b4b02195ac2a71c55b96d619ebf8 ]
Using page size as max_entries when probing ring buffer map, else the
probe may fail on host with 64KB page size (e.g., an ARM64 host).
After the fix, the output of "bpftool feature" on above host will be
correct.
Before :
eBPF map_type ringbuf is NOT available
eBPF map_type user_ringbuf is NOT available
After :
eBPF map_type ringbuf is available
eBPF map_type user_ringbuf is available
Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20221116072351.1168938-2-houtao@huaweicloud.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/lib/bpf/libbpf_probes.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c
index 6d495656f554..29f7cde10741 100644
--- a/tools/lib/bpf/libbpf_probes.c
+++ b/tools/lib/bpf/libbpf_probes.c
@@ -233,7 +233,7 @@ static int probe_map_create(enum bpf_map_type map_type)
case BPF_MAP_TYPE_RINGBUF:
key_size = 0;
value_size = 0;
- max_entries = 4096;
+ max_entries = sysconf(_SC_PAGE_SIZE);
break;
case BPF_MAP_TYPE_STRUCT_OPS:
/* we'll get -ENOTSUPP for invalid BTF type ID for struct_ops */
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 05/13] pinctrl: meditatek: Startup with the IRQs disabled
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (2 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 04/13] libbpf: Use page size as max_entries when probing ring buffer map Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 06/13] can: sja1000: fix size of OCR_MODE_MASK define Sasha Levin
` (7 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Ricardo Ribalda, AngeloGioacchino Del Regno, Matthias Brugger,
Linus Walleij, Sasha Levin, sean.wang, linux-mediatek, linux-gpio,
linux-arm-kernel
From: Ricardo Ribalda <ribalda@chromium.org>
[ Upstream commit 11780e37565db4dd064d3243ca68f755c13f65b4 ]
If the system is restarted via kexec(), the peripherals do not start
with a known state.
If the previous system had enabled an IRQs we will receive unexected
IRQs that can lock the system.
[ 28.109251] watchdog: BUG: soft lockup - CPU#0 stuck for 26s!
[swapper/0:0]
[ 28.109263] Modules linked in:
[ 28.109273] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
5.15.79-14458-g4b9edf7b1ac6 #1 9f2e76613148af94acccd64c609a552fb4b4354b
[ 28.109284] Hardware name: Google Elm (DT)
[ 28.109290] pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS
BTYPE=--)
[ 28.109298] pc : __do_softirq+0xa0/0x388
[ 28.109309] lr : __do_softirq+0x70/0x388
[ 28.109316] sp : ffffffc008003ee0
[ 28.109321] x29: ffffffc008003f00 x28: 000000000000000a x27:
0000000000000080
[ 28.109334] x26: 0000000000000001 x25: ffffffefa7b350c0 x24:
ffffffefa7b47480
[ 28.109346] x23: ffffffefa7b3d000 x22: 0000000000000000 x21:
ffffffefa7b0fa40
[ 28.109358] x20: ffffffefa7b005b0 x19: ffffffefa7b47480 x18:
0000000000065b6b
[ 28.109370] x17: ffffffefa749c8b0 x16: 000000000000018c x15:
00000000000001b8
[ 28.109382] x14: 00000000000d3b6b x13: 0000000000000006 x12:
0000000000057e91
[ 28.109394] x11: 0000000000000000 x10: 0000000000000000 x9 :
ffffffefa7b47480
[ 28.109406] x8 : 00000000000000e0 x7 : 000000000f424000 x6 :
0000000000000000
[ 28.109418] x5 : ffffffefa7dfaca0 x4 : ffffffefa7dfadf0 x3 :
000000000000000f
[ 28.109429] x2 : 0000000000000000 x1 : 0000000000000100 x0 :
0000000001ac65c5
[ 28.109441] Call trace:
[ 28.109447] __do_softirq+0xa0/0x388
[ 28.109454] irq_exit+0xc0/0xe0
[ 28.109464] handle_domain_irq+0x68/0x90
[ 28.109473] gic_handle_irq+0xac/0xf0
[ 28.109480] call_on_irq_stack+0x28/0x50
[ 28.109488] do_interrupt_handler+0x44/0x58
[ 28.109496] el1_interrupt+0x30/0x58
[ 28.109506] el1h_64_irq_handler+0x18/0x24
[ 28.109512] el1h_64_irq+0x7c/0x80
[ 28.109519] arch_local_irq_enable+0xc/0x18
[ 28.109529] default_idle_call+0x40/0x140
[ 28.109539] do_idle+0x108/0x290
[ 28.109547] cpu_startup_entry+0x2c/0x30
[ 28.109554] rest_init+0xe8/0xf8
[ 28.109562] arch_call_rest_init+0x18/0x24
[ 28.109571] start_kernel+0x338/0x42c
[ 28.109578] __primary_switched+0xbc/0xc4
[ 28.109588] Kernel panic - not syncing: softlockup: hung tasks
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://lore.kernel.org/r/20221122-mtk-pinctrl-v1-1-bedf5655a3d2@chromium.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/pinctrl/mediatek/mtk-eint.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/mediatek/mtk-eint.c b/drivers/pinctrl/mediatek/mtk-eint.c
index f7b54a551764..c24583bffa99 100644
--- a/drivers/pinctrl/mediatek/mtk-eint.c
+++ b/drivers/pinctrl/mediatek/mtk-eint.c
@@ -287,12 +287,15 @@ static struct irq_chip mtk_eint_irq_chip = {
static unsigned int mtk_eint_hw_init(struct mtk_eint *eint)
{
- void __iomem *reg = eint->base + eint->regs->dom_en;
+ void __iomem *dom_en = eint->base + eint->regs->dom_en;
+ void __iomem *mask_set = eint->base + eint->regs->mask_set;
unsigned int i;
for (i = 0; i < eint->hw->ap_num; i += 32) {
- writel(0xffffffff, reg);
- reg += 4;
+ writel(0xffffffff, dom_en);
+ writel(0xffffffff, mask_set);
+ dom_en += 4;
+ mask_set += 4;
}
return 0;
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 06/13] can: sja1000: fix size of OCR_MODE_MASK define
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (3 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 05/13] pinctrl: meditatek: Startup with the IRQs disabled Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 07/13] can: mcba_usb: Fix termination command argument Sasha Levin
` (6 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Heiko Schocher, Marc Kleine-Budde, Sasha Levin, wg, linux-can
From: Heiko Schocher <hs@denx.de>
[ Upstream commit 26e8f6a75248247982458e8237b98c9fb2ffcf9d ]
bitfield mode in ocr register has only 2 bits not 3, so correct
the OCR_MODE_MASK define.
Signed-off-by: Heiko Schocher <hs@denx.de>
Link: https://lore.kernel.org/all/20221123071636.2407823-1-hs@denx.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/linux/can/platform/sja1000.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/can/platform/sja1000.h b/include/linux/can/platform/sja1000.h
index 5755ae5a4712..6a869682c120 100644
--- a/include/linux/can/platform/sja1000.h
+++ b/include/linux/can/platform/sja1000.h
@@ -14,7 +14,7 @@
#define OCR_MODE_TEST 0x01
#define OCR_MODE_NORMAL 0x02
#define OCR_MODE_CLOCK 0x03
-#define OCR_MODE_MASK 0x07
+#define OCR_MODE_MASK 0x03
#define OCR_TX0_INVERT 0x04
#define OCR_TX0_PULLDOWN 0x08
#define OCR_TX0_PULLUP 0x10
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 07/13] can: mcba_usb: Fix termination command argument
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (4 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 06/13] can: sja1000: fix size of OCR_MODE_MASK define Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up" Sasha Levin
` (5 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Yasushi SHOJI, Yasushi SHOJI, Marc Kleine-Budde, Sasha Levin, wg,
davem, edumazet, kuba, pabeni, mailhol.vincent, stefan.maetje,
socketcan, paskripkin, hbh25y, linux-can, netdev
From: Yasushi SHOJI <yasushi.shoji@gmail.com>
[ Upstream commit 1a8e3bd25f1e789c8154e11ea24dc3ec5a4c1da0 ]
Microchip USB Analyzer can activate the internal termination resistors
by setting the "termination" option ON, or OFF to to deactivate them.
As I've observed, both with my oscilloscope and captured USB packets
below, you must send "0" to turn it ON, and "1" to turn it OFF.
From the schematics in the user's guide, I can confirm that you must
drive the CAN_RES signal LOW "0" to activate the resistors.
Reverse the argument value of usb_msg.termination to fix this.
These are the two commands sequence, ON then OFF.
> No. Time Source Destination Protocol Length Info
> 1 0.000000 host 1.3.1 USB 46 URB_BULK out
>
> Frame 1: 46 bytes on wire (368 bits), 46 bytes captured (368 bits)
> USB URB
> Leftover Capture Data: a80000000000000000000000000000000000a8
>
> No. Time Source Destination Protocol Length Info
> 2 4.372547 host 1.3.1 USB 46 URB_BULK out
>
> Frame 2: 46 bytes on wire (368 bits), 46 bytes captured (368 bits)
> USB URB
> Leftover Capture Data: a80100000000000000000000000000000000a9
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
Link: https://lore.kernel.org/all/20221124152504.125994-1-yashi@spacecubics.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/can/usb/mcba_usb.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/can/usb/mcba_usb.c b/drivers/net/can/usb/mcba_usb.c
index 218b098b261d..47619e9cb005 100644
--- a/drivers/net/can/usb/mcba_usb.c
+++ b/drivers/net/can/usb/mcba_usb.c
@@ -47,6 +47,10 @@
#define MCBA_VER_REQ_USB 1
#define MCBA_VER_REQ_CAN 2
+/* Drive the CAN_RES signal LOW "0" to activate R24 and R25 */
+#define MCBA_VER_TERMINATION_ON 0
+#define MCBA_VER_TERMINATION_OFF 1
+
#define MCBA_SIDL_EXID_MASK 0x8
#define MCBA_DLC_MASK 0xf
#define MCBA_DLC_RTR_MASK 0x40
@@ -463,7 +467,7 @@ static void mcba_usb_process_ka_usb(struct mcba_priv *priv,
priv->usb_ka_first_pass = false;
}
- if (msg->termination_state)
+ if (msg->termination_state == MCBA_VER_TERMINATION_ON)
priv->can.termination = MCBA_TERMINATION_ENABLED;
else
priv->can.termination = MCBA_TERMINATION_DISABLED;
@@ -785,9 +789,9 @@ static int mcba_set_termination(struct net_device *netdev, u16 term)
};
if (term == MCBA_TERMINATION_ENABLED)
- usb_msg.termination = 1;
+ usb_msg.termination = MCBA_VER_TERMINATION_ON;
else
- usb_msg.termination = 0;
+ usb_msg.termination = MCBA_VER_TERMINATION_OFF;
mcba_usb_xmit_cmd(priv, (struct mcba_usb_msg *)&usb_msg);
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up"
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (5 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 07/13] can: mcba_usb: Fix termination command argument Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:55 ` Rasmus Villemoes
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type Sasha Levin
` (4 subsequent siblings)
11 siblings, 1 reply; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Rasmus Villemoes, Andrew Lunn, David S . Miller, Sasha Levin,
qiangqing.zhang, edumazet, kuba, pabeni, netdev
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
[ Upstream commit df727d4547de568302b0ed15b0d4e8a469bdb456 ]
Currently, when a FEC device is brought up, the irq coalesce settings
are reset to their default values (1000us, 200 frames). That's
unexpected, and breaks for example use of an appropriate .link file to
make systemd-udev apply the desired
settings (https://www.freedesktop.org/software/systemd/man/systemd.link.html),
or any other method that would do a one-time setup during early boot.
Refactor the code so that fec_restart() instead uses
fec_enet_itr_coal_set(), which simply applies the settings that are
stored in the private data, and initialize that private data with the
default values.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/freescale/fec_main.c | 22 ++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 5aa254eaa8d0..b71e0c32e351 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -72,7 +72,7 @@
#include "fec.h"
static void set_multicast_list(struct net_device *ndev);
-static void fec_enet_itr_coal_init(struct net_device *ndev);
+static void fec_enet_itr_coal_set(struct net_device *ndev);
#define DRIVER_NAME "fec"
@@ -1164,8 +1164,7 @@ fec_restart(struct net_device *ndev)
writel(0, fep->hwp + FEC_IMASK);
/* Init the interrupt coalescing */
- fec_enet_itr_coal_init(ndev);
-
+ fec_enet_itr_coal_set(ndev);
}
static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled)
@@ -2771,19 +2770,6 @@ static int fec_enet_set_coalesce(struct net_device *ndev,
return 0;
}
-static void fec_enet_itr_coal_init(struct net_device *ndev)
-{
- struct ethtool_coalesce ec;
-
- ec.rx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT;
- ec.rx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT;
-
- ec.tx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT;
- ec.tx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT;
-
- fec_enet_set_coalesce(ndev, &ec, NULL, NULL);
-}
-
static int fec_enet_get_tunable(struct net_device *netdev,
const struct ethtool_tunable *tuna,
void *data)
@@ -3538,6 +3524,10 @@ static int fec_enet_init(struct net_device *ndev)
fep->rx_align = 0x3;
fep->tx_align = 0x3;
#endif
+ fep->rx_pkts_itr = FEC_ITR_ICFT_DEFAULT;
+ fep->tx_pkts_itr = FEC_ITR_ICFT_DEFAULT;
+ fep->rx_time_itr = FEC_ITR_ICTT_DEFAULT;
+ fep->tx_time_itr = FEC_ITR_ICTT_DEFAULT;
/* Check mask of the streaming and coherent API */
ret = dma_set_mask_and_coherent(&fep->pdev->dev, DMA_BIT_MASK(32));
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (6 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up" Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 19:49 ` Jakub Kicinski
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 10/13] ASoC: cs42l51: Correct PGA Volume minimum value Sasha Levin
` (3 subsequent siblings)
11 siblings, 1 reply; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Rasmus Villemoes, Jacob Keller, David S . Miller, Sasha Levin,
edumazet, kuba, pabeni, netdev
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
[ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]
When the name_assign_type attribute was introduced (commit
685343fc3ba6, "net: add name_assign_type netdev attribute"), the
loopback device was explicitly mentioned as one which would make use
of NET_NAME_PREDICTABLE:
The name_assign_type attribute gives hints where the interface name of a
given net-device comes from. These values are currently defined:
...
NET_NAME_PREDICTABLE:
The ifname has been assigned by the kernel in a predictable way
that is guaranteed to avoid reuse and always be the same for a
given device. Examples include statically created devices like
the loopback device [...]
Switch to that so that reading /sys/class/net/lo/name_assign_type
produces something sensible instead of returning -EINVAL.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/loopback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index 14e8d04cb434..2e9742952c4e 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -211,7 +211,7 @@ static __net_init int loopback_net_init(struct net *net)
int err;
err = -ENOMEM;
- dev = alloc_netdev(0, "lo", NET_NAME_UNKNOWN, loopback_setup);
+ dev = alloc_netdev(0, "lo", NET_NAME_PREDICTABLE, loopback_setup);
if (!dev)
goto out;
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 10/13] ASoC: cs42l51: Correct PGA Volume minimum value
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (7 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 11/13] perf: Fix perf_pending_task() UaF Sasha Levin
` (2 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Charles Keepax, Mark Brown, Sasha Levin, james.schulman,
david.rhodes, tanureal, rf, lgirdwood, perex, tiwai, alsa-devel,
patches
From: Charles Keepax <ckeepax@opensource.cirrus.com>
[ Upstream commit 3d1bb6cc1a654c8693a85b1d262e610196edec8b ]
The table in the datasheet actually shows the volume values in the wrong
order, with the two -3dB values being reversed. This appears to have
caused the lower of the two values to be used in the driver when the
higher should have been, correct this mixup.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20221125162348.1288005-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/cs42l51.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/cs42l51.c b/sound/soc/codecs/cs42l51.c
index 51721edd8f53..e88d9ff95cdf 100644
--- a/sound/soc/codecs/cs42l51.c
+++ b/sound/soc/codecs/cs42l51.c
@@ -143,7 +143,7 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
0, 0xA0, 96, adc_att_tlv),
SOC_DOUBLE_R_SX_TLV("PGA Volume",
CS42L51_ALC_PGA_CTL, CS42L51_ALC_PGB_CTL,
- 0, 0x19, 30, pga_tlv),
+ 0, 0x1A, 30, pga_tlv),
SOC_SINGLE("Playback Deemphasis Switch", CS42L51_DAC_CTL, 3, 1, 0),
SOC_SINGLE("Auto-Mute Switch", CS42L51_DAC_CTL, 2, 1, 0),
SOC_SINGLE("Soft Ramp Switch", CS42L51_DAC_CTL, 1, 1, 0),
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 11/13] perf: Fix perf_pending_task() UaF
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (8 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 10/13] ASoC: cs42l51: Correct PGA Volume minimum value Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 12/13] nvme-pci: clear the prp2 field when not used Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 13/13] v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails Sasha Levin
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Peter Zijlstra, syzbot+9228d6098455bb209ec8, Marco Elver,
Sasha Levin, mingo, acme, linux-perf-users
From: Peter Zijlstra <peterz@infradead.org>
[ Upstream commit 517e6a301f34613bff24a8e35b5455884f2d83d8 ]
Per syzbot it is possible for perf_pending_task() to run after the
event is free()'d. There are two related but distinct cases:
- the task_work was already queued before destroying the event;
- destroying the event itself queues the task_work.
The first cannot be solved using task_work_cancel() since
perf_release() itself might be called from a task_work (____fput),
which means the current->task_works list is already empty and
task_work_cancel() won't be able to find the perf_pending_task()
entry.
The simplest alternative is extending the perf_event lifetime to cover
the task_work.
The second is just silly, queueing a task_work while you know the
event is going away makes no sense and is easily avoided by
re-arranging how the event is marked STATE_DEAD and ensuring it goes
through STATE_OFF on the way down.
Reported-by: syzbot+9228d6098455bb209ec8@syzkaller.appspotmail.com
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Marco Elver <elver@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
kernel/events/core.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index bec18d81b116..eea9a1446310 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -2283,6 +2283,7 @@ event_sched_out(struct perf_event *event,
!event->pending_work) {
event->pending_work = 1;
dec = false;
+ WARN_ON_ONCE(!atomic_long_inc_not_zero(&event->refcount));
task_work_add(current, &event->pending_task, TWA_RESUME);
}
if (dec)
@@ -2328,6 +2329,7 @@ group_sched_out(struct perf_event *group_event,
#define DETACH_GROUP 0x01UL
#define DETACH_CHILD 0x02UL
+#define DETACH_DEAD 0x04UL
/*
* Cross CPU call to remove a performance event
@@ -2348,12 +2350,20 @@ __perf_remove_from_context(struct perf_event *event,
update_cgrp_time_from_cpuctx(cpuctx, false);
}
+ /*
+ * Ensure event_sched_out() switches to OFF, at the very least
+ * this avoids raising perf_pending_task() at this time.
+ */
+ if (flags & DETACH_DEAD)
+ event->pending_disable = 1;
event_sched_out(event, cpuctx, ctx);
if (flags & DETACH_GROUP)
perf_group_detach(event);
if (flags & DETACH_CHILD)
perf_child_detach(event);
list_del_event(event, ctx);
+ if (flags & DETACH_DEAD)
+ event->state = PERF_EVENT_STATE_DEAD;
if (!ctx->nr_events && ctx->is_active) {
if (ctx == &cpuctx->ctx)
@@ -5113,9 +5123,7 @@ int perf_event_release_kernel(struct perf_event *event)
ctx = perf_event_ctx_lock(event);
WARN_ON_ONCE(ctx->parent_ctx);
- perf_remove_from_context(event, DETACH_GROUP);
- raw_spin_lock_irq(&ctx->lock);
/*
* Mark this event as STATE_DEAD, there is no external reference to it
* anymore.
@@ -5127,8 +5135,7 @@ int perf_event_release_kernel(struct perf_event *event)
* Thus this guarantees that we will in fact observe and kill _ALL_
* child events.
*/
- event->state = PERF_EVENT_STATE_DEAD;
- raw_spin_unlock_irq(&ctx->lock);
+ perf_remove_from_context(event, DETACH_GROUP|DETACH_DEAD);
perf_event_ctx_unlock(event, ctx);
@@ -6569,6 +6576,8 @@ static void perf_pending_task(struct callback_head *head)
if (rctx >= 0)
perf_swevent_put_recursion_context(rctx);
preempt_enable_notrace();
+
+ put_event(event);
}
#ifdef CONFIG_GUEST_PERF_EVENTS
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 12/13] nvme-pci: clear the prp2 field when not used
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (9 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 11/13] perf: Fix perf_pending_task() UaF Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 13/13] v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails Sasha Levin
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Lei Rao, Christoph Hellwig, Sasha Levin, kbusch, axboe, sagi,
linux-nvme
From: Lei Rao <lei.rao@intel.com>
[ Upstream commit a56ea6147facce4ac1fc38675455f9733d96232b ]
If the prp2 field is not filled in nvme_setup_prp_simple(), the prp2
field is garbage data. According to nvme spec, the prp2 is reserved if
the data transfer does not cross a memory page boundary, so clear it to
zero if it is not used.
Signed-off-by: Lei Rao <lei.rao@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/nvme/host/pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 0f34114c4596..6867620bcc98 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -804,6 +804,8 @@ static blk_status_t nvme_setup_prp_simple(struct nvme_dev *dev,
cmnd->dptr.prp1 = cpu_to_le64(iod->first_dma);
if (bv->bv_len > first_prp_len)
cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma + first_prp_len);
+ else
+ cmnd->dptr.prp2 = 0;
return BLK_STS_OK;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH AUTOSEL 6.0 13/13] v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
` (10 preceding siblings ...)
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 12/13] nvme-pci: clear the prp2 field when not used Sasha Levin
@ 2022-12-06 9:49 ` Sasha Levin
11 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-06 9:49 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Linus Torvalds, Seth Jenkins, Hans Verkuil, Mauro Carvalho Chehab,
David Hildenbrand, Jan Kara, Sasha Levin, tfiga, m.szyprowski,
linux-media
From: Linus Torvalds <torvalds@linux-foundation.org>
[ Upstream commit 6647e76ab623b2b3fb2efe03a86e9c9046c52c33 ]
The V4L2_MEMORY_USERPTR interface is long deprecated and shouldn't be
used (and is discouraged for any modern v4l drivers). And Seth Jenkins
points out that the fallback to VM_PFNMAP/VM_IO is fundamentally racy
and dangerous.
Note that it's not even a case that should trigger, since any normal
user pointer logic ends up just using the pin_user_pages_fast() call
that does the proper page reference counting. That's not the problem
case, only if you try to use special device mappings do you have any
issues.
Normally I'd just remove this during the merge window, but since Seth
pointed out the problem cases, we really want to know as soon as
possible if there are actually any users of this odd special case of a
legacy interface. Neither Hans nor Mauro seem to think that such
mis-uses of the old legacy interface should exist. As Mauro says:
"See, V4L2 has actually 4 streaming APIs:
- Kernel-allocated mmap (usually referred simply as just mmap);
- USERPTR mmap;
- read();
- dmabuf;
The USERPTR is one of the oldest way to use it, coming from V4L
version 1 times, and by far the least used one"
And Hans chimed in on the USERPTR interface:
"To be honest, I wouldn't mind if it goes away completely, but that's a
bit of a pipe dream right now"
but while removing this legacy interface entirely may be a pipe dream we
can at least try to remove the unlikely (and actively broken) case of
using special device mappings for USERPTR accesses.
This replaces it with a WARN_ONCE() that we can remove once we've
hopefully confirmed that no actual users exist.
NOTE! Longer term, this means that a 'struct frame_vector' only ever
contains proper page pointers, and all the games we have with converting
them to pages can go away (grep for 'frame_vector_to_pages()' and the
uses of 'vec->is_pfns'). But this is just the first step, to verify
that this code really is all dead, and do so as quickly as possible.
Reported-by: Seth Jenkins <sethjenkins@google.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/media/common/videobuf2/frame_vector.c | 68 ++++---------------
1 file changed, 12 insertions(+), 56 deletions(-)
diff --git a/drivers/media/common/videobuf2/frame_vector.c b/drivers/media/common/videobuf2/frame_vector.c
index 542dde9d2609..144027035892 100644
--- a/drivers/media/common/videobuf2/frame_vector.c
+++ b/drivers/media/common/videobuf2/frame_vector.c
@@ -35,11 +35,7 @@
int get_vaddr_frames(unsigned long start, unsigned int nr_frames,
struct frame_vector *vec)
{
- struct mm_struct *mm = current->mm;
- struct vm_area_struct *vma;
- int ret_pin_user_pages_fast = 0;
- int ret = 0;
- int err;
+ int ret;
if (nr_frames == 0)
return 0;
@@ -52,57 +48,17 @@ int get_vaddr_frames(unsigned long start, unsigned int nr_frames,
ret = pin_user_pages_fast(start, nr_frames,
FOLL_FORCE | FOLL_WRITE | FOLL_LONGTERM,
(struct page **)(vec->ptrs));
- if (ret > 0) {
- vec->got_ref = true;
- vec->is_pfns = false;
- goto out_unlocked;
- }
- ret_pin_user_pages_fast = ret;
-
- mmap_read_lock(mm);
- vec->got_ref = false;
- vec->is_pfns = true;
- ret = 0;
- do {
- unsigned long *nums = frame_vector_pfns(vec);
-
- vma = vma_lookup(mm, start);
- if (!vma)
- break;
-
- while (ret < nr_frames && start + PAGE_SIZE <= vma->vm_end) {
- err = follow_pfn(vma, start, &nums[ret]);
- if (err) {
- if (ret)
- goto out;
- // If follow_pfn() returns -EINVAL, then this
- // is not an IO mapping or a raw PFN mapping.
- // In that case, return the original error from
- // pin_user_pages_fast(). Otherwise this
- // function would return -EINVAL when
- // pin_user_pages_fast() returned -ENOMEM,
- // which makes debugging hard.
- if (err == -EINVAL && ret_pin_user_pages_fast)
- ret = ret_pin_user_pages_fast;
- else
- ret = err;
- goto out;
- }
- start += PAGE_SIZE;
- ret++;
- }
- /* Bail out if VMA doesn't completely cover the tail page. */
- if (start < vma->vm_end)
- break;
- } while (ret < nr_frames);
-out:
- mmap_read_unlock(mm);
-out_unlocked:
- if (!ret)
- ret = -EFAULT;
- if (ret > 0)
- vec->nr_frames = ret;
- return ret;
+ vec->got_ref = true;
+ vec->is_pfns = false;
+ vec->nr_frames = ret;
+
+ if (likely(ret > 0))
+ return ret;
+
+ /* This used to (racily) return non-refcounted pfns. Let people know */
+ WARN_ONCE(1, "get_vaddr_frames() cannot follow VM_IO mapping");
+ vec->nr_frames = 0;
+ return ret ? ret : -EFAULT;
}
EXPORT_SYMBOL(get_vaddr_frames);
--
2.35.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up"
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up" Sasha Levin
@ 2022-12-06 9:55 ` Rasmus Villemoes
0 siblings, 0 replies; 18+ messages in thread
From: Rasmus Villemoes @ 2022-12-06 9:55 UTC (permalink / raw)
To: Sasha Levin, linux-kernel, stable
Cc: Andrew Lunn, David S . Miller, edumazet, kuba, pabeni, netdev,
Greg Ungerer
On 06/12/2022 10.49, Sasha Levin wrote:
> From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>
> [ Upstream commit df727d4547de568302b0ed15b0d4e8a469bdb456 ]
Well, I'm not sure this is actually -stable material, but even if it is,
it's probably better to wait until the regression which this introduced
has also been fixed in mainline:
https://lore.kernel.org/netdev/20221205204604.869853-1-linux@rasmusvillemoes.dk/
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type Sasha Levin
@ 2022-12-06 19:49 ` Jakub Kicinski
2022-12-07 2:20 ` Sasha Levin
0 siblings, 1 reply; 18+ messages in thread
From: Jakub Kicinski @ 2022-12-06 19:49 UTC (permalink / raw)
To: Sasha Levin
Cc: linux-kernel, stable, Rasmus Villemoes, Jacob Keller,
David S . Miller, edumazet, pabeni, netdev
On Tue, 6 Dec 2022 04:49:12 -0500 Sasha Levin wrote:
> From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>
> [ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]
>
> When the name_assign_type attribute was introduced (commit
> 685343fc3ba6, "net: add name_assign_type netdev attribute"), the
> loopback device was explicitly mentioned as one which would make use
> of NET_NAME_PREDICTABLE:
>
> The name_assign_type attribute gives hints where the interface name of a
> given net-device comes from. These values are currently defined:
> ...
> NET_NAME_PREDICTABLE:
> The ifname has been assigned by the kernel in a predictable way
> that is guaranteed to avoid reuse and always be the same for a
> given device. Examples include statically created devices like
> the loopback device [...]
>
> Switch to that so that reading /sys/class/net/lo/name_assign_type
> produces something sensible instead of returning -EINVAL.
Yeah... we should have applied it to -next, I think backporting it is
a good idea but I wish it had more time in the -next tree since it's
a "uAPI alignment" :(
Oh, well, very unlikely it will break anything, tho, so let's do it.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
2022-12-06 19:49 ` Jakub Kicinski
@ 2022-12-07 2:20 ` Sasha Levin
2022-12-07 2:49 ` Jakub Kicinski
0 siblings, 1 reply; 18+ messages in thread
From: Sasha Levin @ 2022-12-07 2:20 UTC (permalink / raw)
To: Jakub Kicinski
Cc: linux-kernel, stable, Rasmus Villemoes, Jacob Keller,
David S . Miller, edumazet, pabeni, netdev
On Tue, Dec 06, 2022 at 11:49:56AM -0800, Jakub Kicinski wrote:
>On Tue, 6 Dec 2022 04:49:12 -0500 Sasha Levin wrote:
>> From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>>
>> [ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]
>>
>> When the name_assign_type attribute was introduced (commit
>> 685343fc3ba6, "net: add name_assign_type netdev attribute"), the
>> loopback device was explicitly mentioned as one which would make use
>> of NET_NAME_PREDICTABLE:
>>
>> The name_assign_type attribute gives hints where the interface name of a
>> given net-device comes from. These values are currently defined:
>> ...
>> NET_NAME_PREDICTABLE:
>> The ifname has been assigned by the kernel in a predictable way
>> that is guaranteed to avoid reuse and always be the same for a
>> given device. Examples include statically created devices like
>> the loopback device [...]
>>
>> Switch to that so that reading /sys/class/net/lo/name_assign_type
>> produces something sensible instead of returning -EINVAL.
>
>Yeah... we should have applied it to -next, I think backporting it is
>a good idea but I wish it had more time in the -next tree since it's
>a "uAPI alignment" :(
>
>Oh, well, very unlikely it will break anything, tho, so let's do it.
Want me to push it back a week to the next batch? It'll give it two
weeks instead of the usual week.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
2022-12-07 2:20 ` Sasha Levin
@ 2022-12-07 2:49 ` Jakub Kicinski
2022-12-07 3:56 ` Sasha Levin
0 siblings, 1 reply; 18+ messages in thread
From: Jakub Kicinski @ 2022-12-07 2:49 UTC (permalink / raw)
To: Sasha Levin
Cc: linux-kernel, stable, Rasmus Villemoes, Jacob Keller,
David S . Miller, edumazet, pabeni, netdev
On Tue, 6 Dec 2022 21:20:18 -0500 Sasha Levin wrote:
> >Yeah... we should have applied it to -next, I think backporting it is
> >a good idea but I wish it had more time in the -next tree since it's
> >a "uAPI alignment" :(
> >
> >Oh, well, very unlikely it will break anything, tho, so let's do it.
>
> Want me to push it back a week to the next batch? It'll give it two
> weeks instead of the usual week.
Oh, perfect, I didn't know we can hold for a week. Yes, please!
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
2022-12-07 2:49 ` Jakub Kicinski
@ 2022-12-07 3:56 ` Sasha Levin
0 siblings, 0 replies; 18+ messages in thread
From: Sasha Levin @ 2022-12-07 3:56 UTC (permalink / raw)
To: Jakub Kicinski
Cc: linux-kernel, stable, Rasmus Villemoes, Jacob Keller,
David S . Miller, edumazet, pabeni, netdev
On Tue, Dec 06, 2022 at 06:49:27PM -0800, Jakub Kicinski wrote:
>On Tue, 6 Dec 2022 21:20:18 -0500 Sasha Levin wrote:
>> >Yeah... we should have applied it to -next, I think backporting it is
>> >a good idea but I wish it had more time in the -next tree since it's
>> >a "uAPI alignment" :(
>> >
>> >Oh, well, very unlikely it will break anything, tho, so let's do it.
>>
>> Want me to push it back a week to the next batch? It'll give it two
>> weeks instead of the usual week.
>
>Oh, perfect, I didn't know we can hold for a week. Yes, please!
Ack, you should get another AUTOSEL mail for this patch next week.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2022-12-07 3:56 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-06 9:49 [PATCH AUTOSEL 6.0 01/13] ASoC: fsl_micfil: explicitly clear software reset bit Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 02/13] ASoC: fsl_micfil: explicitly clear CHnF flags Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 03/13] ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 04/13] libbpf: Use page size as max_entries when probing ring buffer map Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 05/13] pinctrl: meditatek: Startup with the IRQs disabled Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 06/13] can: sja1000: fix size of OCR_MODE_MASK define Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 07/13] can: mcba_usb: Fix termination command argument Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 08/13] net: fec: don't reset irq coalesce settings to defaults on "ip link up" Sasha Levin
2022-12-06 9:55 ` Rasmus Villemoes
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 09/13] net: loopback: use NET_NAME_PREDICTABLE for name_assign_type Sasha Levin
2022-12-06 19:49 ` Jakub Kicinski
2022-12-07 2:20 ` Sasha Levin
2022-12-07 2:49 ` Jakub Kicinski
2022-12-07 3:56 ` Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 10/13] ASoC: cs42l51: Correct PGA Volume minimum value Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 11/13] perf: Fix perf_pending_task() UaF Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 12/13] nvme-pci: clear the prp2 field when not used Sasha Levin
2022-12-06 9:49 ` [PATCH AUTOSEL 6.0 13/13] v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox