Skip to contentSkip to conversation

7.0.10-rc1 review

PATCH In review Greg Kroah-Hartman 20 participants 1,172 messages May 20 – May 22 Page 10 of 10

Subsystems (6)
lore
Share & tools
lore
author maintainer
#1154 lore raw

PATCH 1144/1146 smb: client: Use FullSessionKey for AES-256 encryption key derivation

In reply to Greg Kroah-Hartman

7.0-stable review patch. If anyone has any objections, please let me know.

------------------

From: Piyush Sachdeva <[email protected]>

[ Upstream commit 5be7a0cef3229fb3b63a07c0d289daf752545424 ]

When Kerberos authentication is used with AES-256 encryption (AES-256-CCM or AES-256-GCM), the SMB3 encryption and decryption keys must be derived using the full session key (Session.FullSessionKey) rather than just the first 16 bytes (Session.SessionKey).

Per MS-SMB2 section 3.2.5.3.1, when Connection.Dialect is "3.1.1" and Connection.CipherId is AES-256-CCM or AES-256-GCM, Session.FullSessionKey must be set to the full cryptographic key from the GSS authentication context. The encryption and decryption key derivation (SMBC2SCipherKey, SMBS2CCipherKey) must use this FullSessionKey as the KDF input. The signing key derivation continues to use Session.SessionKey (first 16 bytes) in all cases.

Previously, generate_key() hardcoded SMB2_NTLMV2_SESSKEY_SIZE (16) as the HMAC-SHA256 key input length for all derivations. When Kerberos with AES-256 provides a 32-byte session key, the KDF for encryption/decryption was using only the first 16 bytes, producing keys that did not match the server's, causing mount failures with sec=krb5 and require_gcm_256=1.

Add a full_key_size parameter to generate_key() and pass the appropriate size from generate_smb3signingkey():
- Signing: always SMB2_NTLMV2_SESSKEY_SIZE (16 bytes)
- Encryption/Decryption: ses->auth_key.len when AES-256, otherwise 16

Also fix cifs_dump_full_key() to report the actual session key length for AES-256 instead of hardcoded CIFS_SESS_KEY_SIZE, so that userspace tools like Wireshark receive the correct key for decryption.

---
 fs/smb/client/ioctl.c         |    2 +-
 fs/smb/client/smb2transport.c |   32 +++++++++++++++++++++++++-------
 2 files changed, 26 insertions(+), 8 deletions(-)
fs/smb/client/ioctl.c +1 -1
@@ -296,7 +296,7 @@ search_end:
 		break;
 	case SMB2_ENCRYPTION_AES256_CCM:
 	case SMB2_ENCRYPTION_AES256_GCM:
-		out.session_key_length = CIFS_SESS_KEY_SIZE;
+		out.session_key_length = ses->auth_key.len;
 		out.server_in_key_length = out.server_out_key_length = SMB3_GCM256_CRYPTKEY_SIZE;
 		break;
 	default:
fs/smb/client/smb2transport.c +25 -7
@@ -259,7 +259,8 @@ smb2_calc_signature(struct smb_rqst *rqs
 }
 
 static int generate_key(struct cifs_ses *ses, struct kvec label,
-			struct kvec context, __u8 *key, unsigned int key_size)
+			struct kvec context, __u8 *key, unsigned int key_size,
+			unsigned int full_key_size)
 {
 	unsigned char zero = 0x0;
 	__u8 i[4] = {0, 0, 0, 1};
@@ -280,7 +281,7 @@ static int generate_key(struct cifs_ses
 	}
 
 	hmac_sha256_init_usingrawkey(&hmac_ctx, ses->auth_key.response,
-				     SMB2_NTLMV2_SESSKEY_SIZE);
+				     full_key_size);
 	hmac_sha256_update(&hmac_ctx, i, 4);
 	hmac_sha256_update(&hmac_ctx, label.iov_base, label.iov_len);
 	hmac_sha256_update(&hmac_ctx, &zero, 1);
