Skip to content

ASoC: SOF: enable msi for sof hda audio - #349

Merged
plbossart merged 1 commit into
thesofproject:topic/sof-devfrom
libinyang:hda_msi
Dec 4, 2018
Merged

ASoC: SOF: enable msi for sof hda audio#349
plbossart merged 1 commit into
thesofproject:topic/sof-devfrom
libinyang:hda_msi

Conversation

@libinyang

Copy link
Copy Markdown

Use MSI interrupt instead of legacy interrupt for sof hda audio.

Signed-off-by: Libin Yang libin.yang@intel.com

@libinyang

Copy link
Copy Markdown
Author

This fixes #272

@plbossartplbossart left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like more comments on which ->irq we need to use and minor cosmetic updates.

Comment threadsound/soc/sof/intel/hda.c Outdated
Comment threadsound/soc/sof/sof-priv.h Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

u32 for consistency?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Comment threadsound/soc/sof/intel/hda.c Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this code super confusing. In the same function, we use
sdev->ipc_irq
sdev->hda->irq
pci->irq

it wouldn't hurt to clarify what we use when?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, in whatever mode, sdev->ipc_irq and sdev->hda->irq are used. ipc_irq is for ipc interrupt and hda->irq is for dsp stream interrupt.

In IO-APIC mode, sdev->ipc_irq and sdev->hda->irq are the same as pci->irq based on our platforms. So you can see pci->irq is assigned to sdev->ipc_irq and sdev->hda->irq.

In MSI mode, we get the irq number by pci_irq_vector(pci, 0).

Use MSI interrupt instead of legacy interrupt for sof hda audio.
Signed-off-by: Libin Yang <libin.yang@intel.com>
@plbossart
plbossart merged commit 7032cf6 into thesofproject:topic/sof-devDec 4, 2018
@libinyang
libinyang deleted the hda_msi branch December 4, 2018 07:29
@jocelyn-li

Copy link
Copy Markdown

Fixes #272

