4.4.222-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 4.4.222-rc1 review
This is the start of the stable review cycle for the 4.4.222 release. There are 18 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, 06 May 2020 16:52:55 +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/v4.x/stable-review/patch-4.4.222-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-4.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 4.4.222-rc1
Paul Moore <[email protected]>
selinux: properly handle multiple messages in selinux_netlink_send()
Olivier Matz <[email protected]>
ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
Lars-Peter Clausen <[email protected]>
ASoC: imx-spdif: Fix crash on suspend
Stuart Henderson <[email protected]>
ASoC: wm8960: Fix WM8960_SYSCLK_PLL mode
Rasmus Villemoes <[email protected]>
exynos4-is: fix a format string bug
Peter Zijlstra <[email protected]>
perf/x86: Fix uninitialized value usage
Madhavan Srinivasan <[email protected]>
powerpc/perf: Remove PPMU_HAS_SSLOT flag for Power8
Jiri Olsa <[email protected]>
perf hists: Fix HISTC_MEM_DCACHELINE width setting
Andy Shevchenko <[email protected]>
i2c: designware-pci: use IRQF_COND_SUSPEND flag
Andy Shevchenko <[email protected]>
dmaengine: dmatest: Fix iteration non-stop logic
Andreas Gruenbacher <[email protected]>
nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
Arnd Bergmann <[email protected]>
ALSA: opti9xx: shut up gcc-10 range warning
Sean Christopherson <[email protected]>
vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
Alaa Hleihel <[email protected]>
RDMA/mlx4: Initialize ib_spec on the stack
Kai-Heng Feng <[email protected]>
PM: ACPI: Output correct message on target power state
Takashi Iwai <[email protected]>
ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
Vasily Averin <[email protected]>
drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
Theodore Ts'o <[email protected]>
ext4: fix special inode number checks in __ext4_iget()
-------------
Diffstat:
Makefile | 4 +- arch/powerpc/perf/power8-pmu.c | 2 +- arch/x86/kernel/cpu/perf_event_intel.c | 3 +- drivers/acpi/device_pm.c | 4 +- drivers/dma/dmatest.c | 4 +- drivers/gpu/drm/qxl/qxl_cmd.c | 5 +- drivers/i2c/busses/i2c-designware-core.c | 3 +- drivers/infiniband/hw/mlx4/main.c | 3 +- drivers/media/platform/exynos4-is/fimc-isp-video.c | 4 +- drivers/vfio/vfio_iommu_type1.c | 4 +- fs/ext4/inode.c | 2 +- fs/nfs/nfs3acl.c | 22 ++++--- net/ipv6/raw.c | 12 +++- security/selinux/hooks.c | 69 ++++++++++++++-------- sound/core/oss/pcm_plugin.c | 20 ++++--- sound/isa/opti9xx/miro.c | 9 ++- sound/isa/opti9xx/opti92x-ad1848.c | 9 ++- sound/soc/codecs/wm8960.c | 32 +++++----- sound/soc/fsl/imx-spdif.c | 2 - tools/perf/util/hist.c | 2 + 20 files changed, 134 insertions(+), 81 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/18 ext4: fix special inode number checks in __ext4_iget()
From: Theodore Ts'o <[email protected]>
commit 191ce17876c9367819c4b0a25b503c0f6d9054d8 upstream.
The check for special (reserved) inode number checks in __ext4_iget() was broken by commit 8a363970d1dc: ("ext4: avoid declaring fs inconsistent due to invalid file handles"). This was caused by a botched reversal of the sense of the flag now known as EXT4_IGET_SPECIAL (when it was previously named EXT4_IGET_NORMAL). Fix the logic appropriately.
--- fs/ext4/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/ext4/inode.c +1 -1
@@ -4233,7 +4233,7 @@ struct inode *__ext4_iget(struct super_buid_t i_uid;gid_t i_gid; -if (((flags &EXT4_IGET_NORMAL ) && +if ((!(flags &EXT4_IGET_SPECIAL ) && (ino <EXT4_FIRST_INO (sb) && ino !=EXT4_ROOT_INO )) || (ino <EXT4_ROOT_INO ) || (ino >le32_to_cpu (EXT4_SB (sb)->s_es->s_inodes_count))) {
Greg Kroah-Hartman
maintainerPATCH 2/18 drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
In reply to Greg Kroah-HartmanFrom: Vasily Averin <[email protected]>
commit a65aa9c3676ffccb21361d52fcfedd5b5ff387d7 upstream.
--- drivers/gpu/drm/qxl/qxl_cmd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/gpu/drm/qxl/qxl_cmd.c +3 -2
@@ -500,9 +500,10 @@ int qxl_hw_surface_alloc(struct qxl_devireturn ret; ret =qxl_release_reserve_list (release, true); -if (ret) +if (ret) { +qxl_release_free (qdev, release);return ret; - + } cmd = (struct qxl_surface_cmd *)qxl_release_map (qdev, release); cmd->type =QXL_SURFACE_CMD_CREATE ; cmd->flags =QXL_SURF_FLAG_KEEP_DATA ;
Greg Kroah-Hartman
maintainerPATCH 3/18 ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
In reply to Greg Kroah-HartmanFrom: Takashi Iwai <[email protected]>
commit 4285de0725b1bf73608abbcd35ad7fd3ddc0b61e upstream.
The checks of the plugin buffer overflow in the previous fix by commit
f2ecf903ef06 ("ALSA: pcm: oss: Avoid plugin buffer overflow")
are put in the wrong places mistakenly, which leads to the expected (repeated) sound when the rate plugin is involved. Fix in the right places.
Also, at those right places, the zero check is needed for the termination node, so added there as well, and let's get it done, finally.
--- sound/core/oss/pcm_plugin.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-)
sound/core/oss/pcm_plugin.c +12 -8
@@ -211,21 +211,23 @@ static snd_pcm_sframes_t plug_client_sizif (stream ==SNDRV_PCM_STREAM_PLAYBACK ) { plugin =snd_pcm_plug_last (plug);while (plugin && drv_frames >0 ) { -if (check_size && drv_frames > plugin->buf_frames) - drv_frames = plugin->buf_frames; plugin_prev = plugin->prev;if (plugin->src_frames) drv_frames = plugin->src_frames (plugin, drv_frames); +if (check_size && plugin->buf_frames && + drv_frames > plugin->buf_frames) + drv_frames = plugin->buf_frames; plugin = plugin_prev; } }else if (stream ==SNDRV_PCM_STREAM_CAPTURE ) { plugin =snd_pcm_plug_first (plug);while (plugin && drv_frames >0 ) { plugin_next = plugin->next; +if (check_size && plugin->buf_frames && + drv_frames > plugin->buf_frames) + drv_frames = plugin->buf_frames;if (plugin->dst_frames) drv_frames = plugin->dst_frames (plugin, drv_frames); -if (check_size && drv_frames > plugin->buf_frames) - drv_frames = plugin->buf_frames; plugin = plugin_next; } }else
@@ -251,26 +253,28 @@ static snd_pcm_sframes_t plug_slave_size plugin =snd_pcm_plug_first (plug);while (plugin && frames >0 ) { plugin_next = plugin->next; +if (check_size && plugin->buf_frames && + frames > plugin->buf_frames) + frames = plugin->buf_frames;if (plugin->dst_frames) { frames = plugin->dst_frames (plugin, frames);if (frames <0 )return frames; } -if (check_size && frames > plugin->buf_frames) - frames = plugin->buf_frames; plugin = plugin_next; } }else if (stream ==SNDRV_PCM_STREAM_CAPTURE ) { plugin =snd_pcm_plug_last (plug);while (plugin) { -if (check_size && frames > plugin->buf_frames) - frames = plugin->buf_frames; plugin_prev = plugin->prev;if (plugin->src_frames) { frames = plugin->src_frames (plugin, frames);if (frames <0 )return frames; } +if (check_size && plugin->buf_frames && + frames > plugin->buf_frames) + frames = plugin->buf_frames; plugin = plugin_prev; } }else
Greg Kroah-Hartman
maintainerPATCH 4/18 PM: ACPI: Output correct message on target power state
In reply to Greg Kroah-HartmanFrom: Kai-Heng Feng <[email protected]>
commit a9b760b0266f563b4784f695bbd0e717610dc10a upstream.
Transitioned power state logged at the end of setting ACPI power.
However, D3cold won't be in the message because state can only be D3hot at most.
Use target_state to corretly report when power state is D3cold.
--- drivers/acpi/device_pm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/acpi/device_pm.c +2 -2
@@ -225,13 +225,13 @@ int acpi_device_set_power(struct acpi_de end:if (result) {dev_warn (&device->dev,"Failed to change power state to %s\n" , -acpi_power_state_string (state)); +acpi_power_state_string (target_state)); }else { device->power.state = target_state;ACPI_DEBUG_PRINT ((ACPI_DB_INFO ,"Device [%s] transitioned to %s\n" , device->pnp.bus_id, -acpi_power_state_string (state))); +acpi_power_state_string (target_state))); }return result;
Greg Kroah-Hartman
maintainerPATCH 5/18 RDMA/mlx4: Initialize ib_spec on the stack
In reply to Greg Kroah-HartmanFrom: Alaa Hleihel <[email protected]>
commit c08cfb2d8d78bfe81b37cc6ba84f0875bddd0d5c upstream.
Initialize ib_spec on the stack before using it, otherwise we will have garbage values that will break creating default rules with invalid parsing error.
--- drivers/infiniband/hw/mlx4/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/infiniband/hw/mlx4/main.c +2 -1
@@ -1435,8 +1435,9 @@ static int __mlx4_ib_create_default_ruleint i;for (i =0 ; i <ARRAY_SIZE (pdefault_rules->rules_create_list); i++) { +union ib_flow_spec ib_spec = {};int ret; -union ib_flow_spec ib_spec; +switch (pdefault_rules->rules_create_list[i]) {case 0 :/* no rule */
Greg Kroah-Hartman
maintainerPATCH 6/18 vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
In reply to Greg Kroah-HartmanFrom: Sean Christopherson <[email protected]>
commit 5cbf3264bc715e9eb384e2b68601f8c02bb9a61d upstream.
Use follow_pfn() to get the PFN of a PFNMAP VMA instead of assuming that vma->vm_pgoff holds the base PFN of the VMA. This fixes a bug where attempting to do VFIO_IOMMU_MAP_DMA on an arbitrary PFNMAP'd region of memory calculates garbage for the PFN.
Hilariously, this only got detected because the first "PFN" calculated by vaddr_get_pfn() is PFN 0 (vma->vm_pgoff==0), and iommu_iova_to_phys() uses PA==0 as an error, which triggers a WARN in vfio_unmap_unpin() because the translation "failed". PFN 0 is now unconditionally reserved on x86 in order to mitigate L1TF, which causes is_invalid_reserved_pfn() to return true and in turns results in vaddr_get_pfn() returning success for PFN 0. Eventually the bogus calculation runs into PFNs that aren't reserved and leads to failure in vfio_pin_map_dma(). The subsequent call to vfio_remove_dma() attempts to unmap PFN 0 and WARNs.
WARNING: CPU: 8 PID: 5130 at drivers/vfio/vfio_iommu_type1.c:750 vfio_unmap_unpin+0x2e1/0x310 [vfio_iommu_type1] Modules linked in: vfio_pci vfio_virqfd vfio_iommu_type1 vfio ... CPU: 8 PID: 5130 Comm: sgx Tainted: G W 5.6.0-rc5-705d787c7fee-vfio+ #3 Hardware name: Intel Corporation Mehlow UP Server Platform/Moss Beach Server, BIOS CNLSE2R1.D00.X119.B49.1803010910 03/01/2018 RIP: 0010:vfio_unmap_unpin+0x2e1/0x310 [vfio_iommu_type1] Code: <0f> 0b 49 81 c5 00 10 00 00 e9 c5 fe ff ff bb 00 10 00 00 e9 3d fe RSP: 0018:ffffbeb5039ebda8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff9a55cbf8d480 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff9a52b771c200 RBP: 0000000000000000 R08: 0000000000000040 R09: 00000000fffffff2 R10: 0000000000000001 R11: ffff9a51fa896000 R12: 0000000184010000 R13: 0000000184000000 R14: 0000000000010000 R15: ffff9a55cb66ea08 FS: 00007f15d3830b40(0000) GS:ffff9a55d5600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000561cf39429e0 CR3: 000000084f75f005 CR4: 00000000003626e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: vfio_remove_dma+0x17/0x70 [vfio_iommu_type1] vfio_iommu_type1_ioctl+0x9e3/0xa7b [vfio_iommu_type1] ksys_ioctl+0x92/0xb0 __x64_sys_ioctl+0x16/0x20 do_syscall_64+0x4c/0x180 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x7f15d04c75d7 Code: <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 81 48 2d 00 f7 d8 64 89 01 48
--- drivers/vfio/vfio_iommu_type1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/vfio/vfio_iommu_type1.c +2 -2
@@ -227,8 +227,8 @@ static int vaddr_get_pfn(unsigned long v vma =find_vma_intersection (current->mm, vaddr, vaddr +1 );if (vma && vma->vm_flags &VM_PFNMAP ) { - *pfn = ((vaddr - vma->vm_start) >>PAGE_SHIFT ) + vma->vm_pgoff; -if (is_invalid_reserved_pfn (*pfn)) +if (!follow_pfn (vma, vaddr, pfn) && +is_invalid_reserved_pfn (*pfn)) ret =0 ; }
Greg Kroah-Hartman
maintainerPATCH 7/18 ALSA: opti9xx: shut up gcc-10 range warning
In reply to Greg Kroah-HartmanFrom: Arnd Bergmann <[email protected]>
commit 5ce00760a84848d008554c693ceb6286f4d9c509 upstream.
gcc-10 points out a few instances of suspicious integer arithmetic leading to value truncation:
sound/isa/opti9xx/opti92x-ad1848.c: In function 'snd_opti9xx_configure':sound/isa/opti9xx/opti92x-ad1848.c:322:43: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_opti9xx_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow]
322 | (snd_opti9xx_read(chip, reg) & ~(mask)) | ((value) & (mask)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/opti92x-ad1848.c:351:3: note: in expansion of macro 'snd_opti9xx_write_mask'
351 | snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff);
| ^~~~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/miro.c: In function 'snd_miro_configure':
sound/isa/opti9xx/miro.c:873:40: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_miro_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow]
873 | (snd_miro_read(chip, reg) & ~(mask)) | ((value) & (mask)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/miro.c:1010:3: note: in expansion of macro 'snd_miro_write_mask'
1010 | snd_miro_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff);
| ^~~~~~~~~~~~~~~~~~~These are all harmless here as only the low 8 bit are passed down anyway. Change the macros to inline functions to make the code more readable and also avoid the warning.
Strictly speaking those functions also need locking to make the read/write pair atomic, but it seems unlikely that anyone would still run into that issue.
--- sound/isa/opti9xx/miro.c | 9 ++++++--- sound/isa/opti9xx/opti92x-ad1848.c | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-)
sound/isa/opti9xx/miro.c +6 -3
@@ -875,10 +875,13 @@ static void snd_miro_write(struct snd_mispin_unlock_irqrestore (&chip->lock, flags); } +static inline void snd_miro_write_mask (struct snd_miro *chip, +unsigned char reg,unsigned char value,unsigned char mask) +{ +unsigned char oldval =snd_miro_read (chip, reg); -#define snd_miro_write_mask (chip, reg, value, mask) \ - snd_miro_write(chip, reg, \ - (snd_miro_read(chip, reg) & ~(mask)) | ((value) & (mask))) +snd_miro_write (chip, reg, (oldval & ~mask) | (value & mask)); +}/* * Proc Interface
sound/isa/opti9xx/opti92x-ad1848.c +6 -3
@@ -327,10 +327,13 @@ static void snd_opti9xx_write(struct snd } -#define snd_opti9xx_write_mask (chip, reg, value, mask) \ - snd_opti9xx_write(chip, reg, \ - (snd_opti9xx_read(chip, reg) & ~(mask)) | ((value) & (mask))) +static inline void snd_opti9xx_write_mask (struct snd_opti9xx *chip, +unsigned char reg,unsigned char value,unsigned char mask) +{ +unsigned char oldval =snd_opti9xx_read (chip, reg); +snd_opti9xx_write (chip, reg, (oldval & ~mask) | (value & mask)); +} static int snd_opti9xx_configure(struct snd_opti9xx *chip, long port,
Greg Kroah-Hartman
maintainerPATCH 8/18 nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
In reply to Greg Kroah-HartmanFrom: Andreas Gruenbacher <[email protected]>
commit 7648f939cb919b9d15c21fff8cd9eba908d595dc upstream.
nfs3_set_acl keeps track of the acl it allocated locally to determine if an acl needs to be released at the end. This results in a memory leak when the function allocates an acl as well as a default acl. Fix by releasing acls that differ from the acl originally passed into nfs3_set_acl.
--- fs/nfs/nfs3acl.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)
fs/nfs/nfs3acl.c +15 -7
@@ -213,37 +213,45 @@ int nfs3_proc_setacls(struct inode *inodint nfs3_set_acl (struct inode *inode,struct posix_acl *acl,int type) { -struct posix_acl *alloc =NULL , *dfacl =NULL ; +struct posix_acl *orig = acl, *dfacl =NULL , *alloc;int status;if (S_ISDIR (inode->i_mode)) {switch (type) {case ACL_TYPE_ACCESS : - alloc = dfacl =get_acl (inode,ACL_TYPE_DEFAULT ); + alloc =get_acl (inode,ACL_TYPE_DEFAULT );if (IS_ERR (alloc)) goto fail; + dfacl = alloc;break ;case ACL_TYPE_DEFAULT : - dfacl = acl; - alloc = acl =get_acl (inode,ACL_TYPE_ACCESS ); + alloc =get_acl (inode,ACL_TYPE_ACCESS );if (IS_ERR (alloc)) goto fail; + dfacl = acl; + acl = alloc;break ; } }if (acl ==NULL ) { - alloc = acl =posix_acl_from_mode (inode->i_mode,GFP_KERNEL ); + alloc =posix_acl_from_mode (inode->i_mode,GFP_KERNEL );if (IS_ERR (alloc)) goto fail; + acl = alloc; } status =__nfs3_proc_setacls (inode, acl, dfacl); -posix_acl_release (alloc); +out: +if (acl != orig) +posix_acl_release (acl); +if (dfacl != orig) +posix_acl_release (dfacl);return status; fail: -return PTR_ERR (alloc); + status =PTR_ERR (alloc); + goto out; }const struct xattr_handler *nfs3_xattr_handlers[] = {
Greg Kroah-Hartman
maintainerPATCH 9/18 dmaengine: dmatest: Fix iteration non-stop logic
In reply to Greg Kroah-HartmanFrom: Andy Shevchenko <[email protected]>
commit b9f960201249f20deea586b4ec814669b4c6b1c0 upstream.
Under some circumstances, i.e. when test is still running and about to time out and user runs, for example,
grep -H . /sys/module/dmatest/parameters/*
the iterations parameter is not respected and test is going on and on until user gives
echo 0 > /sys/module/dmatest/parameters/run
This is not what expected.
The history of this bug is interesting. I though that the commit
2d88ce76eb98 ("dmatest: add a 'wait' parameter")
is a culprit, but looking closer to the code I think it simple revealed the broken logic from the day one, i.e. in the commit
0a2ff57d6fba ("dmaengine: dmatest: add a maximum number of test iterations")
which adds iterations parameter.
So, to the point, the conditional of checking the thread to be stopped being first part of conjunction logic prevents to check iterations. Thus, we have to always check both conditions to be able to stop after given iterations.
Since it wasn't visible before second commit appeared, I add a respective Fixes tag.
--- drivers/dma/dmatest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/dma/dmatest.c +2 -2
@@ -491,8 +491,8 @@ static int dmatest_func(void *data) flags =DMA_CTRL_ACK |DMA_PREP_INTERRUPT ; ktime =ktime_get (); -while (!kthread_should_stop () - && !(params->iterations && total_tests >= params->iterations)) { +while (!(kthread_should_stop () || + (params->iterations && total_tests >= params->iterations))) {struct dma_async_tx_descriptor *tx =NULL ;struct dmaengine_unmap_data *um;dma_addr_t srcs[src_cnt];
Greg Kroah-Hartman
maintainerPATCH 10/18 i2c: designware-pci: use IRQF_COND_SUSPEND flag
In reply to Greg Kroah-HartmanFrom: Andy Shevchenko <[email protected]>
commit 08c6e8cc66282a082484480c1a5641bc27d26c55 upstream.
This is effectively reapplies the commit b0898fdaffb2 ("i2c: designware-pci: use IRQF_COND_SUSPEND flag") after the commit d80d134182ba ("i2c: designware: Move common probe code into i2c_dw_probe()"). Original message as follows.
The mentioned flag fixes a warning on Intel Edison board since one of the I2C controller shares IRQ line with watchdog timer.
--- drivers/i2c/busses/i2c-designware-core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/i2c/busses/i2c-designware-core.c +2 -1
@@ -865,7 +865,8 @@ int i2c_dw_probe(struct dw_i2c_dev *dev)i2c_set_adapdata (adap, dev);i2c_dw_disable_int (dev); - r =devm_request_irq (dev->dev, dev->irq, i2c_dw_isr,IRQF_SHARED , + r =devm_request_irq (dev->dev, dev->irq, i2c_dw_isr, +IRQF_SHARED |IRQF_COND_SUSPEND ,dev_name (dev->dev), dev);if (r) { dev_err(dev->dev, "failure requesting irq %i: %d\n",
Greg Kroah-Hartman
maintainerPATCH 11/18 perf hists: Fix HISTC_MEM_DCACHELINE width setting
In reply to Greg Kroah-HartmanFrom: Jiri Olsa <[email protected]>
commit 0805909f59e02036a4e2660159f27dbf8b6084ac upstream.
Set correct width for unresolved mem_dcacheline addr.
--- tools/perf/util/hist.c | 2 ++ 1 file changed, 2 insertions(+)
tools/perf/util/hist.c +2 -0
@@ -131,6 +131,8 @@ void hists__calc_col_len(struct hists *h symlen = unresolved_col_width +4 +2 ;hists__new_col_len (hists,HISTC_MEM_DADDR_SYMBOL , symlen); +hists__new_col_len (hists,HISTC_MEM_DCACHELINE , + symlen); }if (h->mem_info->iaddr.sym) {
Greg Kroah-Hartman
maintainerPATCH 12/18 powerpc/perf: Remove PPMU_HAS_SSLOT flag for Power8
In reply to Greg Kroah-HartmanFrom: Madhavan Srinivasan <[email protected]>
commit 370f06c88528b3988fe24a372c10e1303bb94cf6 upstream.
Commit 7a7868326d77 ("powerpc/perf: Add an explict flag indicating presence of SLOT field") introduced the PPMU_HAS_SSLOT flag to remove the assumption that MMCRA[SLOT] was present when PPMU_ALT_SIPR was not set.
That commit's changelog also mentions that Power8 does not support MMCRA[SLOT]. However when the Power8 PMU support was merged, it errnoeously included the PPMU_HAS_SSLOT flag.
So remove PPMU_HAS_SSLOT from the Power8 flags.
mpe: On systems where MMCRA[SLOT] exists, the field occupies bits 37:39 (IBM numbering). On Power8 bit 37 is reserved, and 38:39 overlap with the high bits of the Threshold Event Counter Mantissa. I am not aware of any published events which use the threshold counting mechanism, which would cause the mantissa bits to be set. So in practice this bug is unlikely to trigger.
--- arch/powerpc/perf/power8-pmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/perf/power8-pmu.c +1 -1
@@ -816,7 +816,7 @@ static struct power_pmu power8_pmu = { .get_constraint = power8_get_constraint, .get_alternatives = power8_get_alternatives, .disable_pmc = power8_disable_pmc, - .flags = PPMU_HAS_SSLOT | PPMU_HAS_SIER | PPMU_ARCH_207S, + .flags = PPMU_HAS_SIER | PPMU_ARCH_207S, .n_generic = ARRAY_SIZE(power8_generic_events), .generic_events = power8_generic_events, .cache_events = &power8_cache_events,
Greg Kroah-Hartman
maintainerPATCH 13/18 perf/x86: Fix uninitialized value usage
In reply to Greg Kroah-HartmanFrom: Peter Zijlstra <[email protected]>
commit e01d8718de4170373cd7fbf5cf6f9cb61cebb1e9 upstream.
When calling intel_alt_er() with .idx != EXTRA_REG_RSP_* we will not initialize alt_idx and then use this uninitialized value to index an array.
When that is not fatal, it can result in an infinite loop in its caller __intel_shared_reg_get_constraints(), with IRQs disabled.
Alternative error modes are random memory corruption due to the cpuc->shared_regs->regs[] array overrun, which manifest in either get_constraints or put_constraints doing weird stuff.
Only took 6 hours of painful debugging to find this. Neither GCC nor Smatch warnings flagged this bug.
--- arch/x86/kernel/cpu/perf_event_intel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/x86/kernel/cpu/perf_event_intel.c +2 -1
@@ -1937,7 +1937,8 @@ intel_bts_constraints(struct perf_eventstatic int intel_alt_er (int idx,u64 config) { -int alt_idx; +int alt_idx = idx; +if (!(x86_pmu.flags &PMU_FL_HAS_RSP_1 ))return idx;
Greg Kroah-Hartman
maintainerPATCH 14/18 exynos4-is: fix a format string bug
In reply to Greg Kroah-HartmanFrom: Rasmus Villemoes <[email protected]>
commit 76a563675485849f6f9ad5b30df220438b3628c1 upstream.
Ironically, 7d4020c3c400 ("[media] exynos4-is: fix some warnings when compiling on arm64") fixed some format string bugs but introduced a new one. buf_index is a simple int, so it should be printed with %d, not %pad (which is correctly used for dma_addr_t).
--- drivers/media/platform/exynos4-is/fimc-isp-video.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/media/platform/exynos4-is/fimc-isp-video.c +2 -2
@@ -221,8 +221,8 @@ static void isp_video_capture_buffer_que ivb->dma_addr[i];isp_dbg (2 , &video->ve.vdev, -"dma_buf %pad (%d/%d/%d) addr: %pad\n" , - &buf_index, ivb->index, i, vb->index, +"dma_buf %d (%d/%d/%d) addr: %pad\n" , + buf_index, ivb->index, i, vb->index, &ivb->dma_addr[i]); }
Greg Kroah-Hartman
maintainerPATCH 15/18 ASoC: wm8960: Fix WM8960_SYSCLK_PLL mode
In reply to Greg Kroah-HartmanFrom: Stuart Henderson <[email protected]>
commit 6bb7451429084cefcb3a18fff809f7992595d2af upstream.
With the introduction of WM8960_SYSCLK_AUTO mode, WM8960_SYSCLK_PLL mode was made unusable. Ensure we're not PLL mode before trying to use MCLK.
--- sound/soc/codecs/wm8960.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-)
sound/soc/codecs/wm8960.c +17 -15
@@ -631,29 +631,31 @@ static int wm8960_configure_clocking(strreturn -EINVAL ; } -/* check if the sysclk frequency is available. */ -for (i =0 ; i <ARRAY_SIZE (sysclk_divs); ++i) { -if (sysclk_divs[i] ==-1 ) -continue ; - sysclk = freq_out / sysclk_divs[i]; -for (j =0 ; j <ARRAY_SIZE (dac_divs); ++j) { -if (sysclk == dac_divs[j] * lrclk) { +if (wm8960->clk_id !=WM8960_SYSCLK_PLL ) { +/* check if the sysclk frequency is available. */ +for (i =0 ; i <ARRAY_SIZE (sysclk_divs); ++i) { +if (sysclk_divs[i] ==-1 ) +continue ; + sysclk = freq_out / sysclk_divs[i]; +for (j =0 ; j <ARRAY_SIZE (dac_divs); ++j) { +if (sysclk != dac_divs[j] * lrclk) +continue ;for (k =0 ; k <ARRAY_SIZE (bclk_divs); ++k)if (sysclk == bclk * bclk_divs[k] /10 )break ;if (k !=ARRAY_SIZE (bclk_divs))break ; } +if (j !=ARRAY_SIZE (dac_divs)) +break ; } -if (j !=ARRAY_SIZE (dac_divs)) -break ; - } -if (i !=ARRAY_SIZE (sysclk_divs)) { - goto configure_clock; - }else if (wm8960->clk_id !=WM8960_SYSCLK_AUTO ) { -dev_err (codec->dev,"failed to configure clock\n" ); -return -EINVAL ; +if (i !=ARRAY_SIZE (sysclk_divs)) { + goto configure_clock; + }else if (wm8960->clk_id !=WM8960_SYSCLK_AUTO ) { +dev_err (codec->dev,"failed to configure clock\n" ); +return -EINVAL ; + } }/* get a available pll out frequency and set pll */ for (i =0 ; i <ARRAY_SIZE (sysclk_divs); ++i) {
Greg Kroah-Hartman
maintainerPATCH 16/18 ASoC: imx-spdif: Fix crash on suspend
In reply to Greg Kroah-HartmanFrom: Lars-Peter Clausen <[email protected]>
commit 9954859185c6e8359e71121037b627f1e294057d upstream.
When registering a ASoC card the driver data of the parent device is set to point to the card. This driver data is used in the snd_soc_suspend()/resume() callbacks.
The imx-spdif driver overwrites the driver data with custom data which causes snd_soc_suspend() to crash. Since the custom driver is not used anywhere simply deleting the line which sets the custom driver data fixes the issue.
--- sound/soc/fsl/imx-spdif.c | 2 -- 1 file changed, 2 deletions(-)
sound/soc/fsl/imx-spdif.c +0 -2
@@ -72,8 +72,6 @@ static int imx_spdif_audio_probe(struct goto end; } -platform_set_drvdata (pdev, data); - end:of_node_put (spdif_np);
Greg Kroah-Hartman
maintainerPATCH 17/18 ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
In reply to Greg Kroah-HartmanFrom: Olivier Matz <[email protected]>
commit 59e3e4b52663a9d97efbce7307f62e4bc5c9ce91 upstream.
As it was done in commit 8f659a03a0ba ("net: ipv4: fix for a race condition in raw_sendmsg") and commit 20b50d79974e ("net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg()") for ipv4, copy the value of inet->hdrincl in a local variable, to avoid introducing a race condition in the next commit.
--- net/ipv6/raw.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
net/ipv6/raw.c +10 -2
@@ -757,6 +757,7 @@ static int rawv6_sendmsg(struct sock *skint hlimit =-1 ;int tclass =-1 ;int dontfrag =-1 ; +int hdrincl;u16 proto;int err;
@@ -770,6 +771,13 @@ static int rawv6_sendmsg(struct sock *skif (msg->msg_flags &MSG_OOB )return -EOPNOTSUPP ; +/* hdrincl should be READ_ONCE(inet->hdrincl) +* but READ_ONCE() doesn't work with bit fields. +* Doing this indirectly yields the same result. +*/ + hdrincl = inet->hdrincl; + hdrincl =READ_ONCE (hdrincl); +/* * Get and verify the address. */
@@ -878,7 +886,7 @@ static int rawv6_sendmsg(struct sock *sk fl6.flowi6_oif = np->ucast_oif;security_sk_classify_flow (sk,flowi6_to_flowi (&fl6)); -if (inet->hdrincl) +if (hdrincl) fl6.flowi6_flags |=FLOWI_FLAG_KNOWN_NH ; dst =ip6_dst_lookup_flow (sk, &fl6, final_p);
@@ -899,7 +907,7 @@ static int rawv6_sendmsg(struct sock *sk goto do_confirm; back_from_confirm: -if (inet->hdrincl) +if (hdrincl) err =rawv6_send_hdrinc (sk, msg, len, &fl6, &dst, msg->msg_flags);else {lock_sock (sk);
Greg Kroah-Hartman
maintainerPATCH 18/18 selinux: properly handle multiple messages in selinux_netlink_send()
In reply to Greg Kroah-HartmanFrom: Paul Moore <[email protected]>
commit fb73974172ffaaf57a7c42f35424d9aece1a5af6 upstream.
Fix the SELinux netlink_send hook to properly handle multiple netlink messages in a single sk_buff; each message is parsed and subject to SELinux access control. Prior to this patch, SELinux only inspected the first message in the sk_buff.
--- security/selinux/hooks.c | 69 ++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 24 deletions(-)
security/selinux/hooks.c +45 -24
@@ -4791,38 +4791,59 @@ static int selinux_tun_dev_open(void *sestatic int selinux_nlmsg_perm (struct sock *sk,struct sk_buff *skb) { -int err =0 ; -u32 perm; +int rc =0 ; +unsigned int msg_len; +unsigned int data_len = skb->len; +unsigned char *data = skb->data;struct nlmsghdr *nlh;struct sk_security_struct *sksec = sk->sk_security; +u16 sclass = sksec->sclass; +u32 perm; -if (skb->len <NLMSG_HDRLEN ) { - err = -EINVAL ; - goto out; - } - nlh =nlmsg_hdr (skb); +while (data_len >=nlmsg_total_size (0 )) { + nlh = (struct nlmsghdr *)data; - err =selinux_nlmsg_lookup (sksec->sclass, nlh->nlmsg_type, &perm); -if (err) { -if (err == -EINVAL ) { -printk (KERN_WARNING -"SELinux: unrecognized netlink message:" -" protocol=%hu nlmsg_type=%hu sclass=%s\n" , - sk->sk_protocol, nlh->nlmsg_type, - secclass_map[sksec->sclass -1 ].name); -if (!selinux_enforcing ||security_get_allow_unknown ()) - err =0 ; +/* NOTE: the nlmsg_len field isn't reliably set by some netlink +* users which means we can't reject skb's with bogus +* length fields; our solution is to follow what +* netlink_rcv_skb() does and simply skip processing at +* messages with length fields that are clearly junk +*/ +if (nlh->nlmsg_len <NLMSG_HDRLEN || nlh->nlmsg_len > data_len) +return 0 ; + + rc =selinux_nlmsg_lookup (sclass, nlh->nlmsg_type, &perm); +if (rc ==0 ) { + rc =sock_has_perm (current, sk, perm); +if (rc) +return rc; + }else if (rc == -EINVAL ) { +/* -EINVAL is a missing msg/perm mapping */ +pr_warn_ratelimited ("SELinux: unrecognized netlink" +" message: protocol=%hu nlmsg_type=%hu sclass=%s" +" pid=%d comm=%s\n" , + sk->sk_protocol, nlh->nlmsg_type, + secclass_map[sclass -1 ].name, +task_pid_nr (current), current->comm); +if (selinux_enforcing && !security_get_allow_unknown ()) +return rc; + rc =0 ; + }else if (rc == -ENOENT ) { +/* -ENOENT is a missing socket/class mapping, ignore */ + rc =0 ; + }else { +return rc; } -/* Ignore */ -if (err == -ENOENT ) - err =0 ; - goto out; +/* move to the next message after applying netlink padding */ + msg_len =NLMSG_ALIGN (nlh->nlmsg_len); +if (msg_len >= data_len) +return 0 ; + data_len -= msg_len; + data += msg_len; } - err =sock_has_perm (current, sk, perm); -out: -return err; +return rc; }#ifdef CONFIG_NETFILTER
Hello Greg,
Quoted 8 lines
From: [email protected] <[email protected]> On Behalf Of Greg Kroah-Hartman
Sent: 04 May 2020 18:57This is the start of the stable review cycle for the 4.4.222 release. There are 18 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.
No build/boot issues seen for CIP configs for Linux 4.4.222-rc1 (2f5149253281).
Build/test pipeline/logs: https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/pipelines/142506721
GitLab CI pipeline: https://gitlab.com/cip-project/cip-testing/linux-cip-pipelines/-/blob/master/trees/linux-4.4.y.yml
Relevant LAVA jobs: https://lava.ciplatform.org/scheduler/alljobs?length=25&search=2f5149#table
Kind regards, Chris
Quoted 103 lines
Responses should be made by Wed, 06 May 2020 16:52:55 +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/v4.x/stable-review/patch-
4.4.222-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-4.4.y
and the diffstat can be found below.thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:Greg Kroah-Hartman <[email protected]>
Linux 4.4.222-rc1Paul Moore <[email protected]>
selinux: properly handle multiple messages inselinux_netlink_send()Olivier Matz <[email protected]>
ipv6: use READ_ONCE() for inet->hdrincl as in ipv4Lars-Peter Clausen <[email protected]>
ASoC: imx-spdif: Fix crash on suspendStuart Henderson <[email protected]>
ASoC: wm8960: Fix WM8960_SYSCLK_PLL modeRasmus Villemoes <[email protected]>
exynos4-is: fix a format string bugPeter Zijlstra <[email protected]>
perf/x86: Fix uninitialized value usageMadhavan Srinivasan <[email protected]>
powerpc/perf: RemovePPMU_HAS_SSLOTflag for Power8Jiri Olsa <[email protected]>
perf hists: FixHISTC_MEM_DCACHELINEwidth settingAndy Shevchenko <[email protected]>
i2c: designware-pci: useIRQF_COND_SUSPENDflagAndy Shevchenko <[email protected]>
dmaengine: dmatest: Fix iteration non-stop logicAndreas Gruenbacher <[email protected]>
nfs: Fix potentialposix_aclrefcnt leak innfs3_set_aclArnd Bergmann <[email protected]>
ALSA: opti9xx: shut up gcc-10 range warningSean Christopherson <[email protected]>
vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()Alaa Hleihel <[email protected]>
RDMA/mlx4: Initializeib_specon the stackKai-Heng Feng <[email protected]>
PM: ACPI: Output correct message on target power stateTakashi Iwai <[email protected]>
ALSA: pcm: oss: Place the plugin buffer overflow checks correctlyVasily Averin <[email protected]>
drm/qxl:qxl_releaseleak inqxl_hw_surface_alloc()Theodore Ts'o <[email protected]>
ext4: fix special inode number checks in__ext4_iget()-------------
Diffstat:
Makefile | 4 +- arch/powerpc/perf/power8-pmu.c | 2 +- arch/x86/kernel/cpu/perf_event_intel.c | 3 +- drivers/acpi/device_pm.c | 4 +- drivers/dma/dmatest.c | 4 +- drivers/gpu/drm/qxl/qxl_cmd.c | 5 +- drivers/i2c/busses/i2c-designware-core.c | 3 +- drivers/infiniband/hw/mlx4/main.c | 3 +- drivers/media/platform/exynos4-is/fimc-isp-video.c | 4 +- drivers/vfio/vfio_iommu_type1.c | 4 +- fs/ext4/inode.c | 2 +- fs/nfs/nfs3acl.c | 22 ++++--- net/ipv6/raw.c | 12 +++- security/selinux/hooks.c | 69 ++++++++++++++-------- sound/core/oss/pcm_plugin.c | 20 ++++--- sound/isa/opti9xx/miro.c | 9 ++- sound/isa/opti9xx/opti92x-ad1848.c | 9 ++- sound/soc/codecs/wm8960.c | 32 +++++----- sound/soc/fsl/imx-spdif.c | 2 - tools/perf/util/hist.c | 2 + 20 files changed, 134 insertions(+), 81 deletions(-)
Jon Hunter
maintainerQuoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.222 release. There are 18 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, 06 May 2020 16:52:55 +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/v4.x/stable-review/patch-4.4.222-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
All tests are passing for Tegra ...
Test results for stable-v4.4:
6 builds: 6 pass, 0 fail
12 boots: 12 pass, 0 fail
19 tests: 19 pass, 0 failLinux version: 4.4.222-rc1-g2f5149253281
Boards tested: tegra124-jetson-tk1, tegra20-ventana,
tegra30-cardhu-a04
Cheers
Jon
Signature · 1 line
nvpublic
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.222 release. There are 18 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, 06 May 2020 16:52:55 +0000. Anything received after that time might be too late.
Build results:
total: 169 pass: 169 fail: 0 Qemu test results: total: 334 pass: 334 fail: 0
Guenter
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.222 release. There are 18 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, 06 May 2020 16:52:55 +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/v4.x/stable-review/patch-4.4.222-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
Summary
------------------------------------------------------------------------
kernel: 4.4.222-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.4.y
git commit: 2f5149253281f474194117c5fa97972cf76c84ce
git describe: v4.4.221-19-g2f5149253281
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.4-oe/build/v4.4.221-19-g2f5149253281
No regressions (compared to build v4.4.221)
No fixes (compared to build v4.4.221)
Ran 20159 total tests in the following environments and test suites.
Environments
--------------
- i386
- juno-r2 - arm64
- juno-r2-compat
- juno-r2-kasan
- x15 - arm
- x86_64
- x86-kasan
Test Suites
-----------
* build
* kselftest
* kselftest/drivers
* kselftest/filesystems
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-open-posix-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* network-basic-tests
* perf
* v4l2-compliance
* kvm-unit-tests
* install-android-platform-tools-r2600
* install-android-platform-tools-r2800
* kselftest/net
* kselftest-vsyscall-mode-none
* kselftest-vsyscall-mode-none/drivers
* kselftest-vsyscall-mode-none/filesystems
Summary
------------------------------------------------------------------------
kernel: 4.4.222-rc1
git repo: https://git.linaro.org/lkft/arm64-stable-rc.git
git branch: 4.4.222-rc1-hikey-20200504-710
git commit: b9d78bbbdbd389fe97e31f51872b6feeb6251466
git describe: 4.4.222-rc1-hikey-20200504-710
Test details: https://qa-reports.linaro.org/lkft/linaro-hikey-stable-rc-4.4-oe/build/4.4.222-rc1-hikey-20200504-710
No regressions (compared to build 4.4.221-rc1-hikey-20200501-708)
No fixes (compared to build 4.4.221-rc1-hikey-20200501-708)
Ran 1766 total tests in the following environments and test suites.
Environments
--------------
- hi6220-hikey - arm64
Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* kselftest/drivers
* kselftest/filesystems
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* perf
* v4l2-compliance
Signature · 2 lines
Linaro LKFT https://lkft.linaro.org