@@ -314,6 +315,7 @@ generate_smb3signingkey(struct cifs_ses
 			struct TCP_Server_Info *server,
 			const struct derivation_triplet *ptriplet)
 {
+	unsigned int full_key_size = SMB2_NTLMV2_SESSKEY_SIZE;
 	int rc;
 	bool is_binding = false;
 	int chan_index = 0;
@@ -348,17 +350,31 @@ generate_smb3signingkey(struct cifs_ses
 		rc = generate_key(ses, ptriplet->signing.label,
 				  ptriplet->signing.context,
 				  ses->chans[chan_index].signkey,
-				  SMB3_SIGN_KEY_SIZE);
+				  SMB3_SIGN_KEY_SIZE,
+				  SMB2_NTLMV2_SESSKEY_SIZE);
 		if (rc)
 			return rc;
 	} else {
 		rc = generate_key(ses, ptriplet->signing.label,
 				  ptriplet->signing.context,
 				  ses->smb3signingkey,
-				  SMB3_SIGN_KEY_SIZE);
+				  SMB3_SIGN_KEY_SIZE,
+				  SMB2_NTLMV2_SESSKEY_SIZE);
 		if (rc)
 			return rc;
 
+		/*
+		 * Per MS-SMB2 3.2.5.3.1, signing key always uses Session.SessionKey
+		 * (first 16 bytes). Encryption/decryption keys use
+		 * Session.FullSessionKey when dialect is 3.1.1 and cipher is
+		 * AES-256-CCM or AES-256-GCM, otherwise Session.SessionKey.
+		 */
+
+		if (server->dialect == SMB311_PROT_ID &&
+		    (server->cipher_type == SMB2_ENCRYPTION_AES256_CCM ||
+		     server->cipher_type == SMB2_ENCRYPTION_AES256_GCM))
+			full_key_size = ses->auth_key.len;
+
 		/* safe to access primary channel, since it will never go away */
 		spin_lock(&ses->chan_lock);
 		memcpy(ses->chans[chan_index].signkey, ses->smb3signingkey,
@@ -368,13 +384,15 @@ generate_smb3signingkey(struct cifs_ses
 		rc = generate_key(ses, ptriplet->encryption.label,
 				  ptriplet->encryption.context,
 				  ses->smb3encryptionkey,
-				  SMB3_ENC_DEC_KEY_SIZE);
+				  SMB3_ENC_DEC_KEY_SIZE,
+				  full_key_size);
 		if (rc)
 			return rc;
 		rc = generate_key(ses, ptriplet->decryption.label,
 				  ptriplet->decryption.context,
 				  ses->smb3decryptionkey,
-				  SMB3_ENC_DEC_KEY_SIZE);
+				  SMB3_ENC_DEC_KEY_SIZE,
+				  full_key_size);
 		if (rc)
 			return rc;
 	}
@@ -389,7 +407,7 @@ generate_smb3signingkey(struct cifs_ses
 			&ses->Suid);
 	cifs_dbg(VFS, "Cipher type   %d\n", server->cipher_type);
 	cifs_dbg(VFS, "Session Key   %*ph\n",
-		 SMB2_NTLMV2_SESSKEY_SIZE, ses->auth_key.response);
+		 (int)ses->auth_key.len, ses->auth_key.response);
 	cifs_dbg(VFS, "Signing Key   %*ph\n",
 		 SMB3_SIGN_KEY_SIZE, ses->smb3signingkey);
 	if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) ||
author maintainer
#1155 lore raw

PATCH 1145/1146 spi: sifive: Simplify clock handling with devm_clk_get_enabled()

In reply to Greg Kroah-Hartman

7.0-stable review patch. If anyone has any objections, please let me know.

------------------

From: Pei Xiao <[email protected]>

[ Upstream commit 140039c23aca067b9ff0242e3c0ce96276bb95f3 ]

Replace devm_clk_get() followed by clk_prepare_enable() with devm_clk_get_enabled() for the bus clock. This reduces boilerplate code and error handling, as the managed API automatically disables the clock when the device is removed or if probe fails.

Remove the now-unnecessary clk_disable_unprepare() calls from the probe error path and the remove callback. Adjust the error handling to use the existing put_host label.