Vamshigopal pushed a commit to Vamshigopal/linux that referenced this pull request Jan 24, 2023
commit 991ed01 upstream.
We got a issue as fllows:
==================================================================
kernel BUG at fs/ext4/extents_status.c:203!
invalid opcode: 0000 [thesofproject#1] PREEMPT SMP
CPU: 1 PID: 945 Comm: cat Not tainted 6.0.0-next-20221007-dirty thesofproject#349
RIP: 0010:ext4_es_end.isra.0+0x34/0x42
RSP: 0018:ffffc9000143b768 EFLAGS: 00010203
RAX: 0000000000000000 RBX: ffff8881769cd0b8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8fc27cf7 RDI: 00000000ffffffff
RBP: ffff8881769cd0bc R08: 0000000000000000 R09: ffffc9000143b5f8
R10: 0000000000000001 R11: 0000000000000001 R12: ffff8881769cd0a0
R13: ffff8881768e5668 R14: 00000000768e52f0 R15: 0000000000000000
FS: 00007f359f7f05c0(0000)GS:ffff88842fd00000(0000)knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f359f5a2000 CR3: 000000017130c000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__es_tree_search.isra.0+0x6d/0xf5
ext4_es_cache_extent+0xfa/0x230
ext4_cache_extents+0xd2/0x110
ext4_find_extent+0x5d5/0x8c0
ext4_ext_map_blocks+0x9c/0x1d30
ext4_map_blocks+0x431/0xa50
ext4_mpage_readpages+0x48e/0xe40
ext4_readahead+0x47/0x50
read_pages+0x82/0x530
page_cache_ra_unbounded+0x199/0x2a0
do_page_cache_ra+0x47/0x70
page_cache_ra_order+0x242/0x400
ondemand_readahead+0x1e8/0x4b0
page_cache_sync_ra+0xf4/0x110
filemap_get_pages+0x131/0xb20
filemap_read+0xda/0x4b0
generic_file_read_iter+0x13a/0x250
ext4_file_read_iter+0x59/0x1d0
vfs_read+0x28f/0x460
ksys_read+0x73/0x160
__x64_sys_read+0x1e/0x30
do_syscall_64+0x35/0x80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
</TASK>
==================================================================
In the above issue, ioctl invokes the swap_inode_boot_loader function to
swap inode<5> and inode<12>. However, inode<5> contain incorrect imode and
disordered extents, and i_nlink is set to 1. The extents check for inode in
the ext4_iget function can be bypassed bacause 5 is EXT4_BOOT_LOADER_INO.
While links_count is set to 1, the extents are not initialized in
swap_inode_boot_loader. After the ioctl command is executed successfully,
the extents are swapped to inode<12>, in this case, run the `cat` command
to view inode<12>. And Bug_ON is triggered due to the incorrect extents.
When the boot loader inode is not initialized, its imode can be one of the
following:
1) the imode is a bad type, which is marked as bad_inode in ext4_iget and
set to S_IFREG.
2) the imode is good type but not S_IFREG.
3) the imode is S_IFREG.
The BUG_ON may be triggered by bypassing the check in cases 1 and 2.
Therefore, when the boot loader inode is bad_inode or its imode is not
S_IFREG, initialize the inode to avoid triggering the BUG.
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20221026042310.3839669-5-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
plbossart pushed a commit that referenced this pull request Jun 12, 2024
Add a test case to assert that the skb->pkt_type which was set from the BPF
program is retained from the netkit xmit side to the peer's device at tcx
ingress location.
# ./vmtest.sh -- ./test_progs -t netkit
[...]
./test_progs -t netkit
[ 1.140780] bpf_testmod: loading out-of-tree module taints kernel.
[ 1.141127] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel
[ 1.284601] tsc: Refined TSC clocksource calibration: 3408.006 MHz
[ 1.286672] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x311fd9b189d, max_idle_ns: 440795225691 ns
[ 1.290384] clocksource: Switched to clocksource tsc
#345 tc_netkit_basic:OK
#346 tc_netkit_device:OK
#347 tc_netkit_multi_links:OK
#348 tc_netkit_multi_opts:OK
#349 tc_netkit_neigh_links:OK
#350 tc_netkit_pkt_type:OK
Summary: 6/0 PASSED, 0 SKIPPED, 0 FAILED
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/r/20240524163619.26001-4-daniel@iogearbox.net
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
oder-chiou pushed a commit to oder-chiou/linux-soundwire that referenced this pull request May 5, 2026
We got a issue as fllows:
==================================================================
kernel BUG at fs/ext4/extents_status.c:203!
invalid opcode: 0000 [thesofproject#1] PREEMPT SMP
CPU: 1 PID: 945 Comm: cat Not tainted 6.0.0-next-20221007-dirty thesofproject#349
RIP: 0010:ext4_es_end.isra.0+0x34/0x42
RSP: 0018:ffffc9000143b768 EFLAGS: 00010203
RAX: 0000000000000000 RBX: ffff8881769cd0b8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8fc27cf7 RDI: 00000000ffffffff
RBP: ffff8881769cd0bc R08: 0000000000000000 R09: ffffc9000143b5f8
R10: 0000000000000001 R11: 0000000000000001 R12: ffff8881769cd0a0
R13: ffff8881768e5668 R14: 00000000768e52f0 R15: 0000000000000000
FS: 00007f359f7f05c0(0000)GS:ffff88842fd00000(0000)knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f359f5a2000 CR3: 000000017130c000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__es_tree_search.isra.0+0x6d/0xf5
ext4_es_cache_extent+0xfa/0x230
ext4_cache_extents+0xd2/0x110
ext4_find_extent+0x5d5/0x8c0
ext4_ext_map_blocks+0x9c/0x1d30
ext4_map_blocks+0x431/0xa50
ext4_mpage_readpages+0x48e/0xe40
ext4_readahead+0x47/0x50
read_pages+0x82/0x530
page_cache_ra_unbounded+0x199/0x2a0
do_page_cache_ra+0x47/0x70
page_cache_ra_order+0x242/0x400
ondemand_readahead+0x1e8/0x4b0
page_cache_sync_ra+0xf4/0x110
filemap_get_pages+0x131/0xb20
filemap_read+0xda/0x4b0
generic_file_read_iter+0x13a/0x250
ext4_file_read_iter+0x59/0x1d0
vfs_read+0x28f/0x460
ksys_read+0x73/0x160
__x64_sys_read+0x1e/0x30
do_syscall_64+0x35/0x80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
</TASK>
==================================================================
In the above issue, ioctl invokes the swap_inode_boot_loader function to
swap inode<5> and inode<12>. However, inode<5> contain incorrect imode and
disordered extents, and i_nlink is set to 1. The extents check for inode in
the ext4_iget function can be bypassed bacause 5 is EXT4_BOOT_LOADER_INO.
While links_count is set to 1, the extents are not initialized in
swap_inode_boot_loader. After the ioctl command is executed successfully,
the extents are swapped to inode<12>, in this case, run the `cat` command
to view inode<12>. And Bug_ON is triggered due to the incorrect extents.
When the boot loader inode is not initialized, its imode can be one of the
following:
1) the imode is a bad type, which is marked as bad_inode in ext4_iget and
set to S_IFREG.
2) the imode is good type but not S_IFREG.
3) the imode is S_IFREG.
The BUG_ON may be triggered by bypassing the check in cases 1 and 2.
Therefore, when the boot loader inode is bad_inode or its imode is not
S_IFREG, initialize the inode to avoid triggering the BUG.
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20221026042310.3839669-5-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
oder-chiou pushed a commit to oder-chiou/linux-soundwire that referenced this pull request May 5, 2026
Enable the cpu v4 tests for LoongArch. Currently, we don't have BPF
trampoline in LoongArch JIT, so the fentry test `test_ptr_struct_arg`
still failed, will followup.
Test result attached below:
# ./test_progs -t verifier_sdiv,verifier_movsx,verifier_ldsx,verifier_gotol,verifier_bswap
thesofproject#316/1 verifier_bswap/BSWAP, 16:OK
thesofproject#316/2 verifier_bswap/BSWAP, 16 @unpriv:OK
thesofproject#316/3 verifier_bswap/BSWAP, 32:OK
thesofproject#316/4 verifier_bswap/BSWAP, 32 @unpriv:OK
thesofproject#316/5 verifier_bswap/BSWAP, 64:OK
thesofproject#316/6 verifier_bswap/BSWAP, 64 @unpriv:OK
thesofproject#316 verifier_bswap:OK
thesofproject#330/1 verifier_gotol/gotol, small_imm:OK
thesofproject#330/2 verifier_gotol/gotol, small_imm @unpriv:OK
thesofproject#330 verifier_gotol:OK
thesofproject#338/1 verifier_ldsx/LDSX, S8:OK
thesofproject#338/2 verifier_ldsx/LDSX, S8 @unpriv:OK
thesofproject#338/3 verifier_ldsx/LDSX, S16:OK
thesofproject#338/4 verifier_ldsx/LDSX, S16 @unpriv:OK
thesofproject#338/5 verifier_ldsx/LDSX, S32:OK
thesofproject#338/6 verifier_ldsx/LDSX, S32 @unpriv:OK
thesofproject#338/7 verifier_ldsx/LDSX, S8 range checking, privileged:OK
thesofproject#338/8 verifier_ldsx/LDSX, S16 range checking:OK
thesofproject#338/9 verifier_ldsx/LDSX, S16 range checking @unpriv:OK
thesofproject#338/10 verifier_ldsx/LDSX, S32 range checking:OK
thesofproject#338/11 verifier_ldsx/LDSX, S32 range checking @unpriv:OK
thesofproject#338 verifier_ldsx:OK
thesofproject#349/1 verifier_movsx/MOV32SX, S8:OK
thesofproject#349/2 verifier_movsx/MOV32SX, S8 @unpriv:OK
thesofproject#349/3 verifier_movsx/MOV32SX, S16:OK
thesofproject#349/4 verifier_movsx/MOV32SX, S16 @unpriv:OK
thesofproject#349/5 verifier_movsx/MOV64SX, S8:OK
thesofproject#349/6 verifier_movsx/MOV64SX, S8 @unpriv:OK
thesofproject#349/7 verifier_movsx/MOV64SX, S16:OK
thesofproject#349/8 verifier_movsx/MOV64SX, S16 @unpriv:OK
thesofproject#349/9 verifier_movsx/MOV64SX, S32:OK
thesofproject#349/10 verifier_movsx/MOV64SX, S32 @unpriv:OK
thesofproject#349/11 verifier_movsx/MOV32SX, S8, range_check:OK
thesofproject#349/12 verifier_movsx/MOV32SX, S8, range_check @unpriv:OK
thesofproject#349/13 verifier_movsx/MOV32SX, S16, range_check:OK
thesofproject#349/14 verifier_movsx/MOV32SX, S16, range_check @unpriv:OK
thesofproject#349/15 verifier_movsx/MOV32SX, S16, range_check 2:OK
thesofproject#349/16 verifier_movsx/MOV32SX, S16, range_check 2 @unpriv:OK
thesofproject#349/17 verifier_movsx/MOV64SX, S8, range_check:OK
thesofproject#349/18 verifier_movsx/MOV64SX, S8, range_check @unpriv:OK
thesofproject#349/19 verifier_movsx/MOV64SX, S16, range_check:OK
thesofproject#349/20 verifier_movsx/MOV64SX, S16, range_check @unpriv:OK
thesofproject#349/21 verifier_movsx/MOV64SX, S32, range_check:OK
thesofproject#349/22 verifier_movsx/MOV64SX, S32, range_check @unpriv:OK
thesofproject#349/23 verifier_movsx/MOV64SX, S16, R10 Sign Extension:OK
thesofproject#349/24 verifier_movsx/MOV64SX, S16, R10 Sign Extension @unpriv:OK
thesofproject#349 verifier_movsx:OK
thesofproject#361/1 verifier_sdiv/SDIV32, non-zero imm divisor, check 1:OK
thesofproject#361/2 verifier_sdiv/SDIV32, non-zero imm divisor, check 1 @unpriv:OK
thesofproject#361/3 verifier_sdiv/SDIV32, non-zero imm divisor, check 2:OK
thesofproject#361/4 verifier_sdiv/SDIV32, non-zero imm divisor, check 2 @unpriv:OK
thesofproject#361/5 verifier_sdiv/SDIV32, non-zero imm divisor, check 3:OK
thesofproject#361/6 verifier_sdiv/SDIV32, non-zero imm divisor, check 3 @unpriv:OK
thesofproject#361/7 verifier_sdiv/SDIV32, non-zero imm divisor, check 4:OK
thesofproject#361/8 verifier_sdiv/SDIV32, non-zero imm divisor, check 4 @unpriv:OK
thesofproject#361/9 verifier_sdiv/SDIV32, non-zero imm divisor, check 5:OK
thesofproject#361/10 verifier_sdiv/SDIV32, non-zero imm divisor, check 5 @unpriv:OK
thesofproject#361/11 verifier_sdiv/SDIV32, non-zero imm divisor, check 6:OK
thesofproject#361/12 verifier_sdiv/SDIV32, non-zero imm divisor, check 6 @unpriv:OK
thesofproject#361/13 verifier_sdiv/SDIV32, non-zero imm divisor, check 7:OK
thesofproject#361/14 verifier_sdiv/SDIV32, non-zero imm divisor, check 7 @unpriv:OK
thesofproject#361/15 verifier_sdiv/SDIV32, non-zero imm divisor, check 8:OK
thesofproject#361/16 verifier_sdiv/SDIV32, non-zero imm divisor, check 8 @unpriv:OK
thesofproject#361/17 verifier_sdiv/SDIV32, non-zero reg divisor, check 1:OK
thesofproject#361/18 verifier_sdiv/SDIV32, non-zero reg divisor, check 1 @unpriv:OK
thesofproject#361/19 verifier_sdiv/SDIV32, non-zero reg divisor, check 2:OK
thesofproject#361/20 verifier_sdiv/SDIV32, non-zero reg divisor, check 2 @unpriv:OK
thesofproject#361/21 verifier_sdiv/SDIV32, non-zero reg divisor, check 3:OK
thesofproject#361/22 verifier_sdiv/SDIV32, non-zero reg divisor, check 3 @unpriv:OK
thesofproject#361/23 verifier_sdiv/SDIV32, non-zero reg divisor, check 4:OK
thesofproject#361/24 verifier_sdiv/SDIV32, non-zero reg divisor, check 4 @unpriv:OK
thesofproject#361/25 verifier_sdiv/SDIV32, non-zero reg divisor, check 5:OK
thesofproject#361/26 verifier_sdiv/SDIV32, non-zero reg divisor, check 5 @unpriv:OK
thesofproject#361/27 verifier_sdiv/SDIV32, non-zero reg divisor, check 6:OK
thesofproject#361/28 verifier_sdiv/SDIV32, non-zero reg divisor, check 6 @unpriv:OK
thesofproject#361/29 verifier_sdiv/SDIV32, non-zero reg divisor, check 7:OK
thesofproject#361/30 verifier_sdiv/SDIV32, non-zero reg divisor, check 7 @unpriv:OK
thesofproject#361/31 verifier_sdiv/SDIV32, non-zero reg divisor, check 8:OK
thesofproject#361/32 verifier_sdiv/SDIV32, non-zero reg divisor, check 8 @unpriv:OK
thesofproject#361/33 verifier_sdiv/SDIV64, non-zero imm divisor, check 1:OK
thesofproject#361/34 verifier_sdiv/SDIV64, non-zero imm divisor, check 1 @unpriv:OK
thesofproject#361/35 verifier_sdiv/SDIV64, non-zero imm divisor, check 2:OK
thesofproject#361/36 verifier_sdiv/SDIV64, non-zero imm divisor, check 2 @unpriv:OK
thesofproject#361/37 verifier_sdiv/SDIV64, non-zero imm divisor, check 3:OK
thesofproject#361/38 verifier_sdiv/SDIV64, non-zero imm divisor, check 3 @unpriv:OK
thesofproject#361/39 verifier_sdiv/SDIV64, non-zero imm divisor, check 4:OK
thesofproject#361/40 verifier_sdiv/SDIV64, non-zero imm divisor, check 4 @unpriv:OK
thesofproject#361/41 verifier_sdiv/SDIV64, non-zero imm divisor, check 5:OK
thesofproject#361/42 verifier_sdiv/SDIV64, non-zero imm divisor, check 5 @unpriv:OK
thesofproject#361/43 verifier_sdiv/SDIV64, non-zero imm divisor, check 6:OK
thesofproject#361/44 verifier_sdiv/SDIV64, non-zero imm divisor, check 6 @unpriv:OK
thesofproject#361/45 verifier_sdiv/SDIV64, non-zero reg divisor, check 1:OK
thesofproject#361/46 verifier_sdiv/SDIV64, non-zero reg divisor, check 1 @unpriv:OK
thesofproject#361/47 verifier_sdiv/SDIV64, non-zero reg divisor, check 2:OK
thesofproject#361/48 verifier_sdiv/SDIV64, non-zero reg divisor, check 2 @unpriv:OK
thesofproject#361/49 verifier_sdiv/SDIV64, non-zero reg divisor, check 3:OK
thesofproject#361/50 verifier_sdiv/SDIV64, non-zero reg divisor, check 3 @unpriv:OK
thesofproject#361/51 verifier_sdiv/SDIV64, non-zero reg divisor, check 4:OK
thesofproject#361/52 verifier_sdiv/SDIV64, non-zero reg divisor, check 4 @unpriv:OK
thesofproject#361/53 verifier_sdiv/SDIV64, non-zero reg divisor, check 5:OK
thesofproject#361/54 verifier_sdiv/SDIV64, non-zero reg divisor, check 5 @unpriv:OK
thesofproject#361/55 verifier_sdiv/SDIV64, non-zero reg divisor, check 6:OK
thesofproject#361/56 verifier_sdiv/SDIV64, non-zero reg divisor, check 6 @unpriv:OK
thesofproject#361/57 verifier_sdiv/SMOD32, non-zero imm divisor, check 1:OK
thesofproject#361/58 verifier_sdiv/SMOD32, non-zero imm divisor, check 1 @unpriv:OK
thesofproject#361/59 verifier_sdiv/SMOD32, non-zero imm divisor, check 2:OK
thesofproject#361/60 verifier_sdiv/SMOD32, non-zero imm divisor, check 2 @unpriv:OK
thesofproject#361/61 verifier_sdiv/SMOD32, non-zero imm divisor, check 3:OK
thesofproject#361/62 verifier_sdiv/SMOD32, non-zero imm divisor, check 3 @unpriv:OK
thesofproject#361/63 verifier_sdiv/SMOD32, non-zero imm divisor, check 4:OK
thesofproject#361/64 verifier_sdiv/SMOD32, non-zero imm divisor, check 4 @unpriv:OK
thesofproject#361/65 verifier_sdiv/SMOD32, non-zero imm divisor, check 5:OK
thesofproject#361/66 verifier_sdiv/SMOD32, non-zero imm divisor, check 5 @unpriv:OK
thesofproject#361/67 verifier_sdiv/SMOD32, non-zero imm divisor, check 6:OK
thesofproject#361/68 verifier_sdiv/SMOD32, non-zero imm divisor, check 6 @unpriv:OK
thesofproject#361/69 verifier_sdiv/SMOD32, non-zero reg divisor, check 1:OK
thesofproject#361/70 verifier_sdiv/SMOD32, non-zero reg divisor, check 1 @unpriv:OK
thesofproject#361/71 verifier_sdiv/SMOD32, non-zero reg divisor, check 2:OK
thesofproject#361/72 verifier_sdiv/SMOD32, non-zero reg divisor, check 2 @unpriv:OK
thesofproject#361/73 verifier_sdiv/SMOD32, non-zero reg divisor, check 3:OK
thesofproject#361/74 verifier_sdiv/SMOD32, non-zero reg divisor, check 3 @unpriv:OK
thesofproject#361/75 verifier_sdiv/SMOD32, non-zero reg divisor, check 4:OK
thesofproject#361/76 verifier_sdiv/SMOD32, non-zero reg divisor, check 4 @unpriv:OK
thesofproject#361/77 verifier_sdiv/SMOD32, non-zero reg divisor, check 5:OK
thesofproject#361/78 verifier_sdiv/SMOD32, non-zero reg divisor, check 5 @unpriv:OK
thesofproject#361/79 verifier_sdiv/SMOD32, non-zero reg divisor, check 6:OK
thesofproject#361/80 verifier_sdiv/SMOD32, non-zero reg divisor, check 6 @unpriv:OK
thesofproject#361/81 verifier_sdiv/SMOD64, non-zero imm divisor, check 1:OK
thesofproject#361/82 verifier_sdiv/SMOD64, non-zero imm divisor, check 1 @unpriv:OK
thesofproject#361/83 verifier_sdiv/SMOD64, non-zero imm divisor, check 2:OK
thesofproject#361/84 verifier_sdiv/SMOD64, non-zero imm divisor, check 2 @unpriv:OK
thesofproject#361/85 verifier_sdiv/SMOD64, non-zero imm divisor, check 3:OK
thesofproject#361/86 verifier_sdiv/SMOD64, non-zero imm divisor, check 3 @unpriv:OK
thesofproject#361/87 verifier_sdiv/SMOD64, non-zero imm divisor, check 4:OK
thesofproject#361/88 verifier_sdiv/SMOD64, non-zero imm divisor, check 4 @unpriv:OK
thesofproject#361/89 verifier_sdiv/SMOD64, non-zero imm divisor, check 5:OK
thesofproject#361/90 verifier_sdiv/SMOD64, non-zero imm divisor, check 5 @unpriv:OK
thesofproject#361/91 verifier_sdiv/SMOD64, non-zero imm divisor, check 6:OK
thesofproject#361/92 verifier_sdiv/SMOD64, non-zero imm divisor, check 6 @unpriv:OK
thesofproject#361/93 verifier_sdiv/SMOD64, non-zero imm divisor, check 7:OK
thesofproject#361/94 verifier_sdiv/SMOD64, non-zero imm divisor, check 7 @unpriv:OK
thesofproject#361/95 verifier_sdiv/SMOD64, non-zero imm divisor, check 8:OK
thesofproject#361/96 verifier_sdiv/SMOD64, non-zero imm divisor, check 8 @unpriv:OK
thesofproject#361/97 verifier_sdiv/SMOD64, non-zero reg divisor, check 1:OK
thesofproject#361/98 verifier_sdiv/SMOD64, non-zero reg divisor, check 1 @unpriv:OK
thesofproject#361/99 verifier_sdiv/SMOD64, non-zero reg divisor, check 2:OK
thesofproject#361/100 verifier_sdiv/SMOD64, non-zero reg divisor, check 2 @unpriv:OK
thesofproject#361/101 verifier_sdiv/SMOD64, non-zero reg divisor, check 3:OK
thesofproject#361/102 verifier_sdiv/SMOD64, non-zero reg divisor, check 3 @unpriv:OK
thesofproject#361/103 verifier_sdiv/SMOD64, non-zero reg divisor, check 4:OK
thesofproject#361/104 verifier_sdiv/SMOD64, non-zero reg divisor, check 4 @unpriv:OK
thesofproject#361/105 verifier_sdiv/SMOD64, non-zero reg divisor, check 5:OK
thesofproject#361/106 verifier_sdiv/SMOD64, non-zero reg divisor, check 5 @unpriv:OK
thesofproject#361/107 verifier_sdiv/SMOD64, non-zero reg divisor, check 6:OK
thesofproject#361/108 verifier_sdiv/SMOD64, non-zero reg divisor, check 6 @unpriv:OK
thesofproject#361/109 verifier_sdiv/SMOD64, non-zero reg divisor, check 7:OK
thesofproject#361/110 verifier_sdiv/SMOD64, non-zero reg divisor, check 7 @unpriv:OK
thesofproject#361/111 verifier_sdiv/SMOD64, non-zero reg divisor, check 8:OK
thesofproject#361/112 verifier_sdiv/SMOD64, non-zero reg divisor, check 8 @unpriv:OK
thesofproject#361/113 verifier_sdiv/SDIV32, zero divisor:OK
thesofproject#361/114 verifier_sdiv/SDIV32, zero divisor @unpriv:OK
thesofproject#361/115 verifier_sdiv/SDIV64, zero divisor:OK
thesofproject#361/116 verifier_sdiv/SDIV64, zero divisor @unpriv:OK
thesofproject#361/117 verifier_sdiv/SMOD32, zero divisor:OK
thesofproject#361/118 verifier_sdiv/SMOD32, zero divisor @unpriv:OK
thesofproject#361/119 verifier_sdiv/SMOD64, zero divisor:OK
thesofproject#361/120 verifier_sdiv/SMOD64, zero divisor @unpriv:OK
thesofproject#361 verifier_sdiv:OK
Summary: 5/163 PASSED, 0 SKIPPED, 0 FAILED
# ./test_progs -t ldsx_insn
test_map_val_and_probed_memory:PASS:test_ldsx_insn__open 0 nsec
test_map_val_and_probed_memory:PASS:test_ldsx_insn__load 0 nsec
libbpf: prog 'test_ptr_struct_arg': failed to attach: ERROR: strerror_r(-524)=22
libbpf: prog 'test_ptr_struct_arg': failed to auto-attach: -524
test_map_val_and_probed_memory:FAIL:test_ldsx_insn__attach unexpected error: -524 (errno 524)
thesofproject#116/1 ldsx_insn/map_val and probed_memory:FAIL
thesofproject#116/2 ldsx_insn/ctx_member_sign_ext:OK
thesofproject#116/3 ldsx_insn/ctx_member_narrow_sign_ext:OK
thesofproject#116 ldsx_insn:FAIL
All error logs:
test_map_val_and_probed_memory:PASS:test_ldsx_insn__open 0 nsec
test_map_val_and_probed_memory:PASS:test_ldsx_insn__load 0 nsec
libbpf: prog 'test_ptr_struct_arg': failed to attach: ERROR: strerror_r(-524)=22
libbpf: prog 'test_ptr_struct_arg': failed to auto-attach: -524
test_map_val_and_probed_memory:FAIL:test_ldsx_insn__attach unexpected error: -524 (errno 524)
thesofproject#116/1 ldsx_insn/map_val and probed_memory:FAIL
thesofproject#116 ldsx_insn:FAIL
Summary: 0/2 PASSED, 0 SKIPPED, 1 FAILED
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@libinyang@jocelyn-li@plbossart