Hi Oscar,
On Wed, 10 Mar 2021 at 03:11, Oscar Salvador <osalvador(a)suse.de> wrote:
>
> When sizeof(struct page) is not a power of 2, sections do not span
> a PMD anymore and so when populating them some parts of the PMD will
> remain unused.
> Because of this, PMDs will be left behind when depopulating sections
> since remove_pmd_table() thinks that those unused parts are still in
> use.
>
> Fix this by marking the unused parts with PAGE_UNUSED, so memchr_inv()
> will do the right thing and will let us free the PMD when the last user
> of it is gone.
>
> This patch is based on a similar patch by David Hildenbrand:
>
> https://lore.kernel.org/linux-mm/20200722094558.9828-9-david@redhat.com/
>
> Signed-off-by: Oscar Salvador <osalvador(a)suse.de>
> Reviewed-by: David Hildenbrand <david(a)redhat.com>
> Acked-by: Dave Hansen <dave.hansen(a)linux.intel.com>
> ---
> arch/x86/mm/init_64.c | 65 +++++++++++++++++++++++++++++++++++++++++----------
> 1 file changed, 53 insertions(+), 12 deletions(-)
>
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index 9ecb3c488ac8..d93b36856ed3 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -826,6 +826,51 @@ void __init paging_init(void)
> zone_sizes_init();
> }
>
> +#ifdef CONFIG_SPARSEMEM_VMEMMAP
> +#define PAGE_UNUSED 0xFD
> +
> +/* Returns true if the PMD is completely unused and thus it can be freed */
> +static bool __meminit vmemmap_pmd_is_unused(unsigned long addr, unsigned long end)
> +{
> + unsigned long start = ALIGN_DOWN(addr, PMD_SIZE);
> +
> + memset((void *)addr, PAGE_UNUSED, end - addr);
> +
> + return !memchr_inv((void *)start, PAGE_UNUSED, PMD_SIZE);
> +}
> +
> +static void __meminit vmemmap_use_sub_pmd(unsigned long start)
> +{
> + /*
> + * As we expect to add in the same granularity as we remove, it's
> + * sufficient to mark only some piece used to block the memmap page from
> + * getting removed when removing some other adjacent memmap (just in
> + * case the first memmap never gets initialized e.g., because the memory
> + * block never gets onlined).
> + */
> + memset((void *)start, 0, sizeof(struct page));
> +}
> +
> +static void __meminit vmemmap_use_new_sub_pmd(unsigned long start, unsigned long end)
> +{
> + /*
> + * Could be our memmap page is filled with PAGE_UNUSED already from a
> + * previous remove. Make sure to reset it.
> + */
> + vmemmap_use_sub_pmd(start);
> +
> + /*
> + * Mark with PAGE_UNUSED the unused parts of the new memmap range
> + */
> + if (!IS_ALIGNED(start, PMD_SIZE))
> + memset((void *)start, PAGE_UNUSED,
> + start - ALIGN_DOWN(start, PMD_SIZE));
> + if (!IS_ALIGNED(end, PMD_SIZE))
> + memset((void *)end, PAGE_UNUSED,
> + ALIGN(end, PMD_SIZE) - end);
> +}
> +#endif
> +
> /*
> * Memory hotplug specific functions
> */
> @@ -871,8 +916,6 @@ int arch_add_memory(int nid, u64 start, u64 size,
> return add_pages(nid, start_pfn, nr_pages, params);
> }
>
> -#define PAGE_INUSE 0xFD
> -
> static void __meminit free_pagetable(struct page *page, int order)
> {
> unsigned long magic;
> @@ -1006,7 +1049,6 @@ remove_pmd_table(pmd_t *pmd_start, unsigned long addr, unsigned long end,
> unsigned long next, pages = 0;
> pte_t *pte_base;
> pmd_t *pmd;
> - void *page_addr;
>
> pmd = pmd_start + pmd_index(addr);
> for (; addr < end; addr = next, pmd++) {
> @@ -1026,20 +1068,13 @@ remove_pmd_table(pmd_t *pmd_start, unsigned long addr, unsigned long end,
> pmd_clear(pmd);
> spin_unlock(&init_mm.page_table_lock);
> pages++;
> - } else {
> - /* If here, we are freeing vmemmap pages. */
> - memset((void *)addr, PAGE_INUSE, next - addr);
> -
> - page_addr = page_address(pmd_page(*pmd));
> - if (!memchr_inv(page_addr, PAGE_INUSE,
> - PMD_SIZE)) {
> + } else if (IS_ENABLED(CONFIG_SPARSEMEM_VMEMMAP) &&
> + vmemmap_pmd_is_unused(addr, next)) {
> free_hugepage_table(pmd_page(*pmd),
> altmap);
> -
> spin_lock(&init_mm.page_table_lock);
> pmd_clear(pmd);
> spin_unlock(&init_mm.page_table_lock);
> - }
> }
>
> continue;
> @@ -1492,11 +1527,17 @@ static int __meminit vmemmap_populate_hugepages(unsigned long start,
>
> addr_end = addr + PMD_SIZE;
> p_end = p + PMD_SIZE;
> +
> + if (!IS_ALIGNED(addr, PMD_SIZE) ||
> + !IS_ALIGNED(next, PMD_SIZE))
> + vmemmap_use_new_sub_pmd(addr, next);
> +
> continue;
> } else if (altmap)
> return -ENOMEM; /* no fallback */
> } else if (pmd_large(*pmd)) {
> vmemmap_verify((pte_t *)pmd, node, addr, next);
> + vmemmap_use_sub_pmd(addr);
While building the linux next 20210310 tag for x86_64 architecture with clang-12
and gcc-9 the following warnings / errors were noticed.
arch/x86/mm/init_64.c:1585:6: error: implicit declaration of function
'vmemmap_use_new_sub_pmd' [-Werror,-Wimplicit-function-declaration]
vmemmap_use_new_sub_pmd(addr, next);
^
arch/x86/mm/init_64.c:1591:4: error: implicit declaration of function
'vmemmap_use_sub_pmd' [-Werror,-Wimplicit-function-declaration]
vmemmap_use_sub_pmd(addr, next);
^
2 errors generated.
make[3]: *** [scripts/Makefile.build:271: arch/x86/mm/init_64.o] Error 1
Reported-by: Naresh Kamboju <naresh.kamboju(a)linaro.org>
Steps to reproduce:
-------------------
# TuxMake is a command line tool and Python library that provides
# portable and repeatable Linux kernel builds across a variety of
# architectures, toolchains, kernel configurations, and make targets.
#
# TuxMake supports the concept of runtimes.
# See https://docs.tuxmake.org/runtimes/, for that to work it requires
# that you install podman or docker on your system.
#
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake
#
# See https://docs.tuxmake.org/ for complete documentation.
tuxmake --runtime podman --target-arch x86_64 --toolchain clang-12
--kconfig defconfig --kconfig-add
https://builds.tuxbuild.com/1pYCPt4WlgSfSdv1BULm6ABINeJ/config
Build pipeline error link,
https://gitlab.com/Linaro/lkft/mirrors/next/linux-next/-/jobs/1085496613#L4…
--
Linaro LKFT
https://lkft.linaro.org
This is the start of the stable review cycle for the 5.10.22 release.
There are 42 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 Wed, 10 Mar 2021 12:27:05 +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/v5.x/stable-review/patch-5.10.22-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.10.22-rc1
Heiner Kallweit <hkallweit1(a)gmail.com>
r8169: fix resuming from suspend on RTL8105e if machine runs on battery
Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
tomoyo: recognize kernel threads correctly
Catalin Marinas <catalin.marinas(a)arm.com>
of: unittest: Fix build on architectures without CONFIG_OF_ADDRESS
Neil Armstrong <narmstrong(a)baylibre.com>
Revert "arm64: dts: amlogic: add missing ethernet reset ID"
Zenghui Yu <yuzenghui(a)huawei.com>
iommu/vt-d: Fix status code for Allocate/Free PASID command
Dan Carpenter <dan.carpenter(a)oracle.com>
rsxx: Return -EFAULT if copy_to_user() fails
Chen Jun <chenjun102(a)huawei.com>
ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
ALSA: hda: intel-nhlt: verify config type
YueHaibing <yuehaibing(a)huawei.com>
IB/mlx5: Add missing error code
Julian Braha <julianbraha(a)gmail.com>
RDMA/rxe: Fix missing kconfig dependency on CRYPTO
Saeed Mahameed <saeedm(a)nvidia.com>
RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep
Colin Ian King <colin.king(a)canonical.com>
ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
mm: Remove examples from enum zone_type comment
Ard Biesheuvel <ardb(a)kernel.org>
arm64: mm: Set ZONE_DMA size based on early IORT scan
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
of: unittest: Add test for of_dma_get_max_cpu_address()
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
of/address: Introduce of_dma_get_max_cpu_address()
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
arm64: mm: Move zone_dma_bits initialization into zone_sizes_init()
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
arm64: mm: Move reserve_crashkernel() into mem_init()
Ard Biesheuvel <ardb(a)kernel.org>
crypto - shash: reduce minimum alignment of shash_desc structure
Kevin Wang <kevin1.wang(a)amd.com>
drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie
Asher.Song <Asher.Song(a)amd.com>
drm/amdgpu:disable VCN for Navi12 SKU
Milan Broz <gmazyland(a)gmail.com>
dm verity: fix FEC for RS roots unaligned to block size
Mikulas Patocka <mpatocka(a)redhat.com>
dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
Jens Axboe <axboe(a)kernel.dk>
io_uring: ignore double poll add on the same waitqueue head
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
ring-buffer: Force before_stamp and write_stamp to be different on discard
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
PM: runtime: Update device status before letting suppliers suspend
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix warning when creating a directory with smack enabled
Nikolay Borisov <nborisov(a)suse.com>
btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
Nikolay Borisov <nborisov(a)suse.com>
btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
Dan Carpenter <dancarpenter(a)oracle.com>
btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
Nikolay Borisov <nborisov(a)suse.com>
btrfs: fix race between extent freeing/allocation when using bitmaps
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix race between swap file activation and snapshot creation
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix race between writes to swap files and scrub
Ira Weiny <ira.weiny(a)intel.com>
btrfs: fix raid6 qstripe kmap
Josef Bacik <josef(a)toxicpanda.com>
btrfs: avoid double put of block group when emptying cluster
Jarkko Sakkinen <jarkko(a)kernel.org>
tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality()
Lukasz Majczak <lma(a)semihalf.com>
tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality()
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Drop bogus dB range in too low level
Andrea Fagiani <andfagiani(a)gmail.com>
ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE
Chris Chiu <chris.chiu(a)canonical.com>
ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256
-------------
Diffstat:
Makefile | 4 +-
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 2 -
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 -
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 3 --
arch/arm64/mm/init.c | 22 ++++----
drivers/acpi/arm64/iort.c | 55 ++++++++++++++++++++
drivers/base/power/runtime.c | 62 ++++++++++++++---------
drivers/block/rsxx/core.c | 8 +--
drivers/char/tpm/tpm_tis_core.c | 30 +++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nv.c | 6 ++-
drivers/infiniband/core/cm.c | 5 +-
drivers/infiniband/hw/mlx5/devx.c | 4 +-
drivers/infiniband/sw/rxe/Kconfig | 1 +
drivers/iommu/intel/pasid.h | 4 +-
drivers/md/dm-bufio.c | 4 ++
drivers/md/dm-verity-fec.c | 23 +++++----
drivers/net/ethernet/realtek/r8169_main.c | 2 +
drivers/of/address.c | 42 +++++++++++++++
drivers/of/unittest.c | 21 ++++++++
fs/btrfs/block-group.c | 33 +++++++++++-
fs/btrfs/block-group.h | 9 ++++
fs/btrfs/ctree.h | 5 ++
fs/btrfs/delayed-inode.c | 2 +-
fs/btrfs/file.c | 5 +-
fs/btrfs/free-space-cache.c | 14 ++---
fs/btrfs/inode.c | 40 +++++++++++++--
fs/btrfs/ioctl.c | 19 ++++++-
fs/btrfs/raid56.c | 21 ++++----
fs/btrfs/reflink.c | 18 +++++++
fs/btrfs/scrub.c | 9 +++-
fs/btrfs/xattr.c | 31 ++++++++++--
fs/io_uring.c | 3 ++
include/crypto/hash.h | 8 +--
include/linux/acpi_iort.h | 4 ++
include/linux/crypto.h | 9 ++--
include/linux/mmzone.h | 20 --------
include/linux/of.h | 7 +++
include/sound/intel-nhlt.h | 5 ++
kernel/trace/ring_buffer.c | 11 ++++
scripts/recordmcount.c | 2 +-
security/tomoyo/network.c | 2 +-
sound/hda/intel-nhlt.c | 54 ++++++++++++++++----
sound/pci/ctxfi/cthw20k2.c | 2 +-
sound/pci/hda/patch_realtek.c | 13 +++++
sound/usb/mixer.c | 11 ++++
sound/usb/mixer_maps.c | 10 ++++
47 files changed, 532 insertions(+), 139 deletions(-)
From: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
This is the start of the stable review cycle for the 5.11.5 release.
There are 44 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 Wed, 10 Mar 2021 12:27:05 +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/v5.x/stable-review/patch-5.11.5-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.11.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.11.5-rc1
Heiner Kallweit <hkallweit1(a)gmail.com>
r8169: fix resuming from suspend on RTL8105e if machine runs on battery
Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
tomoyo: recognize kernel threads correctly
Naohiro Aota <naohiro.aota(a)wdc.com>
btrfs: zoned: use sector_t for zone sectors
Zenghui Yu <yuzenghui(a)huawei.com>
iommu/vt-d: Fix status code for Allocate/Free PASID command
Lu Baolu <baolu.lu(a)linux.intel.com>
iommu: Don't use lazy flush for untrusted device
Nicolin Chen <nicoleotsuka(a)gmail.com>
iommu/tegra-smmu: Fix mc errors on tegra124-nyan
Dan Carpenter <dan.carpenter(a)oracle.com>
rsxx: Return -EFAULT if copy_to_user() fails
Jens Axboe <axboe(a)kernel.dk>
ia64: don't call handle_signal() unless there's actually a signal queued
Chen Jun <chenjun102(a)huawei.com>
ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
ALSA: hda: intel-nhlt: verify config type
YueHaibing <yuehaibing(a)huawei.com>
IB/mlx5: Add missing error code
Julian Braha <julianbraha(a)gmail.com>
RDMA/rxe: Fix missing kconfig dependency on CRYPTO
Saeed Mahameed <saeedm(a)nvidia.com>
RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep
Nicolas MURE <nicolas.mure2019(a)gmail.com>
ALSA: usb-audio: Fix Pioneer DJM devices URB_CONTROL request direction to set samplerate
Colin Ian King <colin.king(a)canonical.com>
ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits
Ard Biesheuvel <ardb(a)kernel.org>
crypto - shash: reduce minimum alignment of shash_desc structure
Kevin Wang <kevin1.wang(a)amd.com>
drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie
Alex Deucher <alexander.deucher(a)amd.com>
drm/amdgpu: Only check for S0ix if AMD_PMC is configured
Asher.Song <Asher.Song(a)amd.com>
drm/amdgpu:disable VCN for Navi12 SKU
Evan Quan <evan.quan(a)amd.com>
drm/amd/pm: correct Arcturus mmTHM_BACO_CNTL register address
Milan Broz <gmazyland(a)gmail.com>
dm verity: fix FEC for RS roots unaligned to block size
Mikulas Patocka <mpatocka(a)redhat.com>
dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
Jens Axboe <axboe(a)kernel.dk>
io_uring: ignore double poll add on the same waitqueue head
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
ring-buffer: Force before_stamp and write_stamp to be different on discard
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
PM: runtime: Update device status before letting suppliers suspend
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix warning when creating a directory with smack enabled
Nikolay Borisov <nborisov(a)suse.com>
btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
Boris Burkov <boris(a)bur.io>
btrfs: fix spurious free_space_tree remount warning
Nikolay Borisov <nborisov(a)suse.com>
btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
Dan Carpenter <dancarpenter(a)oracle.com>
btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
Nikolay Borisov <nborisov(a)suse.com>
btrfs: fix race between extent freeing/allocation when using bitmaps
Josef Bacik <josef(a)toxicpanda.com>
btrfs: tree-checker: do not error out if extent ref hash doesn't match
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix race between swap file activation and snapshot creation
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix race between writes to swap files and scrub
Ira Weiny <ira.weiny(a)intel.com>
btrfs: fix raid6 qstripe kmap
Josef Bacik <josef(a)toxicpanda.com>
btrfs: avoid double put of block group when emptying cluster
Jarkko Sakkinen <jarkko(a)kernel.org>
tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality()
Lukasz Majczak <lma(a)semihalf.com>
tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality()
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Allow modifying parameters with succeeding hw_params calls
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Drop bogus dB range in too low level
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Don't abort even if the clock rate differs
Andrea Fagiani <andfagiani(a)gmail.com>
ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE
Chris Chiu <chris.chiu(a)canonical.com>
ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256
-------------
Diffstat:
Makefile | 4 +-
arch/ia64/kernel/signal.c | 3 +-
drivers/base/power/runtime.c | 62 +++++++++++++---------
drivers/block/rsxx/core.c | 8 +--
drivers/char/tpm/tpm_tis_core.c | 30 +++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nv.c | 6 ++-
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 15 ++++--
drivers/infiniband/core/cm.c | 5 +-
drivers/infiniband/hw/mlx5/devx.c | 4 +-
drivers/infiniband/sw/rxe/Kconfig | 1 +
drivers/iommu/dma-iommu.c | 15 +++---
drivers/iommu/intel/pasid.h | 4 +-
drivers/iommu/tegra-smmu.c | 72 +++++++++++++++++++++++++-
drivers/md/dm-bufio.c | 4 ++
drivers/md/dm-verity-fec.c | 23 ++++----
drivers/net/ethernet/realtek/r8169_main.c | 2 +
fs/btrfs/block-group.c | 33 +++++++++++-
fs/btrfs/block-group.h | 9 ++++
fs/btrfs/ctree.h | 5 ++
fs/btrfs/delayed-inode.c | 2 +-
fs/btrfs/file.c | 5 +-
fs/btrfs/free-space-cache.c | 14 ++---
fs/btrfs/inode.c | 40 ++++++++++++--
fs/btrfs/ioctl.c | 19 ++++++-
fs/btrfs/raid56.c | 21 ++++----
fs/btrfs/reflink.c | 18 +++++++
fs/btrfs/scrub.c | 9 +++-
fs/btrfs/super.c | 4 +-
fs/btrfs/tree-checker.c | 16 ++----
fs/btrfs/xattr.c | 31 +++++++++--
fs/btrfs/zoned.c | 4 +-
fs/io_uring.c | 3 ++
include/crypto/hash.h | 8 +--
include/linux/crypto.h | 9 ++--
include/sound/intel-nhlt.h | 5 ++
kernel/trace/ring_buffer.c | 11 ++++
scripts/recordmcount.c | 2 +-
security/tomoyo/network.c | 2 +-
sound/hda/intel-nhlt.c | 54 +++++++++++++++----
sound/pci/ctxfi/cthw20k2.c | 2 +-
sound/pci/hda/patch_realtek.c | 13 +++++
sound/usb/clock.c | 8 +--
sound/usb/mixer.c | 11 ++++
sound/usb/mixer_maps.c | 10 ++++
sound/usb/pcm.c | 12 +++--
sound/usb/quirks.c | 2 +-
48 files changed, 507 insertions(+), 140 deletions(-)