Stable-dep-of: 0f25236694a2 ("spi: sifive: fix controller deregistration")

---
 drivers/spi/spi-sifive.c |   21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
drivers/spi/spi-sifive.c +6 -15
@@ -312,7 +312,8 @@ static int sifive_spi_probe(struct platf
 		goto put_host;
 	}
 
-	spi->clk = devm_clk_get(&pdev->dev, NULL);
+	/* Spin up the bus clock before hitting registers */
+	spi->clk = devm_clk_get_enabled(&pdev->dev, NULL);
 	if (IS_ERR(spi->clk)) {
 		dev_err(&pdev->dev, "Unable to find bus clock\n");
 		ret = PTR_ERR(spi->clk);
@@ -342,13 +343,6 @@ static int sifive_spi_probe(struct platf
 		goto put_host;
 	}
 
-	/* Spin up the bus clock before hitting registers */
-	ret = clk_prepare_enable(spi->clk);
-	if (ret) {
-		dev_err(&pdev->dev, "Unable to enable bus clock\n");
-		goto put_host;
-	}
-
 	/* probe the number of CS lines */
 	spi->cs_inactive = sifive_spi_read(spi, SIFIVE_SPI_REG_CSDEF);
 	sifive_spi_write(spi, SIFIVE_SPI_REG_CSDEF, 0xffffffffU);
@@ -357,14 +351,14 @@ static int sifive_spi_probe(struct platf
 	if (!cs_bits) {
 		dev_err(&pdev->dev, "Could not auto probe CS lines\n");
 		ret = -EINVAL;
-		goto disable_clk;
+		goto put_host;
 	}
 
 	num_cs = ilog2(cs_bits) + 1;
 	if (num_cs > SIFIVE_SPI_MAX_CS) {
 		dev_err(&pdev->dev, "Invalid number of spi targets\n");
 		ret = -EINVAL;
-		goto disable_clk;
+		goto put_host;
 	}
 
 	/* Define our host */
@@ -392,7 +386,7 @@ static int sifive_spi_probe(struct platf
 			       dev_name(&pdev->dev), spi);
 	if (ret) {
 		dev_err(&pdev->dev, "Unable to bind to interrupt\n");
-		goto disable_clk;
+		goto put_host;
 	}
 
 	dev_info(&pdev->dev, "mapped; irq=%d, cs=%d\n",
@@ -401,13 +395,11 @@ static int sifive_spi_probe(struct platf
 	ret = devm_spi_register_controller(&pdev->dev, host);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "spi_register_host failed\n");
-		goto disable_clk;
+		goto put_host;
 	}
 
 	return 0;
 
-disable_clk:
-	clk_disable_unprepare(spi->clk);
 put_host:
 	spi_controller_put(host);
 
@@ -421,7 +413,6 @@ static void sifive_spi_remove(struct pla
 
 	/* Disable all the interrupts just in case */
 	sifive_spi_write(spi, SIFIVE_SPI_REG_IE, 0);
-	clk_disable_unprepare(spi->clk);
 }
 
 static int sifive_spi_suspend(struct device *dev)
author maintainer
#1156 lore raw

PATCH 1146/1146 spi: sifive: fix controller deregistration

In reply to Greg Kroah-Hartman

7.0-stable review patch. If anyone has any objections, please let me know.

------------------

From: Johan Hovold <[email protected]>

[ Upstream commit 0f25236694a2854627c1597465a071e6bb6fe572 ]

Make sure to deregister the controller before disabling underlying resources like interrupts during driver unbind.

Note that clocks were also disabled before the recent commit 140039c23aca ("spi: sifive: Simplify clock handling with devm_clk_get_enabled()").

Fixes 484a9a68d669 ("spi: sifive: Add driver for the SiFive SPI controller")
Cc Yash Shah <[email protected]>
---
 drivers/spi/spi-sifive.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/spi/spi-sifive.c +7 -1
@@ -392,7 +392,7 @@ static int sifive_spi_probe(struct platf
 	dev_info(&pdev->dev, "mapped; irq=%d, cs=%d\n",
 		 irq, host->num_chipselect);
 
-	ret = devm_spi_register_controller(&pdev->dev, host);
+	ret = spi_register_controller(host);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "spi_register_host failed\n");
 		goto put_host;
@@ -411,8 +411,14 @@ static void sifive_spi_remove(struct pla
 	struct spi_controller *host = platform_get_drvdata(pdev);
 	struct sifive_spi *spi = spi_controller_get_devdata(host);
 
+	spi_controller_get(host);
+
+	spi_unregister_controller(host);
+
 	/* Disable all the interrupts just in case */
 	sifive_spi_write(spi, SIFIVE_SPI_REG_IE, 0);
+
+	spi_controller_put(host);
 }
 
 static int sifive_spi_suspend(struct device *dev)
Tested-by on the v1 series
#1158 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.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
Tested-by on the v1 series
#1160 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

thanks,

greg k-h

If I revert:
rtla: Use str_has_prefix() for prefix checks rtla/trace: Fix write loop in trace_event_save_hist()

Everything builds fine.

Tested rc1 against the Fedora build system (aarch64, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.

Tested-by on the v1 series
#1161 lore raw
In reply to Greg Kroah-Hartman

Hi Greg

Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

thanks,

greg k-h

Linux version 7.0.10-rc1 tested.

Build successfully completed.
Boot successfully completed.
No dmesg regressions.
Video output normal.
Sound output normal.

Lenovo ThinkPad X1 Carbon Gen10(Intel i7-1260P(x86_64) arch linux)

[    0.000000] Linux version 7.0.10-rc1rv-ge79d5c5d57c0

(takeshi@ThinkPadX1Gen10J0764) (gcc (GCC) 16.1.1 20260430, GNU ld (GNU Binutils) 2.46.0) #1 SMP PREEMPT_DYNAMIC Thu May 21 07:16:22 JST 2026

Thanks

Tested-by on the v1 series
#1162 lore raw
In reply to Greg Kroah-Hartman

Hi!

Quoted 4 lines

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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.

CIP testing did not find any problems here:

https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-7.0.y

Best regards,
Pavel

Tested-by on the v1 series
#1163 lore raw
In reply to Greg Kroah-Hartman

Am 20.05.2026 um 18:04 schrieb Greg Kroah-Hartman:

Quoted 4 lines

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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.

Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.

Beste Grüße,
Peter Schneider

Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge,
enjoy the air and behold the view. Climb it so you can see the world,
not so the world can see you.                    -- David McCullough Jr.

OpenPGP:  0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244
Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc
https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Tested-by on the v1 series
#1165 lore raw
In reply to Greg Kroah-Hartman

Hi,

Quoted 16 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

Quoted 3 lines

thanks,

greg k-h

kernel builds and boots with no regressions. Tested on x86_64 (13th Gen Intel(R) Core(TM) i9-13900H).

Best regards,

Enrico

Tested-by
#1166 lore raw

AMD Ryzen 5 5600 6-Core Processor:
https://www.inet.se/produkt/5304697/amd-ryzen-5-5600-3-5-ghz-35mb on a
https://www.gigabyte.com/Motherboard/B550-AORUS-ELITE-V2-rev-12
https://www.inet.se/produkt/1903406/gigabyte-b550-aorus-elite-v2
motherboard :)

Den tors 21 maj 2026 kl 15:52 skrev Enrico Bravi <[email protected]>:

Quoted 32 lines

Hi,

Quoted 16 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

Quoted 3 lines

thanks,

greg k-h

kernel builds and boots with no regressions. Tested on x86_64 (13th Gen Intel(R) Core(TM) i9-13900H).

Best regards,

Enrico

Tested-by on the v1 series
#1167 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

thanks,

greg k-h

Tested on 2 different amd64 systems. Working well, no regressions observed.

Signature · 1 line
-Barry K. Nathan  <[email protected]>
Tested-by on the v1 series
#1168 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 7.0.10 release. There are 1146 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 Fri, 22 May 2026 16:20:16 +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/v7.x/stable-review/patch-7.0.10-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-7.0.y
and the diffstat can be found below.

thanks,

greg k-h

Built and booted successfully on RISC-V RV64 (HiFive Unmatched).

Tested-by on the v1 series
#1169 lore raw
In reply to Greg Kroah-Hartman

hello,

Compiled and booted 7.0.10-rc1+
No new typical dmesg regressions
.
output of "sudo perf test" related is attached.

--
software engineer
rajagiri school of engineering and technology

  1: vmlinux symtab matches kallsyms                                 : Running (66 active)
  1: vmlinux symtab matches kallsyms                                 : Ok
  2: Detect openat syscall event                                     : Ok
  3: Detect openat syscall event on all cpus                         : Ok
  4: Test data source output                                         : Ok
  5: Parse event definition strings                                  :
  5.1: Test event parsing                                            : Ok
  5.2: Parsing of all PMU events from sysfs                          : Ok
  5.3: Parsing of given PMU events from sysfs                        : Ok
  5.4: Parsing of aliased events from sysfs                          : Skip (no aliases in sysfs)
  5.5: Parsing of aliased events                                     : Ok
  5.6: Parsing of terms (event modifiers)                            : Ok
  6: Simple expression parser                                        : Ok
  7: PERF_RECORD_* events & perf_sample fields                       : Ok
  8: Sysfs PMU tests                                                 :
  8.1: Parsing with PMU format directory                             : Ok
  8.2: Parsing with PMU event                                        : Ok
  8.3: PMU event names                                               : Ok
  8.4: PMU name combining                                            : Ok
  8.5: PMU name comparison                                           : Ok
  8.6: PMU cmdline match                                             : Ok
  8.7: PMU user config changes                                       : Ok
  9: PMU JSON event tests                                            :
  9.1: PMU event table sanity                                        : Ok
  9.2: PMU event map aliases                                         : Ok
  9.3: Parsing of PMU event table metrics                            : Ok
  9.4: Parsing of PMU event table metrics with fake PMUs             : Ok
  9.5: Parsing of metric thresholds with fake PMUs                   : Ok
 10: Hwmon PMU                                                       :
 10.1: Basic parsing test                                            : Ok
 10.2: Parsing without PMU name                                      : Ok
 10.3: Parsing with PMU name                                         : Ok
 11: Tool PMU                                                        :
 11.1: Parsing without PMU name                                      : Ok
 11.2: Parsing with PMU name                                         : Ok
 12: DSO data tests                                                  :
 12.1: read                                                          : Ok
 12.2: cache                                                         : Ok
 12.3: reopen                                                        : Ok
 13: Roundtrip evsel->name                                           : Ok
 14: Parse sched tracepoints fields                                  : Ok
 15: syscalls:sys_enter_openat event fields                          : Ok
 16: Match and link multiple hists                                   : Ok
 17: Breakpoint overflow signal handler                              : Ok
 18: Breakpoint overflow sampling                                    : Ok
 19: Breakpoint accounting                                           : Ok
 20: Watchpoint                                                      :
 20.1: Read Only Watchpoint                                          : Skip (missing hardware support)
 20.2: Write Only Watchpoint                                         : Ok
 20.3: Read / Write Watchpoint                                       : Ok
 20.4: Modify Watchpoint                                             : Ok
 21: Software clock events period values                             : Ok
 22: Object code reading                                             : Ok
 23: Sample parsing                                                  : Ok
 24: Use a dummy software event to keep tracking                     : Ok
 25: Parse with no sample_id_all bit set                             : Ok
 26: Filter hist entries                                             : Ok
 27: Lookup mmap thread                                              : Ok
 28: Share thread maps                                               : Ok
 29: Sort output of hist entries                                     : Ok
 30: Cumulate child hist entries                                     : Ok
 31: Filter fds with revents mask in a fdarray                       : Ok
 32: Add fd to a fdarray, making it autogrow                         : Ok
 33: kmod_path__parse                                                : Ok
 34: Thread map                                                      : Ok
 35: Session topology                                                : Ok
 36: Synthesize thread map                                           : Ok
 37: Remove thread map                                               : Ok
 38: CPU map                                                         :
 38.1: Synthesize cpu map                                            : Ok
 38.2: Print cpu map                                                 : Ok
 38.3: Merge cpu map                                                 : Ok
 38.4: Intersect cpu map                                             : Ok
 38.5: Equal cpu map                                                 : Ok
 39: Synthesize stat config                                          : Ok
 40: Synthesize stat                                                 : Ok
 41: Synthesize stat round                                           : Ok
 42: Synthesize attr update                                          : Ok
 43: Event times                                                     : Ok
 44: Read backward ring buffer                                       : Ok
 45: Probe SDT events                                                : Ok
 46: is_printable_array                                              : Ok
 47: Print bitmap                                                    : Ok
 48: perf hooks                                                      : Ok
 49: unit_number__scnprintf                                          : Ok
 50: mem2node                                                        : Ok
 51: time utils                                                      : Ok
 52: Test jit_write_elf                                              : Ok
 53: Test libpfm4 support                                            :
 53.1: test of individual --pfm-events                               : Ok
 53.2: test groups of --pfm-events                                   : Ok
 54: Test api io                                                     : Ok
 55: Maps - per process mmaps abstraction                            :
 55.1: Test merge_in interface                                       : Ok
 55.2: Test fix up overlap interface                                 : Ok
 56: Demangle Java                                                   : Ok
 57: Demangle OCaml                                                  : Ok
 58: Demangle Rust                                                   : Ok
 59: Parse and process metrics                                       : Ok
 60: PE file support                                                 : Skip
 61: Event expansion for cgroups                                     : Ok
 62: Convert perf time to TSC                                        :
 62.1: TSC support                                                   : Ok
 62.2: Perf time to TSC                                              : Skip (perf_read_tsc_conversion is not supported)
 63: dlfilter C API                                                  : Ok
 64: Sigtrap                                                         : Ok
 65: Event groups                                                    : Ok
 66: Symbols                                                         : Ok
 67: util                                                            : Ok
 68: libsubcmd help tests                                            :
 68.1: Load subcmd names                                             : Ok
 68.2: Uniquify subcmd names                                         : Ok
 68.3: Exclude duplicate subcmd names                                : Ok
 68.4: Exclude disjoint subcmd names                                 : Ok
 69: split kallsyms                                                  : Ok
 70: Test dwarf unwind                                               : Ok
 71: Intel PT                                                        :
 71.1: Intel PT packet decoder                                       : Ok
 71.2: Intel PT hybrid CPU compatibility                             : Skip
 72: x86 bp modify                                                   : Ok
 73: AMD IBS via core pmu                                            : Skip
 74: x86 hybrid event parsing                                        : Skip (not hybrid)
 75: x86 topdown                                                     : Ok
 76: test addr2line inline unwinding                                 : Ok
 77: AMD IBS software filtering                                      : Skip
 78: perf annotate basic tests                                       : Ok
 79: Perf attribute expectations test                                : Ok
 80: build id cache operations                                       : Ok
 81: perf c2c tests                                                  : Skip
 82: daemon operations                                               : FAILED!
 83: perf data type profiling tests                                  : Skip
 84: perf diff tests                                                 : Ok
 85: DRM PMU                                                         : Ok
 86: perf evlist tests                                               : Ok
 87: perf ftrace tests                                               : Ok
 88: perf header tests                                               : Ok
 89: perf inject to convert DWARF callchains to regular ones         : Ok
 90: python profiling with jitdump                                   : Ok
 91: perf kallsyms tests                                             : Ok
 92: perf kvm tests                                                  : FAILED!
 93: perf list tests                                                 : Ok
 94: kernel lock contention analysis test                            : Ok
 95: perf report --hierarchy                                         : Ok
 96: perf sched stats tests                                          : Ok
 97: perf pipe recording and injection test                          : FAILED!
 98: 'import perf' in python                                         : Ok
 99: Zstd perf.data compression/decompression                        : Ok
100: perf record sample filtering (by BPF) tests                     : Ok
101: perf record sideband tests                                      : Ok
102: record weak terms                                               : Skip
103: perf sched tests                                                : FAILED!
104: perf script tests                                               : Ok
105: perf script --dlfilter tests                                    : Ok
106: perf script perl tests                                          : Skip
107: perf script python tests                                        : Ok
108: perf stat CSV output linter                                     : Ok
109: perf stat csv summary test                                      : Ok
110: perf stat events uniquifying                                    : Ok
111: perf stat JSON output linter                                    : Ok
112: perf stat metrics (shadow stat) test                            : Ok
113: perf stat STD output linter                                     : FAILED!
114: perf stat tests                                                 : Ok
115: perf all metricgroups test                                      : Ok
116: perf all metrics test                                           : Ok
117: perf all libpfm4 events test                                    : Ok
118: perf stat --bpf-counters --for-each-cgroup test                 : Ok
119: perf metrics value validation                                   : Skip
120: Check Arm64 callgraphs are complete in fp mode                  : Skip
121: Check Arm SPE doesn't hang when there are forks                 : Skip
122: BPF metadata collection test                                    : Ok
123: Check branch stack sampling                                     : Skip
124: Perf event open fallback test                                   : Ok
125: Test java symbol                                                : Skip
126: 'perf data convert --to-ctf' command test                       : Ok
127: 'perf data convert --to-json' command test                      : Ok
128: test perf probe of function from different CU                   : FAILED!
129: perf timechart tests                                            : Ok
130: perf trace enum augmentation tests                              : Ok
131: perf trace BTF general tests                                    : FAILED!
132: perf trace exit race                                            : Ok
133: perf trace record and replay                                    : Ok
134: mmap interface tests                                            :
134.1: Read samples using the mmap interface                         : Ok
134.2: User space counter reading of instructions                    : Ok
134.3: User space counter reading of cycles                          : Ok
134.4: User space counter disabling instructions                     : Ok
134.5: User space counter disabling cycles                           : Ok
135: Number of exit events of a simple workload                      : Ok
136: Track with sched_switch                                         : Ok
137: AMD IBS sample period                                           : Skip
138: CoreSight / ASM Pure Loop                                       : Skip
139: CoreSight / Memcpy 16k 10 Threads                               : Skip
140: CoreSight / Thread Loop 10 Threads - Check TID                  : Skip
141: CoreSight / Thread Loop 2 Threads - Check TID                   : Skip
142: CoreSight / Unroll Loop Thread 10                               : Skip
143: perftool-testsuite_probe                                        : Ok
144: perftool-testsuite_report                                       : Ok
145: Add vfs_getname probe to get syscall args filenames             : Skip
146: probe libc's inet_pton & backtrace it with ping                 : FAILED!
147: Use vfs_getname probe to get syscall args filenames             : Skip
148: perf record tests                                               : Ok
149: perf record LBR tests                                           : Skip
150: perf record offcpu profiling tests                              : Ok
151: perf all PMU test                                               : Ok
152: perf stat --bpf-counters test                                   : Ok
153: Check Arm CoreSight trace data recording and synthesized samples: Skip
154: Check Arm CoreSight disassembly script completes without errors : Skip
155: Check Arm SPE trace data recording and synthesized samples      : Skip
156: Test data symbol                                                : Skip
157: Miscellaneous Intel PT testing                                  : Skip
158: test Intel TPEBS counting mode                                  : Skip
159: perf script task-analyzer tests                                 : Ok
160: perf top tests                                                  : Ok
161: Check open filename arg using perf trace + vfs_getname          : Skip
162: perf trace summary                                              : Ok
#1171 lore raw

final test .

$grep FAILED! perf_test1.txt

  5.1: Test event parsing                                            : FAILED!
 22: Object code reading                                             : FAILED!
 96: perf sched stats tests                                          : FAILED!
113: perf stat STD output linter                                     : FAILED!
116: perf all metrics test                                           : FAILED!
122: BPF metadata collection test                                    : FAILED!
144: perftool-testsuite_report                                       : FAILED!
148: perf record tests                                               : FAILED!
159: perf script task-analyzer tests                                 : FAILED!

/jeffrin