6.7.1-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 6.7.1-rc1 review
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.7.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.7.1-rc1
Sumanth Korikkar <[email protected]>
mm/memory_hotplug: fix memmap_on_memory sysfs value retrieval
Vegard Nossum <[email protected]>
docs: kernel_feat.py: fix potential command injection
Carlos Llamas <[email protected]>
scripts/decode_stacktrace.sh: optionally use LLVM utilities
James Clark <[email protected]>
coresight: etm4x: Fix width of CCITMIN field
LeoLiuoc <[email protected]>
PCI: Add ACS quirk for more Zhaoxin Root Ports
Florian Eckert <[email protected]>
leds: ledtrig-tty: Free allocated ttyname buffer on deactivate
Cameron Williams <[email protected]>
parport: parport_serial: Add Brainboxes device IDs and geometry
Cameron Williams <[email protected]>
parport: parport_serial: Add Brainboxes BAR details
Guanghui Feng <[email protected]>
uio: Fix use-after-free in uio_open
Carlos Llamas <[email protected]>
binder: fix comment on binder_alloc_new_buf() return value
Carlos Llamas <[email protected]>
binder: fix trivial typo of binder_free_buf_locked()
Carlos Llamas <[email protected]>
binder: fix use-after-free in shinker's callback
Carlos Llamas <[email protected]>
binder: use EPOLLERR from eventpoll.h
Junxiao Bi <[email protected]>
Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
Fedor Pchelkin <[email protected]>
ksmbd: free ppace array on error in parse_dacl
Namjae Jeon <[email protected]>
ksmbd: don't allow O_TRUNC open on read-only share
Lewis Huang <[email protected]>
drm/amd/display: Pass pwrseq inst for backlight and ABM
Sjoerd Simons <[email protected]>
bus: moxtet: Add spi device table
Sjoerd Simons <[email protected]>
bus: moxtet: Mark the irq as shared
Hans de Goede <[email protected]>
ACPI: resource: Add another DMI match for the TongFang GMxXGxx
Lorenz Brun <[email protected]>
ALSA: hda: cs35l41: Support more HP models without _DSD
Tom Jason Schwanke <[email protected]>
ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx
Dorian Cruveiller <[email protected]>
ALSA: hda/realtek: enable SND_PCI_QUIRK for Lenovo Legion Slim 7 Gen 8 (2023) serie
Dorian Cruveiller <[email protected]>
ALSA: hda: Add driver properties for cs35l41 for Lenovo Legion Slim 7 Gen 8 serie
Stefan Binding <[email protected]>
ALSA: hda: cs35l41: Prevent firmware load if SPI speed too low
Stefan Binding <[email protected]>
ALSA: hda: cs35l41: Support additional Dell models without _DSD
Stefan Binding <[email protected]>
ALSA: hda/realtek: Add quirks for Dell models
Eric Biggers <[email protected]>
f2fs: explicitly null-terminate the xattr list
-------------
Diffstat:
Documentation/admin-guide/features.rst | 2 +- Documentation/arch/arc/features.rst | 2 +- Documentation/arch/arm/features.rst | 2 +- Documentation/arch/arm64/features.rst | 2 +- Documentation/arch/loongarch/features.rst | 2 +- Documentation/arch/m68k/features.rst | 2 +- Documentation/arch/mips/features.rst | 2 +- Documentation/arch/nios2/features.rst | 2 +- Documentation/arch/openrisc/features.rst | 2 +- Documentation/arch/parisc/features.rst | 2 +- Documentation/arch/powerpc/features.rst | 2 +- Documentation/arch/riscv/features.rst | 2 +- Documentation/arch/s390/features.rst | 2 +- Documentation/arch/sh/features.rst | 2 +- Documentation/arch/sparc/features.rst | 2 +- Documentation/arch/x86/features.rst | 2 +- Documentation/arch/xtensa/features.rst | 2 +- Documentation/sphinx/kernel_feat.py | 57 ++-------- .../translations/zh_CN/arch/loongarch/features.rst | 2 +- .../translations/zh_CN/arch/mips/features.rst | 2 +- .../translations/zh_TW/arch/loongarch/features.rst | 2 +- .../translations/zh_TW/arch/mips/features.rst | 2 +- Makefile | 4 +- drivers/acpi/resource.c | 7 ++ drivers/android/binder.c | 2 +- drivers/android/binder_alloc.c | 10 +- drivers/bus/moxtet.c | 9 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 4 +- .../gpu/drm/amd/display/dc/bios/command_table2.c | 12 +- .../gpu/drm/amd/display/dc/bios/command_table2.h | 2 +- drivers/gpu/drm/amd/display/dc/dc_bios_types.h | 2 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 8 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 7 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h | 2 +- .../drm/amd/display/dc/dcn31/dcn31_panel_cntl.c | 5 +- .../drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 16 +-- .../drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 36 ++++-- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 3 +- drivers/gpu/drm/amd/display/dc/inc/hw/panel_cntl.h | 2 + drivers/gpu/drm/amd/display/dc/link/link_factory.c | 59 +++++++--- drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 14 ++- drivers/hwtracing/coresight/coresight-etm4x.h | 2 +- drivers/leds/trigger/ledtrig-tty.c | 4 + drivers/md/raid5.c | 12 -- drivers/parport/parport_serial.c | 64 +++++++++++ drivers/pci/quirks.c | 8 +- drivers/uio/uio.c | 7 +- fs/f2fs/xattr.c | 6 + fs/smb/server/smb2pdu.c | 23 ++-- fs/smb/server/smbacl.c | 11 +- mm/memory_hotplug.c | 8 +- scripts/decode_stacktrace.sh | 19 +++- sound/pci/hda/cs35l41_hda.c | 25 +++- sound/pci/hda/cs35l41_hda.h | 12 +- sound/pci/hda/cs35l41_hda_i2c.c | 2 +- sound/pci/hda/cs35l41_hda_property.c | 126 +++++++++++++++------ sound/pci/hda/cs35l41_hda_spi.c | 2 +- sound/pci/hda/patch_realtek.c | 18 +++ 58 files changed, 443 insertions(+), 209 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/28 f2fs: explicitly null-terminate the xattr list
6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Biggers <[email protected]>
commit e26b6d39270f5eab0087453d9b544189a38c8564 upstream.
When setting an xattr, explicitly null-terminate the xattr list. This eliminates the fragile assumption that the unused xattr space is always zeroed.
--- fs/f2fs/xattr.c | 6 ++++++ 1 file changed, 6 insertions(+)
fs/f2fs/xattr.c +6 -0
@@ -754,6 +754,12 @@ retry:memcpy (pval, value, size); last->e_value_size =cpu_to_le16 (size); new_hsize += newsize; +/* +* Explicitly add the null terminator. The unused xattr space +* is supposed to always be zeroed, which would make this +* unnecessary, but don't depend on that. +*/ + *(u32 *)((u8 *)last + newsize) =0 ; } error =write_all_xattrs (inode, new_hsize, base_addr, ipage);
Greg Kroah-Hartman
maintainerPATCH 2/28 ALSA: hda/realtek: Add quirks for Dell models
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stefan Binding <[email protected]>
commit 423206604b28174698d77bf5ea81365cdd6c0f77 upstream.
These models use 2 or 4 CS35L41 amps with HDA using SPI and I2C. Models use internal and external boost.
All models require DSD support to be added inside cs35l41_hda_property.c
--- sound/pci/hda/patch_realtek.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
sound/pci/hda/patch_realtek.c +13 -0
@@ -6956,6 +6956,11 @@ static void cs35l41_fixup_i2c_two(struct hda_codec *cdc, const struct hda_fixupcs35l41_generic_fixup (cdc, action,"i2c" ,"CSC3551" ,2 ); } +static void cs35l41_fixup_i2c_four (struct hda_codec *cdc,const struct hda_fixup *fix,int action) +{ +cs35l41_generic_fixup (cdc, action,"i2c" ,"CSC3551" ,4 ); +} +static void cs35l41_fixup_spi_two (struct hda_codec *codec,const struct hda_fixup *fix,int action) {cs35l41_generic_fixup (codec, action,"spi" ,"CSC3551" ,2 );
@@ -7441,6 +7446,7 @@ enum {ALC287_FIXUP_LEGION_16ACHG6 ,ALC287_FIXUP_CS35L41_I2C_2 ,ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED , +ALC287_FIXUP_CS35L41_I2C_4 ,ALC245_FIXUP_CS35L41_SPI_2 ,ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED , ALC245_FIXUP_CS35L41_SPI_4,
@@ -9427,6 +9433,10 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC285_FIXUP_HP_MUTE_LED, }, + [ALC287_FIXUP_CS35L41_I2C_4] = { + .type = HDA_FIXUP_FUNC, + .v.func = cs35l41_fixup_i2c_four, + }, [ALC245_FIXUP_CS35L41_SPI_2] = { .type = HDA_FIXUP_FUNC, .v.func = cs35l41_fixup_spi_two,
@@ -9703,6 +9713,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {SND_PCI_QUIRK (0x1028 ,0x0a9e ,"Dell Latitude 5430" ,ALC269_FIXUP_DELL4_MIC_NO_PRESENCE ),SND_PCI_QUIRK (0x1028 ,0x0b19 ,"Dell XPS 15 9520" ,ALC289_FIXUP_DUAL_SPK ),SND_PCI_QUIRK (0x1028 ,0x0b1a ,"Dell Precision 5570" ,ALC289_FIXUP_DUAL_SPK ), +SND_PCI_QUIRK (0x1028 ,0x0b27 ,"Dell" ,ALC245_FIXUP_CS35L41_SPI_2 ), +SND_PCI_QUIRK (0x1028 ,0x0b28 ,"Dell" ,ALC245_FIXUP_CS35L41_SPI_2 ),SND_PCI_QUIRK (0x1028 ,0x0b37 ,"Dell Inspiron 16 Plus 7620 2-in-1" ,ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS ),SND_PCI_QUIRK (0x1028 ,0x0b71 ,"Dell Inspiron 16 Plus 7620" ,ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS ), SND_PCI_QUIRK(0x1028, 0x0beb, "Dell XPS 15 9530 (2023)", ALC289_FIXUP_DELL_CS35L41_SPI_2),
@@ -9713,6 +9725,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {SND_PCI_QUIRK (0x1028 ,0x0c1c ,"Dell Precision 3540" ,ALC236_FIXUP_DELL_DUAL_CODECS ),SND_PCI_QUIRK (0x1028 ,0x0c1d ,"Dell Precision 3440" ,ALC236_FIXUP_DELL_DUAL_CODECS ),SND_PCI_QUIRK (0x1028 ,0x0c1e ,"Dell Precision 3540" ,ALC236_FIXUP_DELL_DUAL_CODECS ), +SND_PCI_QUIRK (0x1028 ,0x0c4d ,"Dell" ,ALC287_FIXUP_CS35L41_I2C_4 ),SND_PCI_QUIRK (0x1028 ,0x0cbd ,"Dell Oasis 13 CS MTL-U" ,ALC289_FIXUP_DELL_CS35L41_SPI_2 ),SND_PCI_QUIRK (0x1028 ,0x0cbe ,"Dell Oasis 13 2-IN-1 MTL-U" ,ALC289_FIXUP_DELL_CS35L41_SPI_2 ), SND_PCI_QUIRK(0x1028, 0x0cbf, "Dell Oasis 13 Low Weight MTU-L", ALC289_FIXUP_DELL_CS35L41_SPI_2),
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 3/28 ALSA: hda: cs35l41: Support additional Dell models without _DSD
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stefan Binding <[email protected]>
commit ee694e7db47e1af00ffb29f569904a9ed576868f upstream.
Add new model entries into configuration table.
--- sound/pci/hda/cs35l41_hda_property.c | 8 ++++++++ 1 file changed, 8 insertions(+)
sound/pci/hda/cs35l41_hda_property.c +8 -0
@@ -35,6 +35,10 @@ struct cs35l41_config { };static const struct cs35l41_config cs35l41_config_table[] = { + {"10280B27" ,SPI ,2 ,INTERNAL , {CS35L41_LEFT ,CS35L41_RIGHT ,0 ,0 },1 ,2 ,0 ,1000 ,4500 ,24 }, + {"10280B28" ,SPI ,2 ,INTERNAL , {CS35L41_LEFT ,CS35L41_RIGHT ,0 ,0 },1 ,2 ,0 ,1000 ,4500 ,24 }, + {"10280BEB" ,SPI ,2 ,EXTERNAL , {CS35L41_LEFT ,CS35L41_RIGHT ,0 ,0 },1 ,-1 ,0 ,0 ,0 ,0 }, + {"10280C4D" ,I2C ,4 ,INTERNAL , {CS35L41_LEFT ,CS35L41_RIGHT ,CS35L41_LEFT ,CS35L41_RIGHT },0 ,1 ,-1 ,1000 ,4500 ,24 },/* * Device 103C89C6 does have _DSD, however it is setup to use the wrong boost type. * We can override the _DSD to correct the boost type here.
@@ -345,6 +349,10 @@ struct cs35l41_prop_model {static const struct cs35l41_prop_model cs35l41_prop_model_table[] = { {"CLSA0100" ,NULL , lenovo_legion_no_acpi }, {"CLSA0101" ,NULL , lenovo_legion_no_acpi }, + {"CSC3551" ,"10280B27" , generic_dsd_config }, + {"CSC3551" ,"10280B28" , generic_dsd_config }, + {"CSC3551" ,"10280BEB" , generic_dsd_config }, + {"CSC3551" ,"10280C4D" , generic_dsd_config }, {"CSC3551" ,"103C89C6" , generic_dsd_config }, {"CSC3551" ,"104312AF" , generic_dsd_config }, {"CSC3551" ,"10431433" , generic_dsd_config },
Greg Kroah-Hartman
maintainerPATCH 4/28 ALSA: hda: cs35l41: Prevent firmware load if SPI speed too low
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stefan Binding <[email protected]>
commit d110858a6925827609d11db8513d76750483ec06 upstream.
Some laptops without _DSD have the SPI speed set very low in the BIOS. Since the SPI controller uses this speed as its max speed, the SPI transactions are very slow. Firmware download writes to many registers, and if the SPI speed is too slow, it can take a long time to download. For this reason, disable firmware loading if the maximum SPI speed is too low. Without Firmware, audio playback will work, but the volume will be low to ensure safe operation of the CS35L41.
--- sound/pci/hda/cs35l41_hda.c | 25 ++++++++++- sound/pci/hda/cs35l41_hda.h | 12 +++++ sound/pci/hda/cs35l41_hda_i2c.c | 2 sound/pci/hda/cs35l41_hda_property.c | 74 ++++++++++++++++------------------- sound/pci/hda/cs35l41_hda_spi.c | 2 5 files changed, 70 insertions(+), 45 deletions(-)
sound/pci/hda/cs35l41_hda.c +22 -3
@@ -12,6 +12,7 @@#include <sound/hda_codec.h> #include <sound/soc.h> #include <linux/pm_runtime.h> +#include <linux/spi/spi.h> #include "hda_local.h" #include "hda_auto_parser.h" #include "hda_jack.h"
@@ -996,6 +997,11 @@ static int cs35l41_smart_amp(struct cs35__be32 halo_sts;int ret; +if (cs35l41->bypass_fw) { +dev_warn (cs35l41->dev,"Bypassing Firmware.\n" ); +return 0 ; + } + ret =cs35l41_init_dsp (cs35l41);if (ret) {dev_warn (cs35l41->dev,"Cannot Initialize Firmware. Error: %d\n" , ret);
@@ -1588,6 +1594,7 @@ static int cs35l41_hda_read_acpi(structu32 values[HDA_MAX_COMPONENTS ];struct acpi_device *adev;struct device *physdev; +struct spi_device *spi;const char *sub;char *property;size_t nval;
@@ -1610,7 +1617,7 @@ static int cs35l41_hda_read_acpi(struct ret =cs35l41_add_dsd_properties (cs35l41, physdev, id, hid);if (!ret) {dev_info (cs35l41->dev,"Using extra _DSD properties, bypassing _DSD in ACPI\n" ); - goto put_physdev; + goto out; } property ="cirrus,dev-index" ;
@@ -1701,8 +1708,20 @@ static int cs35l41_hda_read_acpi(struct hw_cfg->bst_type =CS35L41_EXT_BOOST ; hw_cfg->valid = true; +out:put_device (physdev); + cs35l41->bypass_fw = false; +if (cs35l41->control_bus ==SPI ) { + spi =to_spi_device (cs35l41->dev); +if (spi->max_speed_hz <CS35L41_MAX_ACCEPTABLE_SPI_SPEED_HZ ) { +dev_warn (cs35l41->dev, +"SPI speed is too slow to support firmware download: %d Hz.\n" , + spi->max_speed_hz); + cs35l41->bypass_fw = true; + } + } +return 0 ; err:
@@ -1711,14 +1730,13 @@ err: hw_cfg->gpio1.valid = false; hw_cfg->gpio2.valid = false;acpi_dev_put (cs35l41->dacpi); -put_physdev:put_device (physdev);return ret; }int cs35l41_hda_probe (struct device *dev,const char *device_name,int id,int irq, -struct regmap *regmap) +struct regmap *regmap,enum control_bus control_bus) {unsigned int regid, reg_revid;struct cs35l41_hda *cs35l41;
@@ -1737,6 +1755,7 @@ int cs35l41_hda_probe(struct device *dev cs35l41->dev = dev; cs35l41->irq = irq; cs35l41->regmap = regmap; + cs35l41->control_bus = control_bus;dev_set_drvdata (dev, cs35l41); ret =cs35l41_hda_read_acpi (cs35l41, device_name, id);
sound/pci/hda/cs35l41_hda.h +11 -1
@@ -20,6 +20,8 @@#include <linux/firmware/cirrus/cs_dsp.h> #include <linux/firmware/cirrus/wmfw.h> +#define CS35L41_MAX_ACCEPTABLE_SPI_SPEED_HZ 1000000 +struct cs35l41_amp_cal_data {u32 calTarget[2 ];u32 calTime[2 ];
@@ -46,6 +48,11 @@ enum cs35l41_hda_gpio_function { CS35l41_SYNC, }; +enum control_bus { +I2C , +SPI +}; +struct cs35l41_hda {struct device *dev;struct regmap *regmap;
@@ -74,6 +81,9 @@ struct cs35l41_hda {struct cs_dsp cs_dsp;struct acpi_device *dacpi;bool mute_override; +enum control_bus control_bus; +bool bypass_fw; + };enum halo_state {
@@ -85,7 +95,7 @@ enum halo_state {extern const struct dev_pm_ops cs35l41_hda_pm_ops;int cs35l41_hda_probe (struct device *dev,const char *device_name,int id,int irq, -struct regmap *regmap); +struct regmap *regmap,enum control_bus control_bus);void cs35l41_hda_remove (struct device *dev);int cs35l41_get_speaker_id (struct device *dev,int amp_index,int num_amps,int fixed_gpio_id);
sound/pci/hda/cs35l41_hda_i2c.c +1 -1
@@ -30,7 +30,7 @@ static int cs35l41_hda_i2c_probe(structreturn -ENODEV ;return cs35l41_hda_probe (&clt->dev, device_name, clt->addr, clt->irq, -devm_regmap_init_i2c (clt, &cs35l41_regmap_i2c)); +devm_regmap_init_i2c (clt, &cs35l41_regmap_i2c),I2C ); }static void cs35l41_hda_i2c_remove (struct i2c_client *clt)
sound/pci/hda/cs35l41_hda_property.c +35 -39
98 lines not on this page · raw message
sound/pci/hda/cs35l41_hda_spi.c +1 -1
@@ -26,7 +26,7 @@ static int cs35l41_hda_spi_probe(structreturn -ENODEV ;return cs35l41_hda_probe (&spi->dev, device_name,spi_get_chipselect (spi,0 ), spi->irq, -devm_regmap_init_spi (spi, &cs35l41_regmap_spi)); +devm_regmap_init_spi (spi, &cs35l41_regmap_spi),SPI ); }static void cs35l41_hda_spi_remove (struct spi_device *spi)
Greg Kroah-Hartman
maintainerPATCH 5/28 ALSA: hda: Add driver properties for cs35l41 for Lenovo Legion Slim 7 Gen 8 serie
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dorian Cruveiller <[email protected]>
commit ba7053b4b4a4ddcf530fa2b897e697004715d086 upstream.
Add driver properties on 4 models of this laptop serie since they don't have _DSD in the ACPI table
--- sound/pci/hda/cs35l41_hda_property.c | 8 ++++++++ 1 file changed, 8 insertions(+)
sound/pci/hda/cs35l41_hda_property.c +8 -0
@@ -71,6 +71,10 @@ static const struct cs35l41_config cs35l { "10431F12", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, { "10431F1F", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 0, 0, 0 }, { "10431F62", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 }, + { "17AA38B4", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, + { "17AA38B5", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, + { "17AA38B6", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, + { "17AA38B7", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, {} };
@@ -379,6 +383,10 @@ static const struct cs35l41_prop_model c { "CSC3551", "10431F12", generic_dsd_config }, { "CSC3551", "10431F1F", generic_dsd_config }, { "CSC3551", "10431F62", generic_dsd_config }, + { "CSC3551", "17AA38B4", generic_dsd_config }, + { "CSC3551", "17AA38B5", generic_dsd_config }, + { "CSC3551", "17AA38B6", generic_dsd_config }, + { "CSC3551", "17AA38B7", generic_dsd_config }, {} };
Greg Kroah-Hartman
maintainerPATCH 6/28 ALSA: hda/realtek: enable SND_PCI_QUIRK for Lenovo Legion Slim 7 Gen 8 (2023) serie
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dorian Cruveiller <[email protected]>
commit 99af5b11c57d33c32d761797f6308b40936c22ed upstream.
Link up the realtek audio chip to the cirrus cs35l41 sound amplifier chip on 4 models of the Lenovo legion slim 7 gen 8 (2023). These models are 16IRH8 (2 differents subsystem id) and 16APH8 (2 differents subsystem ids).
Subsystem ids list:
- 17AA38B4
- 17AA38B5
- 17AA38B6
- 17AA38B7
--- sound/pci/hda/patch_realtek.c | 4 ++++ 1 file changed, 4 insertions(+)
sound/pci/hda/patch_realtek.c +4 -0
@@ -10242,6 +10242,10 @@ static const struct snd_pci_quirk alc269SND_PCI_QUIRK (0x17aa ,0x3886 ,"Y780 VECO DUAL" ,ALC287_FIXUP_TAS2781_I2C ),SND_PCI_QUIRK (0x17aa ,0x38a7 ,"Y780P AMD YG dual" ,ALC287_FIXUP_TAS2781_I2C ),SND_PCI_QUIRK (0x17aa ,0x38a8 ,"Y780P AMD VECO dual" ,ALC287_FIXUP_TAS2781_I2C ), +SND_PCI_QUIRK (0x17aa ,0x38b4 ,"Legion Slim 7 16IRH8" ,ALC287_FIXUP_CS35L41_I2C_2 ), +SND_PCI_QUIRK (0x17aa ,0x38b5 ,"Legion Slim 7 16IRH8" ,ALC287_FIXUP_CS35L41_I2C_2 ), +SND_PCI_QUIRK (0x17aa ,0x38b6 ,"Legion Slim 7 16APH8" ,ALC287_FIXUP_CS35L41_I2C_2 ), +SND_PCI_QUIRK (0x17aa ,0x38b7 ,"Legion Slim 7 16APH8" ,ALC287_FIXUP_CS35L41_I2C_2 ),SND_PCI_QUIRK (0x17aa ,0x38ba ,"Yoga S780-14.5 Air AMD quad YC" ,ALC287_FIXUP_TAS2781_I2C ),SND_PCI_QUIRK (0x17aa ,0x38bb ,"Yoga S780-14.5 Air AMD quad AAC" ,ALC287_FIXUP_TAS2781_I2C ), SND_PCI_QUIRK(0x17aa, 0x38be, "Yoga S980-14.5 proX YC Dual", ALC287_FIXUP_TAS2781_I2C),
Greg Kroah-Hartman
maintainerPATCH 7/28 ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tom Jason Schwanke <[email protected]>
commit 6b3d14b7f9b1acaf7303d8499836bf78ee9c470c upstream.
This enables the mute and mic-mute LEDs on the HP Envy X360 13-ay0xxx convertibles.
The quirk 'ALC245_FIXUP_HP_X360_MUTE_LEDS' already exists and is now enabled for this device.
--- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+)
sound/pci/hda/patch_realtek.c +1 -0
@@ -9829,6 +9829,7 @@ static const struct snd_pci_quirk alc269SND_PCI_QUIRK (0x103c ,0x8735 ,"HP ProBook 435 G7" ,ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),SND_PCI_QUIRK (0x103c ,0x8736 ,"HP" ,ALC285_FIXUP_HP_GPIO_AMP_INIT ),SND_PCI_QUIRK (0x103c ,0x8760 ,"HP" ,ALC285_FIXUP_HP_MUTE_LED ), +SND_PCI_QUIRK (0x103c ,0x876e ,"HP ENVY x360 Convertible 13-ay0xxx" ,ALC245_FIXUP_HP_X360_MUTE_LEDS ),SND_PCI_QUIRK (0x103c ,0x877a ,"HP" ,ALC285_FIXUP_HP_MUTE_LED ),SND_PCI_QUIRK (0x103c ,0x877d ,"HP" ,ALC236_FIXUP_HP_MUTE_LED ), SND_PCI_QUIRK(0x103c, 0x8780, "HP ZBook Fury 17 G7 Mobile Workstation",
Greg Kroah-Hartman
maintainerPATCH 8/28 ALSA: hda: cs35l41: Support more HP models without _DSD
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lorenz Brun <[email protected]>
commit 7d65d70161ef75a3991480c91668ac11acedf211 upstream.
This adds overrides for a series of notebooks using a common config taken from HP's proprietary Windows driver.
This has been tested on a HP 15-ey0xxxx device (subsystem 103C8A31) together with another Realtek quirk and the calibration files from the proprietary driver.
--- sound/pci/hda/cs35l41_hda_property.c | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
sound/pci/hda/cs35l41_hda_property.c +44 -0
@@ -42,6 +42,28 @@ static const struct cs35l41_config cs35l* in the ACPI. The Reset GPIO is also valid, so we can use the Reset defined in _DSD. */ { "103C89C6", 2, INTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, 0, 0 }, -1, -1, -1, 1000, 4500, 24 }, + { "103C8A28", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A29", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A2A", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A2B", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A2C", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A2D", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A2E", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A30", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8A31", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BB3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BB4", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BDF", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE0", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE1", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE2", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE9", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BDD", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BDE", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE5", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8BE6", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, + { "103C8B3A", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 }, { "104312AF", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 }, { "10431433", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, { "10431463", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
@@ -354,6 +376,28 @@ static const struct cs35l41_prop_model c { "CSC3551", "10280BEB", generic_dsd_config }, { "CSC3551", "10280C4D", generic_dsd_config }, { "CSC3551", "103C89C6", generic_dsd_config }, + { "CSC3551", "103C8A28", generic_dsd_config }, + { "CSC3551", "103C8A29", generic_dsd_config }, + { "CSC3551", "103C8A2A", generic_dsd_config }, + { "CSC3551", "103C8A2B", generic_dsd_config }, + { "CSC3551", "103C8A2C", generic_dsd_config }, + { "CSC3551", "103C8A2D", generic_dsd_config }, + { "CSC3551", "103C8A2E", generic_dsd_config }, + { "CSC3551", "103C8A30", generic_dsd_config }, + { "CSC3551", "103C8A31", generic_dsd_config }, + { "CSC3551", "103C8BB3", generic_dsd_config }, + { "CSC3551", "103C8BB4", generic_dsd_config }, + { "CSC3551", "103C8BDF", generic_dsd_config }, + { "CSC3551", "103C8BE0", generic_dsd_config }, + { "CSC3551", "103C8BE1", generic_dsd_config }, + { "CSC3551", "103C8BE2", generic_dsd_config }, + { "CSC3551", "103C8BE9", generic_dsd_config }, + { "CSC3551", "103C8BDD", generic_dsd_config }, + { "CSC3551", "103C8BDE", generic_dsd_config }, + { "CSC3551", "103C8BE3", generic_dsd_config }, + { "CSC3551", "103C8BE5", generic_dsd_config }, + { "CSC3551", "103C8BE6", generic_dsd_config }, + { "CSC3551", "103C8B3A", generic_dsd_config }, { "CSC3551", "104312AF", generic_dsd_config }, { "CSC3551", "10431433", generic_dsd_config }, { "CSC3551", "10431463", generic_dsd_config },
Greg Kroah-Hartman
maintainerPATCH 9/28 ACPI: resource: Add another DMI match for the TongFang GMxXGxx
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hans de Goede <[email protected]>
commit df0cced74159c79e36ce7971f0bf250673296d93 upstream.
The TongFang GMxXGxx, which needs IRQ overriding for the keyboard to work, is also sold as the Eluktronics RP-15 which does not use the standard TongFang GMxXGxx DMI board_name.
Add an entry for this laptop to the irq1_edge_low_force_override[] DMI table to make the internal keyboard functional.
--- drivers/acpi/resource.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/acpi/resource.c +7 -0
@@ -511,6 +511,13 @@ static const struct dmi_system_id irq1_e }, }, { +/* TongFang GMxXGxx sold as Eluktronics Inc. RP-15 */ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Eluktronics Inc." ), + DMI_MATCH(DMI_BOARD_NAME, "RP-15"), + }, + }, + {/* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "GM6XGxX"),
Greg Kroah-Hartman
maintainerPATCH 10/28 bus: moxtet: Mark the irq as shared
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sjoerd Simons <[email protected]>
commit e7830f5a83e96d8cb8efc0412902a03008f8fbe3 upstream.
The Turris Mox shares the moxtet IRQ with various devices on the board, so mark the IRQ as shared in the driver as well.
Without this loading the module will fail with:
genirq: Flags mismatch irq 40. 00002002 (moxtet) vs. 00002080 (mcp7940x)
--- drivers/bus/moxtet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/bus/moxtet.c +1 -1
@@ -755,7 +755,7 @@ static int moxtet_irq_setup(struct moxte moxtet->irq.masked = ~0 ; ret =request_threaded_irq (moxtet->dev_irq,NULL , moxtet_irq_thread_fn, -IRQF_ONESHOT ,"moxtet" , moxtet); +IRQF_SHARED |IRQF_ONESHOT ,"moxtet" , moxtet);if (ret <0 ) goto err_free;
Greg Kroah-Hartman
maintainerPATCH 11/28 bus: moxtet: Add spi device table
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sjoerd Simons <[email protected]>
commit aaafe88d5500ba18b33be72458439367ef878788 upstream.
The moxtet module fails to auto-load on. Add a SPI id table to allow it to do so.
--- drivers/bus/moxtet.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/bus/moxtet.c +7 -0
@@ -830,6 +830,12 @@ static void moxtet_remove(struct spi_devmutex_destroy (&moxtet->lock); } +static const struct spi_device_id moxtet_spi_ids[] = { + {"moxtet" }, + { }, +}; +MODULE_DEVICE_TABLE (spi, moxtet_spi_ids); +static const struct of_device_id moxtet_dt_ids[] = { { .compatible ="cznic,moxtet" }, {},
@@ -841,6 +847,7 @@ static struct spi_driver moxtet_spi_driv .name = "moxtet", .of_match_table = moxtet_dt_ids, }, + .id_table = moxtet_spi_ids, .probe = moxtet_probe, .remove = moxtet_remove, };
Greg Kroah-Hartman
maintainerPATCH 12/28 drm/amd/display: Pass pwrseq inst for backlight and ABM
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lewis Huang <[email protected]>
commit b17ef04bf3a4346d66404454d6a646343ddc9749 upstream.
[Why]
OTG inst and pwrseq inst mapping is not align therefore we cannot use otg_inst as pwrseq inst to get DCIO register.
[How]
1. Pass the correct pwrseq instance to dmub when set abm pipe.
2. LVTMA control index change from panel_inst to pwrseq_inst.
--- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 4 drivers/gpu/drm/amd/display/dc/bios/command_table2.c | 12 +- drivers/gpu/drm/amd/display/dc/bios/command_table2.h | 2 drivers/gpu/drm/amd/display/dc/dc_bios_types.h | 2 drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 8 + drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 7 + drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h | 2 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.c | 5 - drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 16 +-- drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 36 ++++++-- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 3 drivers/gpu/drm/amd/display/dc/inc/hw/panel_cntl.h | 2 drivers/gpu/drm/amd/display/dc/link/link_factory.c | 59 +++++++++----- drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 14 ++- 14 files changed, 119 insertions(+), 53 deletions(-)
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +2 -2
@@ -1698,7 +1698,7 @@ static enum bp_result bios_parser_enablestatic enum bp_result bios_parser_enable_lvtma_control (struct dc_bios *dcb,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait) {struct bios_parser *bp =BP_FROM_DCB (dcb);
@@ -1706,7 +1706,7 @@ static enum bp_result bios_parser_enableif (!bp->cmd_tbl.enable_lvtma_control)return BP_RESULT_FAILURE ; -return bp->cmd_tbl.enable_lvtma_control (bp, uc_pwr_on, panel_instance, bypass_panel_control_wait); +return bp->cmd_tbl.enable_lvtma_control (bp, uc_pwr_on, pwrseq_instance, bypass_panel_control_wait); } static bool bios_parser_is_accelerated_mode(
drivers/gpu/drm/amd/display/dc/bios/command_table2.c +6 -6
@@ -976,7 +976,7 @@ static unsigned int get_smu_clock_info_vstatic enum bp_result enable_lvtma_control (struct bios_parser *bp,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait);static void init_enable_lvtma_control (struct bios_parser *bp)
@@ -989,7 +989,7 @@ static void init_enable_lvtma_control(ststatic void enable_lvtma_control_dmcub (struct dc_dmub_srv *dmcub,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait) {
@@ -1002,8 +1002,8 @@ static void enable_lvtma_control_dmcub(DMUB_CMD__VBIOS_LVTMA_CONTROL ; cmd.lvtma_control.data.uc_pwr_action = uc_pwr_on; - cmd.lvtma_control.data.panel_inst = - panel_instance; + cmd.lvtma_control.data.pwrseq_inst = + pwrseq_instance; cmd.lvtma_control.data.bypass_panel_control_wait = bypass_panel_control_wait;dm_execute_dmub_cmd (dmcub->ctx, &cmd,DM_DMUB_WAIT_TYPE_WAIT );
@@ -1012,7 +1012,7 @@ static void enable_lvtma_control_dmcub(static enum bp_result enable_lvtma_control (struct bios_parser *bp,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait) {enum bp_result result =BP_RESULT_FAILURE ;
@@ -1021,7 +1021,7 @@ static enum bp_result enable_lvtma_contr bp->base.ctx->dc->debug.dmub_command_table) {enable_lvtma_control_dmcub (bp->base.ctx->dmub_srv, uc_pwr_on, - panel_instance, + pwrseq_instance, bypass_panel_control_wait);return BP_RESULT_OK ; }
drivers/gpu/drm/amd/display/dc/bios/command_table2.h +1 -1
@@ -96,7 +96,7 @@ struct cmd_tbl { struct bios_parser *bp, uint8_t id);enum bp_result (*enable_lvtma_control)(struct bios_parser *bp,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait); };
drivers/gpu/drm/amd/display/dc/dc_bios_types.h +1 -1
@@ -140,7 +140,7 @@ struct dc_vbios_funcs {enum bp_result (*enable_lvtma_control)(struct dc_bios *bios,uint8_t uc_pwr_on, -uint8_t panel_instance, +uint8_t pwrseq_instance,uint8_t bypass_panel_control_wait); enum bp_result (*get_soc_bb_info)(
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c +6 -2
@@ -145,7 +145,11 @@ static bool dmub_abm_save_restore_ex(return ret; } -static bool dmub_abm_set_pipe_ex (struct abm *abm,uint32_t otg_inst,uint32_t option,uint32_t panel_inst) +static bool dmub_abm_set_pipe_ex (struct abm *abm, +uint32_t otg_inst, +uint32_t option, +uint32_t panel_inst, +uint32_t pwrseq_inst) {bool ret = false;unsigned int feature_support;
@@ -153,7 +157,7 @@ static bool dmub_abm_set_pipe_ex(struct feature_support =abm_feature_support (abm, panel_inst);if (feature_support ==ABM_LCD_SUPPORT ) - ret =dmub_abm_set_pipe (abm, otg_inst, option, panel_inst); + ret =dmub_abm_set_pipe (abm, otg_inst, option, panel_inst, pwrseq_inst);return ret; }
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c +6 -1
@@ -254,7 +254,11 @@ bool dmub_abm_save_restore(return true; } -bool dmub_abm_set_pipe (struct abm *abm,uint32_t otg_inst,uint32_t option,uint32_t panel_inst) +bool dmub_abm_set_pipe (struct abm *abm, +uint32_t otg_inst, +uint32_t option, +uint32_t panel_inst, +uint32_t pwrseq_inst) {union dmub_rb_cmd cmd;struct dc_context *dc = abm->ctx;
@@ -264,6 +268,7 @@ bool dmub_abm_set_pipe(struct abm *abm, cmd.abm_set_pipe.header.type =DMUB_CMD__ABM ; cmd.abm_set_pipe.header.sub_type =DMUB_CMD__ABM_SET_PIPE ; cmd.abm_set_pipe.abm_set_pipe_data.otg_inst = otg_inst; + cmd.abm_set_pipe.abm_set_pipe_data.pwrseq_inst = pwrseq_inst; cmd.abm_set_pipe.abm_set_pipe_data.set_pipe_option = option; cmd.abm_set_pipe.abm_set_pipe_data.panel_inst = panel_inst; cmd.abm_set_pipe.abm_set_pipe_data.ramping_boundary = ramping_boundary;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h +1 -1
@@ -44,7 +44,7 @@ bool dmub_abm_save_restore(struct dc_context *dc, unsigned int panel_inst, struct abm_save_restore *pData); -bool dmub_abm_set_pipe (struct abm *abm,uint32_t otg_inst,uint32_t option,uint32_t panel_inst); +bool dmub_abm_set_pipe (struct abm *abm,uint32_t otg_inst,uint32_t option,uint32_t panel_inst,uint32_t pwrseq_inst); bool dmub_abm_set_backlight_level(struct abm *abm, unsigned int backlight_pwm_u16_16, unsigned int frame_ramp,
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.c +3 -2
@@ -50,7 +50,7 @@ static bool dcn31_query_backlight_info(s cmd->panel_cntl.header.type =DMUB_CMD__PANEL_CNTL ; cmd->panel_cntl.header.sub_type =DMUB_CMD__PANEL_CNTL_QUERY_BACKLIGHT_INFO ; cmd->panel_cntl.header.payload_bytes =sizeof (cmd->panel_cntl.data); - cmd->panel_cntl.data.inst = dcn31_panel_cntl->base.inst; + cmd->panel_cntl.data.pwrseq_inst = dcn31_panel_cntl->base.pwrseq_inst;return dm_execute_dmub_cmd (dc_dmub_srv->ctx, cmd,DM_DMUB_WAIT_TYPE_WAIT_WITH_REPLY ); }
@@ -78,7 +78,7 @@ static uint32_t dcn31_panel_cntl_hw_init cmd.panel_cntl.header.type =DMUB_CMD__PANEL_CNTL ; cmd.panel_cntl.header.sub_type =DMUB_CMD__PANEL_CNTL_HW_INIT ; cmd.panel_cntl.header.payload_bytes =sizeof (cmd.panel_cntl.data); - cmd.panel_cntl.data.inst = dcn31_panel_cntl->base.inst; + cmd.panel_cntl.data.pwrseq_inst = dcn31_panel_cntl->base.pwrseq_inst; cmd.panel_cntl.data.bl_pwm_cntl = panel_cntl->stored_backlight_registers.BL_PWM_CNTL; cmd.panel_cntl.data.bl_pwm_period_cntl = panel_cntl->stored_backlight_registers.BL_PWM_PERIOD_CNTL; cmd.panel_cntl.data.bl_pwm_ref_div1 =
@@ -157,4 +157,5 @@ void dcn31_panel_cntl_construct( dcn31_panel_cntl->base.funcs = &dcn31_link_panel_cntl_funcs; dcn31_panel_cntl->base.ctx = init_data->ctx; dcn31_panel_cntl->base.inst = init_data->inst; + dcn31_panel_cntl->base.pwrseq_inst = init_data->pwrseq_inst; }
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c +8 -8
@@ -790,7 +790,7 @@ void dce110_edp_power_control(struct dc_context *ctx = link->ctx;struct bp_transmitter_control cntl = {0 };enum bp_result bp_result; -uint8_t panel_instance; +uint8_t pwrseq_instance; if (dal_graphics_object_id_get_connector_id(link->link_enc->connector)
@@ -873,7 +873,7 @@ void dce110_edp_power_control( cntl.coherent = false; cntl.lanes_number =LANE_COUNT_FOUR ; cntl.hpd_sel = link->link_enc->hpd_source; - panel_instance = link->panel_cntl->inst; + pwrseq_instance = link->panel_cntl->pwrseq_inst;if (ctx->dc->ctx->dmub_srv && ctx->dc->debug.dmub_command_table) {
@@ -881,11 +881,11 @@ void dce110_edp_power_control(if (cntl.action ==TRANSMITTER_CONTROL_POWER_ON ) { bp_result = ctx->dc_bios->funcs->enable_lvtma_control (ctx->dc_bios,LVTMA_CONTROL_POWER_ON , - panel_instance, link->link_powered_externally); + pwrseq_instance, link->link_powered_externally); }else { bp_result = ctx->dc_bios->funcs->enable_lvtma_control (ctx->dc_bios,LVTMA_CONTROL_POWER_OFF , - panel_instance, link->link_powered_externally); + pwrseq_instance, link->link_powered_externally); } }
@@ -956,7 +956,7 @@ void dce110_edp_backlight_control( {struct dc_context *ctx = link->ctx;struct bp_transmitter_control cntl = {0 }; -uint8_t panel_instance; +uint8_t pwrseq_instance;unsigned int pre_T11_delay =OLED_PRE_T11_DELAY ;unsigned int post_T7_delay =OLED_POST_T7_DELAY ;
@@ -1009,7 +1009,7 @@ void dce110_edp_backlight_control(*/ /* dc_service_sleep_in_milliseconds(50); */ /*edp 1.2*/ - panel_instance = link->panel_cntl->inst; + pwrseq_instance = link->panel_cntl->pwrseq_inst;if (cntl.action ==TRANSMITTER_CONTROL_BACKLIGHT_ON ) {if (!link->dc->config.edp_no_power_sequencing)
@@ -1034,11 +1034,11 @@ void dce110_edp_backlight_control(if (cntl.action ==TRANSMITTER_CONTROL_BACKLIGHT_ON ) ctx->dc_bios->funcs->enable_lvtma_control (ctx->dc_bios,LVTMA_CONTROL_LCD_BLON , - panel_instance, link->link_powered_externally); + pwrseq_instance, link->link_powered_externally);else ctx->dc_bios->funcs->enable_lvtma_control (ctx->dc_bios,LVTMA_CONTROL_LCD_BLOFF , - panel_instance, link->link_powered_externally); + pwrseq_instance, link->link_powered_externally); }link_transmitter_control (ctx->dc_bios, &cntl);
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c +28 -8
@@ -137,7 +137,8 @@ void dcn21_PLAT_58856_wa(struct dc_state pipe_ctx->stream->dpms_off = true; } -static bool dmub_abm_set_pipe (struct abm *abm,uint32_t otg_inst,uint32_t option,uint32_t panel_inst) +static bool dmub_abm_set_pipe (struct abm *abm,uint32_t otg_inst, +uint32_t option,uint32_t panel_inst,uint32_t pwrseq_inst) {union dmub_rb_cmd cmd;struct dc_context *dc = abm->ctx;
@@ -147,6 +148,7 @@ static bool dmub_abm_set_pipe(struct abm cmd.abm_set_pipe.header.type =DMUB_CMD__ABM ; cmd.abm_set_pipe.header.sub_type =DMUB_CMD__ABM_SET_PIPE ; cmd.abm_set_pipe.abm_set_pipe_data.otg_inst = otg_inst; + cmd.abm_set_pipe.abm_set_pipe_data.pwrseq_inst = pwrseq_inst; cmd.abm_set_pipe.abm_set_pipe_data.set_pipe_option = option; cmd.abm_set_pipe.abm_set_pipe_data.panel_inst = panel_inst; cmd.abm_set_pipe.abm_set_pipe_data.ramping_boundary = ramping_boundary;
@@ -179,7 +181,6 @@ void dcn21_set_abm_immediate_disable(strstruct abm *abm = pipe_ctx->stream_res.abm;uint32_t otg_inst = pipe_ctx->stream_res.tg->inst;struct panel_cntl *panel_cntl = pipe_ctx->stream->link->panel_cntl; -struct dmcu *dmcu = pipe_ctx->stream->ctx->dc->res_pool->dmcu;if (dmcu) {
@@ -190,9 +191,13 @@ void dcn21_set_abm_immediate_disable(strif (abm && panel_cntl) {if (abm->funcs && abm->funcs->set_pipe_ex) { abm->funcs->set_pipe_ex (abm, otg_inst,SET_ABM_PIPE_IMMEDIATELY_DISABLE , - panel_cntl->inst); + panel_cntl->inst, panel_cntl->pwrseq_inst); }else { -dmub_abm_set_pipe (abm, otg_inst,SET_ABM_PIPE_IMMEDIATELY_DISABLE , panel_cntl->inst); +dmub_abm_set_pipe (abm, + otg_inst, +SET_ABM_PIPE_IMMEDIATELY_DISABLE , + panel_cntl->inst, + panel_cntl->pwrseq_inst); } panel_cntl->funcs->store_backlight_level (panel_cntl); }
@@ -212,9 +217,16 @@ void dcn21_set_pipe(struct pipe_ctx *pipif (abm && panel_cntl) {if (abm->funcs && abm->funcs->set_pipe_ex) { - abm->funcs->set_pipe_ex (abm, otg_inst,SET_ABM_PIPE_NORMAL , panel_cntl->inst); + abm->funcs->set_pipe_ex (abm, + otg_inst, +SET_ABM_PIPE_NORMAL , + panel_cntl->inst, + panel_cntl->pwrseq_inst); }else { -dmub_abm_set_pipe (abm, otg_inst,SET_ABM_PIPE_NORMAL , panel_cntl->inst); +dmub_abm_set_pipe (abm, otg_inst, +SET_ABM_PIPE_NORMAL , + panel_cntl->inst, + panel_cntl->pwrseq_inst); } } }
@@ -237,9 +249,17 @@ bool dcn21_set_backlight_level(struct piif (abm && panel_cntl) {if (abm->funcs && abm->funcs->set_pipe_ex) { - abm->funcs->set_pipe_ex (abm, otg_inst,SET_ABM_PIPE_NORMAL , panel_cntl->inst); + abm->funcs->set_pipe_ex (abm, + otg_inst, +SET_ABM_PIPE_NORMAL , + panel_cntl->inst, + panel_cntl->pwrseq_inst); }else { -dmub_abm_set_pipe (abm, otg_inst,SET_ABM_PIPE_NORMAL , panel_cntl->inst); +dmub_abm_set_pipe (abm, + otg_inst, +SET_ABM_PIPE_NORMAL , + panel_cntl->inst, + panel_cntl->pwrseq_inst); } } }
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h +2 -1
@@ -64,7 +64,8 @@ struct abm_funcs {bool (*set_pipe_ex)(struct abm *abm,unsigned int otg_inst,unsigned int option, - unsigned int panel_inst); +unsigned int panel_inst, + unsigned int pwrseq_inst); };#endif
drivers/gpu/drm/amd/display/dc/inc/hw/panel_cntl.h +2 -0
@@ -56,12 +56,14 @@ struct panel_cntl_funcs {struct panel_cntl_init_data {struct dc_context *ctx;uint32_t inst; +uint32_t pwrseq_inst; };struct panel_cntl {const struct panel_cntl_funcs *funcs;struct dc_context *ctx;uint32_t inst; +uint32_t pwrseq_inst;/* registers setting needs to be saved and restored at InitBacklight */ struct panel_cntl_backlight_registers stored_backlight_registers; };
drivers/gpu/drm/amd/display/dc/link/link_factory.c +41 -18
77 lines not on this page · raw message
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h +12 -2
@@ -3357,6 +3357,16 @@ struct dmub_cmd_abm_set_pipe_data {* TODO: Remove. */ uint8_t ramping_boundary; + +/** +* PwrSeq HW Instance. +*/ +uint8_t pwrseq_inst; + +/** +* Explicit padding to 4 byte boundary. +*/ +uint8_t pad[3 ]; };/**
@@ -3737,7 +3747,7 @@ enum dmub_cmd_panel_cntl_type {* struct dmub_cmd_panel_cntl_data - Panel control data. */ struct dmub_cmd_panel_cntl_data { -uint32_t inst;/**< panel instance */ +uint32_t pwrseq_inst;/**< pwrseq instance */ uint32_t current_backlight;/* in/out */ uint32_t bl_pwm_cntl;/* in/out */ uint32_t bl_pwm_period_cntl;/* in/out */
@@ -3796,7 +3806,7 @@ struct dmub_cmd_lvtma_control_data {uint8_t uc_pwr_action;/**< LVTMA_ACTION */ uint8_t bypass_panel_control_wait;uint8_t reserved_0[2 ];/**< For future use */ -uint8_t panel_inst;/**< LVTMA control instance */ +uint8_t pwrseq_inst;/**< LVTMA control instance */ uint8_t reserved_1[3 ];/**< For future use */ };
Greg Kroah-Hartman
maintainerPATCH 13/28 ksmbd: dont allow O_TRUNC open on read-only share
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Namjae Jeon <[email protected]>
commit d592a9158a112d419f341f035d18d02f8d232def upstream.
When file is changed using notepad on read-only share(read_only = yes in ksmbd.conf), There is a problem where existing data is truncated. notepad in windows try to O_TRUNC open(FILE_OVERWRITE_IF) and all data in file is truncated. This patch don't allow O_TRUNC open on read-only share and add KSMBD_TREE_CONN_FLAG_WRITABLE check in smb2_set_info().
--- fs/smb/server/smb2pdu.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-)
fs/smb/server/smb2pdu.c +9 -14
@@ -2971,7 +2971,7 @@ int smb2_open(struct ksmbd_work *work) &may_flags);if (!test_tree_conn_flag (tcon,KSMBD_TREE_CONN_FLAG_WRITABLE )) { -if (open_flags &O_CREAT ) { +if (open_flags & (O_CREAT |O_TRUNC )) {ksmbd_debug (SMB ,"User does not have write permission\n" ); rc = -EACCES ;
@@ -5943,12 +5943,6 @@ static int smb2_set_info_file(struct ksm }case FILE_RENAME_INFORMATION : { -if (!test_tree_conn_flag (work->tcon,KSMBD_TREE_CONN_FLAG_WRITABLE )) { -ksmbd_debug (SMB , -"User does not have write permission\n" ); -return -EACCES ; - } -if (buf_len <sizeof (struct smb2_file_rename_info ))return -EINVAL ;
@@ -5968,12 +5962,6 @@ static int smb2_set_info_file(struct ksm }case FILE_DISPOSITION_INFORMATION : { -if (!test_tree_conn_flag (work->tcon,KSMBD_TREE_CONN_FLAG_WRITABLE )) { -ksmbd_debug (SMB , -"User does not have write permission\n" ); -return -EACCES ; - } -if (buf_len <sizeof (struct smb2_file_disposition_info ))return -EINVAL ;
@@ -6035,7 +6023,7 @@ int smb2_set_info(struct ksmbd_work *wor {struct smb2_set_info_req *req;struct smb2_set_info_rsp *rsp; -struct ksmbd_file *fp; +struct ksmbd_file *fp =NULL ;int rc =0 ;unsigned int id =KSMBD_NO_FID , pid =KSMBD_NO_FID ;
@@ -6055,6 +6043,13 @@ int smb2_set_info(struct ksmbd_work *wor rsp =smb2_get_msg (work->response_buf); } +if (!test_tree_conn_flag (work->tcon,KSMBD_TREE_CONN_FLAG_WRITABLE )) { +ksmbd_debug (SMB ,"User does not have write permission\n" ); +pr_err ("User does not have write permission\n" ); + rc = -EACCES ; + goto err_out; + } +if (!has_file_id (id)) { id = req->VolatileFileId; pid = req->PersistentFileId;
Greg Kroah-Hartman
maintainerPATCH 14/28 ksmbd: free ppace array on error in parse_dacl
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Fedor Pchelkin <[email protected]>
commit 8cf9bedfc3c47d24bb0de386f808f925dc52863e upstream.
The ppace array is not freed if one of the init_acl_state() calls inside parse_dacl() fails. At the moment the function may fail only due to the memory allocation errors so it's highly unlikely in this case but nevertheless a fix is needed.
Move ppace allocation after the init_acl_state() calls with proper error handling.
Found by Linux Verification Center (linuxtesting.org).
--- fs/smb/server/smbacl.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
fs/smb/server/smbacl.c +7 -4
@@ -401,10 +401,6 @@ static void parse_dacl(struct mnt_idmapif (num_aces >ULONG_MAX /sizeof (struct smb_ace *))return ; - ppace =kmalloc_array (num_aces,sizeof (struct smb_ace *),GFP_KERNEL ); -if (!ppace) -return ; - ret =init_acl_state (&acl_state, num_aces);if (ret)return ;
@@ -413,6 +409,13 @@ static void parse_dacl(struct mnt_idmapfree_acl_state (&acl_state);return ; } + + ppace =kmalloc_array (num_aces,sizeof (struct smb_ace *),GFP_KERNEL ); +if (!ppace) { +free_acl_state (&default_acl_state); +free_acl_state (&acl_state); +return ; + }/* * reset rwx permissions for user/group/other.
Greg Kroah-Hartman
maintainerPATCH 15/28 Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Junxiao Bi <[email protected]>
commit bed9e27baf52a09b7ba2a3714f1e24e17ced386d upstream.
This reverts commit 5e2cf333b7bd5d3e62595a44d598a254c697cd74.
That commit introduced the following race and can cause system hung.
md_write_start: raid5d:
// mddev->in_sync == 1
set "MD_SB_CHANGE_PENDING"
// running before md_write_start wakeup it
waiting "MD_SB_CHANGE_PENDING" cleared
>>>>>>>>> hung wakeup mddev->thread
...
waiting "MD_SB_CHANGE_PENDING" cleared
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
hung, raid5d should clear this flag
but get hung by same flag.
The issue reverted commit fixing is fixed by last patch in a new way.
--- drivers/md/raid5.c | 12 ------------ 1 file changed, 12 deletions(-)
drivers/md/raid5.c +0 -12
@@ -36,7 +36,6 @@*/ #include <linux/blkdev.h> -#include <linux/delay.h> #include <linux/kthread.h> #include <linux/raid/pq.h> #include <linux/async_tx.h>
@@ -6820,18 +6819,7 @@ static void raid5d(struct md_thread *thrspin_unlock_irq (&conf->device_lock);md_check_recovery (mddev);spin_lock_irq (&conf->device_lock); - -/* -* Waiting on MD_SB_CHANGE_PENDING below may deadlock -* seeing md_check_recovery() is needed to clear -* the flag when using mdmon. -*/ -continue ; } - -wait_event_lock_irq (mddev->sb_wait, - !test_bit (MD_SB_CHANGE_PENDING , &mddev->sb_flags), - conf->device_lock); }pr_debug ("%d stripes handled\n" , handled);
Greg Kroah-Hartman
maintainerPATCH 16/28 binder: use EPOLLERR from eventpoll.h
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Carlos Llamas <[email protected]>
commit 6ac061db9c58ca5b9270b1b3940d2464fb3ff183 upstream.
Use EPOLLERR instead of POLLERR to make sure it is cast to the correct __poll_t type. This fixes the following sparse issue:
drivers/android/binder.c:5030:24: warning: incorrect type in return expression (different base types)
drivers/android/binder.c:5030:24: expected restricted __poll_t
drivers/android/binder.c:5030:24: got int
--- drivers/android/binder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/android/binder.c +1 -1
@@ -5030,7 +5030,7 @@ static __poll_t binder_poll(struct file thread =binder_get_thread (proc);if (!thread) -return POLLERR ; +return EPOLLERR ;binder_inner_proc_lock (thread->proc); thread->looper |=BINDER_LOOPER_STATE_POLL ;
Greg Kroah-Hartman
maintainerPATCH 17/28 binder: fix use-after-free in shinkers callback
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Carlos Llamas <[email protected]>
commit 3f489c2067c5824528212b0fc18b28d51332d906 upstream.
The mmap read lock is used during the shrinker's callback, which means that using alloc->vma pointer isn't safe as it can race with munmap(). As of commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in munmap") the mmap lock is downgraded after the vma has been isolated.
I was able to reproduce this issue by manually adding some delays and triggering page reclaiming through the shrinker's debug sysfs. The following KASAN report confirms the UAF:
==================================================================
BUG: KASAN: slab-use-after-free in zap_page_range_single+0x470/0x4b8 Read of size 8 at addr ffff356ed50e50f0 by task bash/478 CPU: 1 PID: 478 Comm: bash Not tainted 6.6.0-rc5-00055-g1c8b86a3799f-dirty #70 Hardware name: linux,dummy-virt (DT) Call trace: zap_page_range_single+0x470/0x4b8 binder_alloc_free_page+0x608/0xadc __list_lru_walk_one+0x130/0x3b0 list_lru_walk_node+0xc4/0x22c binder_shrink_scan+0x108/0x1dc shrinker_debugfs_scan_write+0x2b4/0x500 full_proxy_write+0xd4/0x140 vfs_write+0x1ac/0x758 ksys_write+0xf0/0x1dc __arm64_sys_write+0x6c/0x9c Allocated by task 492: kmem_cache_alloc+0x130/0x368 vm_area_alloc+0x2c/0x190 mmap_region+0x258/0x18bc do_mmap+0x694/0xa60 vm_mmap_pgoff+0x170/0x29c ksys_mmap_pgoff+0x290/0x3a0 __arm64_sys_mmap+0xcc/0x144 Freed by task 491: kmem_cache_free+0x17c/0x3c8 vm_area_free_rcu_cb+0x74/0x98 rcu_core+0xa38/0x26d4 rcu_core_si+0x10/0x1c __do_softirq+0x2fc/0xd24 Last potentially related work creation: __call_rcu_common.constprop.0+0x6c/0xba0 call_rcu+0x10/0x1c vm_area_free+0x18/0x24 remove_vma+0xe4/0x118 do_vmi_align_munmap.isra.0+0x718/0xb5c do_vmi_munmap+0xdc/0x1fc __vm_munmap+0x10c/0x278 __arm64_sys_munmap+0x58/0x7c
Fix this issue by performing instead a vma_lookup() which will fail to find the vma that was isolated before the mmap lock downgrade. Note that this option has better performance than upgrading to a mmap write lock which would increase contention. Plus, mmap_write_trylock() has been recently removed anyway.
--- drivers/android/binder_alloc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/android/binder_alloc.c +5 -1
@@ -1005,7 +1005,9 @@ enum lru_status binder_alloc_free_page(s goto err_mmget;if (!mmap_read_trylock (mm)) goto err_mmap_read_lock_failed; - vma =binder_alloc_get_vma (alloc); + vma =vma_lookup (mm, page_addr); +if (vma && vma !=binder_alloc_get_vma (alloc)) + goto err_invalid_vma;list_lru_isolate (lru, item);spin_unlock (lock);
@@ -1031,6 +1033,8 @@ enum lru_status binder_alloc_free_page(smutex_unlock (&alloc->mutex);return LRU_REMOVED_RETRY ; +err_invalid_vma: +mmap_read_unlock (mm); err_mmap_read_lock_failed:mmput_async (mm); err_mmget:
Greg Kroah-Hartman
maintainerPATCH 18/28 binder: fix trivial typo of binder_free_buf_locked()
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Carlos Llamas <[email protected]>
commit 122a3c1cb0ff304c2b8934584fcfea4edb2fe5e3 upstream.
Fix minor misspelling of the function in the comment section.
No functional changes in this patch.
--- drivers/android/binder_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/android/binder_alloc.c +1 -1
@@ -706,7 +706,7 @@ void binder_alloc_free_buf(struct binder/* * We could eliminate the call to binder_alloc_clear_buf() * from binder_alloc_deferred_release() by moving this to -* binder_alloc_free_buf_locked(). However, that could +* binder_free_buf_locked(). However, that could * increase contention for the alloc mutex if clear_on_free * is used frequently for large buffers. The mutex is not * needed for correctness here.
Greg Kroah-Hartman
maintainerPATCH 19/28 binder: fix comment on binder_alloc_new_buf() return value
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Carlos Llamas <[email protected]>
commit e1090371e02b601cbfcea175c2a6cc7c955fa830 upstream.
Update the comments of binder_alloc_new_buf() to reflect that the return value of the function is now ERR_PTR(-errno) on failure.
No functional changes in this patch.
--- drivers/android/binder_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/android/binder_alloc.c +1 -1
@@ -557,7 +557,7 @@ err_alloc_buf_struct_failed:* is the sum of the three given sizes (each rounded up to * pointer-sized boundary) * -* Return: The allocated buffer or %NULL if error +* Return: The allocated buffer or %ERR_PTR(-errno) if error */ struct binder_buffer *binder_alloc_new_buf(struct binder_alloc *alloc, size_t data_size,
Greg Kroah-Hartman
maintainerPATCH 20/28 uio: Fix use-after-free in uio_open
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Guanghui Feng <[email protected]>
commit 0c9ae0b8605078eafc3bea053cc78791e97ba2e2 upstream.
core-1 core-2
-------------------------------------------------------uio_unregister_device uio_open
idev = idr_find()device_unregister(&idev->dev)put_device(&idev->dev)uio_device_release
get_device(&idev->dev) kfree(idev) uio_free_minor(minor) uio_release put_device(&idev->dev) kfree(idev)
-------------------------------------------------------
In the core-1 uio_unregister_device(), the device_unregister will kfree idev when the idev->dev kobject ref is 1. But after core-1 device_unregister, put_device and before doing kfree, the core-2 may get_device. Then:
1. After core-1 kfree idev, the core-2 will do use-after-free for idev.
2. When core-2 do uio_release and put_device, the idev will be double freed.
To address this issue, we can get idev atomic & inc idev reference with minor_lock.
--- drivers/uio/uio.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/uio/uio.c +3 -4
@@ -466,13 +466,13 @@ static int uio_open(struct inode *inode,mutex_lock (&minor_lock); idev =idr_find (&uio_idr,iminor (inode)); -mutex_unlock (&minor_lock);if (!idev) { ret = -ENODEV ; +mutex_unlock (&minor_lock); goto out; } -get_device (&idev->dev); +mutex_unlock (&minor_lock);if (!try_module_get (idev->owner)) { ret = -ENODEV ;
@@ -1064,9 +1064,8 @@ void uio_unregister_device(struct uio_inwake_up_interruptible (&idev->wait);kill_fasync (&idev->async_queue,SIGIO ,POLL_HUP ); -device_unregister (&idev->dev); -uio_free_minor (minor); +device_unregister (&idev->dev);return ; }
Greg Kroah-Hartman
maintainerPATCH 21/28 parport: parport_serial: Add Brainboxes BAR details
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Cameron Williams <[email protected]>
commit 65fde134b0a4ffe838729f9ee11b459a2f6f2815 upstream.
Add BAR/enum entries for Brainboxes serial/parallel cards.
--- drivers/parport/parport_serial.c | 8 ++++++++ 1 file changed, 8 insertions(+)
drivers/parport/parport_serial.c +8 -0
@@ -65,6 +65,10 @@ enum parport_pc_pci_cards { sunix_5069a, sunix_5079a, sunix_5099a, + brainboxes_uc257, + brainboxes_is300, + brainboxes_uc414, + brainboxes_px263, };/* each element directly indexed from enum list, above */
@@ -158,6 +162,10 @@ static struct parport_pc_pci cards[] = { /* sunix_5069a */ { 1, { { 1, 2 }, } }, /* sunix_5079a */ { 1, { { 1, 2 }, } }, /* sunix_5099a */ { 1, { { 1, 2 }, } }, + /* brainboxes_uc257 */ { 1, { { 3, -1 }, } }, + /* brainboxes_is300 */ { 1, { { 3, -1 }, } }, + /* brainboxes_uc414 */ { 1, { { 3, -1 }, } }, + /* brainboxes_px263 */ { 1, { { 3, -1 }, } }, }; static struct pci_device_id parport_serial_pci_tbl[] = {
Greg Kroah-Hartman
maintainerPATCH 22/28 parport: parport_serial: Add Brainboxes device IDs and geometry
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Cameron Williams <[email protected]>
commit 6aa1fc5a8085bbc01687aa708dcf2dbe637a5ee3 upstream.
Add device IDs for the Brainboxes UC-203, UC-257, UC-414, UC-475, IS-300/IS-500 and PX-263/PX-295 and define the relevant "geometry" for the cards.
This patch requires part 1 of this series.
--- drivers/parport/parport_serial.c | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+)
drivers/parport/parport_serial.c +56 -0
@@ -285,6 +285,38 @@ static struct pci_device_id parport_seri {PCI_VENDOR_ID_SUNIX ,PCI_DEVICE_ID_SUNIX_1999 ,PCI_VENDOR_ID_SUNIX , 0x0104, 0, 0, sunix_5099a }, +/* Brainboxes UC-203 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0bc1, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0bc2, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + +/* Brainboxes UC-257 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0861, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0862, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0863, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + +/* Brainboxes UC-414 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0e61, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc414 }, + +/* Brainboxes UC-475 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0981, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0982, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 }, + +/* Brainboxes IS-300/IS-500 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0da0, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_is300 }, + +/* Brainboxes PX-263/PX-295 */ + { PCI_VENDOR_ID_INTASHIELD, 0x402c, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px263 }, + { 0, } /* terminate list */ };MODULE_DEVICE_TABLE (pci,parport_serial_pci_tbl);
@@ -550,6 +582,30 @@ static struct pciserial_board pci_parpor .base_baud = 921600, .uart_offset = 0x8, }, + [brainboxes_uc257] = { + .flags = FL_BASE2, + .num_ports = 2, + .base_baud = 115200, + .uart_offset = 8, + }, + [brainboxes_is300] = { + .flags = FL_BASE2, + .num_ports = 1, + .base_baud = 115200, + .uart_offset = 8, + }, + [brainboxes_uc414] = { + .flags = FL_BASE2, + .num_ports = 4, + .base_baud = 115200, + .uart_offset = 8, + }, + [brainboxes_px263] = { + .flags = FL_BASE2, + .num_ports = 4, + .base_baud = 921600, + .uart_offset = 8, + }, };struct parport_serial_private {
Greg Kroah-Hartman
maintainerPATCH 23/28 leds: ledtrig-tty: Free allocated ttyname buffer on deactivate
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Eckert <[email protected]>
commit 25054b232681c286fca9c678854f56494d1352cc upstream.
The ttyname buffer for the ledtrig_tty_data struct is allocated in the sysfs ttyname_store() function. This buffer must be released on trigger deactivation. This was missing and is thus a memory leak.
While we are at it, the TTY handler in the ledtrig_tty_data struct should also be returned in case of the trigger deactivation call.
--- drivers/leds/trigger/ledtrig-tty.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/leds/trigger/ledtrig-tty.c +4 -0
@@ -168,6 +168,10 @@ static void ledtrig_tty_deactivate(struccancel_delayed_work_sync (&trigger_data->dwork); +kfree (trigger_data->ttyname); +tty_kref_put (trigger_data->tty); + trigger_data->tty =NULL ; +kfree (trigger_data); }
Greg Kroah-Hartman
maintainerPATCH 24/28 PCI: Add ACS quirk for more Zhaoxin Root Ports
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: LeoLiuoc <[email protected]>
commit e367e3c765f5477b2e79da0f1399aed49e2d1e37 upstream.
Add more Root Port Device IDs to pci_quirk_zhaoxin_pcie_ports_acs() for some new Zhaoxin platforms.
[bhelgaas: update subject, drop changelog, add Fixes, add stable tag, fix whitespace, wrap code comment]
--- drivers/pci/quirks.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/pci/quirks.c +6 -2
@@ -4699,17 +4699,21 @@ static int pci_quirk_xgene_acs(struct pc* But the implementation could block peer-to-peer transactions between them * and provide ACS-like functionality. */ -static int pci_quirk_zhaoxin_pcie_ports_acs (struct pci_dev *dev,u16 acs_flags) +static int pci_quirk_zhaoxin_pcie_ports_acs (struct pci_dev *dev,u16 acs_flags) {if (!pci_is_pcie (dev) || ((pci_pcie_type (dev) !=PCI_EXP_TYPE_ROOT_PORT ) && (pci_pcie_type (dev) !=PCI_EXP_TYPE_DOWNSTREAM )))return -ENOTTY ; +/* +* Future Zhaoxin Root Ports and Switch Downstream Ports will +* implement ACS capability in accordance with the PCIe Spec. +*/ switch (dev->device) { case 0x0710 ... 0x071e:case 0x0721 : - case 0x0723 ... 0x0732: + case 0x0723 ... 0x0752:return pci_acs_ctrl_enabled (acs_flags,PCI_ACS_SV |PCI_ACS_RR |PCI_ACS_CR |PCI_ACS_UF ); }
Greg Kroah-Hartman
maintainerPATCH 25/28 coresight: etm4x: Fix width of CCITMIN field
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: James Clark <[email protected]>
commit cc0271a339cc70cae914c3ec20edc2a8058407da upstream.
CCITMIN is a 12 bit field and doesn't fit in a u8, so extend it to u16. This probably wasn't an issue previously because values higher than 255 never occurred.
But since commit 4aff040bcc8d ("coresight: etm: Override TRCIDR3.CCITMIN on errata affected cpus"), a comparison with 256 was done to enable the errata, generating the following W=1 build error:
coresight-etm4x-core.c:1188:24: error: result of comparison of constant 256 with expression of type 'u8' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
if (drvdata->ccitmin == 256)
--- drivers/hwtracing/coresight/coresight-etm4x.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/hwtracing/coresight/coresight-etm4x.h +1 -1
@@ -1036,7 +1036,7 @@ struct etmv4_drvdata {u8 ctxid_size;u8 vmid_size;u8 ccsize; -u8 ccitmin; +u16 ccitmin;u8 s_ex_level;u8 ns_ex_level;u8 q_support;
Greg Kroah-Hartman
maintainerPATCH 26/28 scripts/decode_stacktrace.sh: optionally use LLVM utilities
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Carlos Llamas <[email protected]>
commit efbd6398353315b7018e6943e41fee9ec35e875f upstream.
GNU's addr2line can have problems parsing a vmlinux built with LLVM, particularly when LTO was used. In order to decode the traces correctly this patch adds the ability to switch to LLVM's utilities readelf and addr2line. The same approach is followed by Will in [1].
Before:
$ scripts/decode_stacktrace.sh vmlinux < kernel.log [17716.240635] Call trace: [17716.240646] skb_cow_data (??:?) [17716.240654] esp6_input (ld-temp.o:?) [17716.240666] xfrm_input (ld-temp.o:?) [17716.240674] xfrm6_rcv (??:?) [...]
After:
$ LLVM=1 scripts/decode_stacktrace.sh vmlinux < kernel.log [17716.240635] Call trace: [17716.240646] skb_cow_data (include/linux/skbuff.h:2172 net/core/skbuff.c:4503) [17716.240654] esp6_input (net/ipv6/esp6.c:977) [17716.240666] xfrm_input (net/xfrm/xfrm_input.c:659) [17716.240674] xfrm6_rcv (net/ipv6/xfrm6_input.c:172) [...]
Note that one could set CROSS_COMPILE=llvm- instead to hack around this issue. However, doing so can break the decodecode routine as it will force the selection of other LLVM utilities down the line e.g. llvm-as.
[1] https://lore.kernel.org/all/[email protected]/
--- scripts/decode_stacktrace.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)
scripts/decode_stacktrace.sh +17 -2
@@ -16,6 +16,21 @@ elif type c++filt >/dev/null 2>&1 ; then cppfilt_opts=-i fi +UTIL_SUFFIX= +if [[ -z ${LLVM:-} ]]; then + UTIL_PREFIX=${CROSS_COMPILE:-} +else + UTIL_PREFIX=llvm- + if [[ ${LLVM} == */ ]]; then + UTIL_PREFIX=${LLVM}${UTIL_PREFIX} + elif [[ ${LLVM} == -* ]]; then + UTIL_SUFFIX=${LLVM} + fi +fi + +READELF=${UTIL_PREFIX}readelf${UTIL_SUFFIX} +ADDR2LINE=${UTIL_PREFIX}addr2line${UTIL_SUFFIX} + if [[ $1 == "-r" ]] ; then vmlinux="" basepath="auto"
@@ -75,7 +90,7 @@ find_module() { if [[ "$modpath" != "" ]] ; then for fn in $(find "$modpath" -name "${module//_/[-_]}.ko*") ; do - if readelf -WS "$fn" | grep -qwF .debug_line ; then + if ${READELF} -WS "$fn" | grep -qwF .debug_line ; then echo $fn return fi
@@ -169,7 +184,7 @@ parse_symbol() { if [[ $aarray_support == true && "${cache[$module,$address]+isset}" == "isset" ]]; then local code=${cache[$module,$address]} else - local code=$(${CROSS_COMPILE}addr2line -i -e "$objfile" "$address" 2>/dev/null) + local code=$(${ADDR2LINE} -i -e "$objfile" "$address" 2>/dev/null) if [[ $aarray_support == true ]]; then cache[$module,$address]=$code fi
Greg Kroah-Hartman
maintainerPATCH 27/28 docs: kernel_feat.py: fix potential command injection
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vegard Nossum <[email protected]>
commit c48a7c44a1d02516309015b6134c9bb982e17008 upstream.
The kernel-feat directive passes its argument straight to the shell. This is unfortunate and unnecessary.
Let's always use paths relative to $srctree/Documentation/ and use subprocess.check_call() instead of subprocess.Popen(shell=True).
This also makes the code shorter.
This is analogous to commit 3231dd586277 ("docs: kernel_abi.py: fix command injection") where we did exactly the same thing for kernel_abi.py, somehow I completely missed this one.
--- Documentation/admin-guide/features.rst | 2 Documentation/arch/arc/features.rst | 2 Documentation/arch/arm/features.rst | 2 Documentation/arch/arm64/features.rst | 2 Documentation/arch/loongarch/features.rst | 2 Documentation/arch/m68k/features.rst | 2 Documentation/arch/mips/features.rst | 2 Documentation/arch/nios2/features.rst | 2 Documentation/arch/openrisc/features.rst | 2 Documentation/arch/parisc/features.rst | 2 Documentation/arch/powerpc/features.rst | 2 Documentation/arch/riscv/features.rst | 2 Documentation/arch/s390/features.rst | 2 Documentation/arch/sh/features.rst | 2 Documentation/arch/sparc/features.rst | 2 Documentation/arch/x86/features.rst | 2 Documentation/arch/xtensa/features.rst | 2 Documentation/sphinx/kernel_feat.py | 55 ++--------- Documentation/translations/zh_CN/arch/loongarch/features.rst | 2 Documentation/translations/zh_CN/arch/mips/features.rst | 2 Documentation/translations/zh_TW/arch/loongarch/features.rst | 2 Documentation/translations/zh_TW/arch/mips/features.rst | 2 22 files changed, 32 insertions(+), 65 deletions(-)
Documentation/admin-guide/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features +.. kernel-feat:: features
Documentation/arch/arc/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features arc +.. kernel-feat:: features arc
Documentation/arch/arm/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features arm +.. kernel-feat:: features arm
Documentation/arch/arm64/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features arm64 +.. kernel-feat:: features arm64
Documentation/arch/loongarch/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features loongarch +.. kernel-feat:: features loongarch
Documentation/arch/m68k/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features m68k +.. kernel-feat:: features m68k
Documentation/arch/mips/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features mips +.. kernel-feat:: features mips
Documentation/arch/nios2/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features nios2 +.. kernel-feat:: features nios2
Documentation/arch/openrisc/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features openrisc +.. kernel-feat:: features openrisc
Documentation/arch/parisc/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features parisc +.. kernel-feat:: features parisc
Documentation/arch/powerpc/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features powerpc +.. kernel-feat:: features powerpc
Documentation/arch/riscv/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features riscv +.. kernel-feat:: features riscv
Documentation/arch/s390/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features s390 +.. kernel-feat:: features s390
Documentation/arch/sh/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features sh +.. kernel-feat:: features sh
Documentation/arch/sparc/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features sparc +.. kernel-feat:: features sparc
Documentation/arch/x86/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features x86 +.. kernel-feat:: features x86
Documentation/arch/xtensa/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features xtensa +.. kernel-feat:: features xtensa
Documentation/sphinx/kernel_feat.py +11 -44
82 lines not on this page · raw message
Documentation/translations/zh_CN/arch/loongarch/features.rst +1 -1
@@ -5,4 +5,4 @@ :Original: Documentation/arch/loongarch/features.rst :Translator: Huacai Chen <[email protected]> -.. kernel-feat:: $srctree/Documentation/features loongarch +.. kernel-feat:: features loongarch
Documentation/translations/zh_CN/arch/mips/features.rst +1 -1
@@ -10,4 +10,4 @@ .. _cn_features: -.. kernel-feat:: $srctree/Documentation/features mips +.. kernel-feat:: features mips
Documentation/translations/zh_TW/arch/loongarch/features.rst +1 -1
@@ -5,5 +5,5 @@ :Original: Documentation/arch/loongarch/features.rst :Translator: Huacai Chen <[email protected]> -.. kernel-feat:: $srctree/Documentation/features loongarch +.. kernel-feat:: features loongarch
Documentation/translations/zh_TW/arch/mips/features.rst +1 -1
@@ -10,5 +10,5 @@ .. _tw_features: -.. kernel-feat:: $srctree/Documentation/features mips +.. kernel-feat:: features mips
Greg Kroah-Hartman
maintainerPATCH 28/28 mm/memory_hotplug: fix memmap_on_memory sysfs value retrieval
In reply to Greg Kroah-Hartman6.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sumanth Korikkar <[email protected]>
commit 11684134140bb708b6e6de969a060535630b1b53 upstream.
set_memmap_mode() stores the kernel parameter memmap mode as an integer. However, the get_memmap_mode() function utilizes param_get_bool() to fetch the value as a boolean, leading to potential endianness issue. On Big-endian architectures, the memmap_on_memory is consistently displayed as 'N' regardless of its actual status.
To address this endianness problem, the solution involves obtaining the mode as an integer. This adjustment ensures the proper display of the memmap_on_memory parameter, presenting it as one of the following options:
Force, Y, or N.
--- mm/memory_hotplug.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
mm/memory_hotplug.c +5 -3
@@ -101,9 +101,11 @@ static int set_memmap_mode(const char *vstatic int get_memmap_mode (char *buffer,const struct kernel_param *kp) { -if (*((int *)kp->arg) ==MEMMAP_ON_MEMORY_FORCE ) -return sprintf (buffer,"force\n" ); -return param_get_bool (buffer, kp); +int mode = *((int *)kp->arg); + +if (mode ==MEMMAP_ON_MEMORY_FORCE ) +return sprintf (buffer,"force\n" ); +return sprintf (buffer,"%c\n" , mode ?'Y' :'N' ); }static const struct kernel_param_ops memmap_mode_ops = {
Quoted 9 lines
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my x86_64 and ARM64 test systems. No errors or regressions.
Thanks.
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Hello,
Quoted 5 lines · On Thu, 18 Jan 2024 11:48:50 +0100 Greg Kroah-Hartman…
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 8 lines
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.
This rc kernel passes DAMON functionality test[1] on my test machine. Attaching the test results summary below. Please note that I retrieved the kernel from linux-stable-rc tree[2].
[1] https://github.com/awslabs/damon-tests/tree/next/corr
[2] ef44e963b02e ("Linux 6.7.1-rc1")
Thanks,
SJ
[...]
---
ok 1 selftests: damon: debugfs_attrs.sh
ok 2 selftests: damon: debugfs_schemes.sh
ok 3 selftests: damon: debugfs_target_ids.sh
ok 4 selftests: damon: debugfs_empty_targets.sh
ok 5 selftests: damon: debugfs_huge_count_read_write.sh
ok 6 selftests: damon: debugfs_duplicate_context_creation.sh
ok 7 selftests: damon: debugfs_rm_non_contexts.sh
ok 8 selftests: damon: sysfs.sh
ok 9 selftests: damon: sysfs_update_removed_scheme_dir.sh
ok 10 selftests: damon: reclaim.sh
ok 11 selftests: damon: lru_sort.sh
ok 1 selftests: damon-tests: kunit.sh
ok 2 selftests: damon-tests: huge_count_read_write.sh
ok 3 selftests: damon-tests: buffer_overflow.sh
ok 4 selftests: damon-tests: rm_contexts.sh
ok 5 selftests: damon-tests: record_null_deref.sh
ok 6 selftests: damon-tests: dbgfs_target_ids_read_before_terminate_race.sh ok 7 selftests: damon-tests: dbgfs_target_ids_pid_leak.sh
ok 8 selftests: damon-tests: damo_tests.sh
ok 9 selftests: damon-tests: masim-record.sh
ok 10 selftests: damon-tests: build_i386.sh
ok 11 selftests: damon-tests: build_arm64.sh
ok 12 selftests: damon-tests: build_m68k.sh
ok 13 selftests: damon-tests: build_i386_idle_flag.sh
ok 14 selftests: damon-tests: build_i386_highpte.sh
ok 15 selftests: damon-tests: build_nomemcg.sh
[33m
[92mPASS [39m
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Successfully compiled and installed the kernel on my computer (Acer Aspire E15, Intel Core i3 Haswell). No noticeable regressions.
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
No noticeable regressions on my system (x86_64).
Thanks!
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
No new regressions for Tegra ...
Test results for stable-v6.7:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
116 tests: 115 pass, 1 failLinux version: 6.7.1-rc1-gef44e963b02e
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000: pm-system-suspend.sh
Unfortunately, we have a suspend regression for v6.7 on one board. We have identified the change in v6.7, in the Tegra Host1x driver, and we are working to fix. So the above failure is expected.
Jon
Signature · 1 line
nvpublic
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
The arm allmodconfig clang-17 build failed on 6.7.y, Linux next and mainline. but passed on 6.6.y.
## Build
* kernel: 6.7.1-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-6.7.y
* git commit: ef44e963b02edb00d4de5fa3528a21f3e7b33a85
* git describe: v6.7-29-gef44e963b02e
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.7.y/build/v6.7-29-gef44e963b02e/
--
Linaro LKFT
https://lkft.linaro.org
Greg Kroah-Hartman
maintainerQuoted 17 lines · Naresh Kamboju
Quoted 15 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.
Quoted 6 lines
Quoted 3 lines
thanks,
greg k-h
Results from Linaro’s test farm.
The arm allmodconfig clang-17 build failed on 6.7.y, Linux next and mainline.
So 6.7.0 is also broken?
thanks,
greg k-h
Quoted 19 lines · Greg Kroah-Hartman
Quoted 17 lines · Naresh Kamboju
Quoted 15 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
thanks,
greg k-h
Results from Linaro’s test farm.
The arm allmodconfig clang-17 build failed on 6.7.y, Linux next and mainline.So 6.7.0 is also broken?
Yes.
- Naresh
Luna Jernberg
Tested-byWorks fine on my Dell Latitude 7390 laptop with model name :
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
and Crystal Linux: https://getcryst.al/site
Den fre 19 jan. 2024 kl 16:48 skrev Naresh Kamboju <[email protected]>:
Quoted 43 lines
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
The arm allmodconfig clang-17 build failed on 6.7.y, Linux next and mainline. but passed on 6.6.y.## Build
* kernel: 6.7.1-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-6.7.y
* git commit:ef44e963b02edb00d4de5fa3528a21f3e7b33a85
* git describe: v6.7-29-gef44e963b02e
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.7.y/build/v6.7-29-gef44e963b02e/--
Linaro LKFT
https://lkft.linaro.org
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.7.1 release. There are 28 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 20 Jan 2024 10:42:49 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.7.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.7.y
and the diffstat can be found below.thanks,
greg k-h
Tested rc1 against the Fedora build system (aarch64, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.