From: kernel test robot <lkp@intel.com>
To: Marc Zyngier <maz@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-arm-kernel@lists.infradead.org
Subject: [arm-platforms:kvm-arm64/nv-6.9-sr-enforcement 19/73] arch/arm64/kvm/emulate-nested.c:1935:31: error: implicit declaration of function 'sanitised_sys_reg'
Date: Mon, 22 Jan 2024 12:03:29 +0800 [thread overview]
Message-ID: <202401221145.KS0wWCNe-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/nv-6.9-sr-enforcement
head: fb04ec45e71f56be255f77ee293e821f6cf9d539
commit: 72649282ff3e4750e8683886d693e3c11f197bd4 [19/73] KVM: arm64: nv: Drop sanitised_sys_reg() helper
config: arm64-randconfig-001-20240121 (https://download.01.org/0day-ci/archive/20240122/202401221145.KS0wWCNe-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240122/202401221145.KS0wWCNe-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401221145.KS0wWCNe-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/arm64/kvm/emulate-nested.c: In function '__check_nv_sr_forward':
>> arch/arm64/kvm/emulate-nested.c:1935:31: error: implicit declaration of function 'sanitised_sys_reg' [-Werror=implicit-function-declaration]
1935 | val = sanitised_sys_reg(vcpu, HFGRTR_EL2);
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/sanitised_sys_reg +1935 arch/arm64/kvm/emulate-nested.c
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1899
e58ec47bf68d2b Marc Zyngier 2023-08-15 1900 bool __check_nv_sr_forward(struct kvm_vcpu *vcpu)
e58ec47bf68d2b Marc Zyngier 2023-08-15 1901 {
e58ec47bf68d2b Marc Zyngier 2023-08-15 1902 union trap_config tc;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1903 enum trap_behaviour b;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1904 bool is_read;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1905 u32 sysreg;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1906 u64 esr, val;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1907
e58ec47bf68d2b Marc Zyngier 2023-08-15 1908 if (!vcpu_has_nv(vcpu) || is_hyp_ctxt(vcpu))
e58ec47bf68d2b Marc Zyngier 2023-08-15 1909 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1910
e58ec47bf68d2b Marc Zyngier 2023-08-15 1911 esr = kvm_vcpu_get_esr(vcpu);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1912 sysreg = esr_sys64_to_sysreg(esr);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1913 is_read = (esr & ESR_ELx_SYS64_ISS_DIR_MASK) == ESR_ELx_SYS64_ISS_DIR_READ;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1914
e58ec47bf68d2b Marc Zyngier 2023-08-15 1915 tc = get_trap_config(sysreg);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1916
e58ec47bf68d2b Marc Zyngier 2023-08-15 1917 /*
e58ec47bf68d2b Marc Zyngier 2023-08-15 1918 * A value of 0 for the whole entry means that we know nothing
e58ec47bf68d2b Marc Zyngier 2023-08-15 1919 * for this sysreg, and that it cannot be re-injected into the
e58ec47bf68d2b Marc Zyngier 2023-08-15 1920 * nested hypervisor. In this situation, let's cut it short.
e58ec47bf68d2b Marc Zyngier 2023-08-15 1921 *
e58ec47bf68d2b Marc Zyngier 2023-08-15 1922 * Note that ultimately, we could also make use of the xarray
e58ec47bf68d2b Marc Zyngier 2023-08-15 1923 * to store the index of the sysreg in the local descriptor
e58ec47bf68d2b Marc Zyngier 2023-08-15 1924 * array, avoiding another search... Hint, hint...
e58ec47bf68d2b Marc Zyngier 2023-08-15 1925 */
e58ec47bf68d2b Marc Zyngier 2023-08-15 1926 if (!tc.val)
e58ec47bf68d2b Marc Zyngier 2023-08-15 1927 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1928
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1929 switch ((enum fgt_group_id)tc.fgt) {
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1930 case __NO_FGT_GROUP__:
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1931 break;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1932
5a24ea78698572 Marc Zyngier 2023-08-15 1933 case HFGxTR_GROUP:
5a24ea78698572 Marc Zyngier 2023-08-15 1934 if (is_read)
5a24ea78698572 Marc Zyngier 2023-08-15 @1935 val = sanitised_sys_reg(vcpu, HFGRTR_EL2);
5a24ea78698572 Marc Zyngier 2023-08-15 1936 else
72649282ff3e47 Marc Zyngier 2024-01-18 1937 val = __vcpu_sys_reg(vcpu, HFGWTR_EL2);
5a24ea78698572 Marc Zyngier 2023-08-15 1938 break;
5a24ea78698572 Marc Zyngier 2023-08-15 1939
d0be0b2ede1324 Marc Zyngier 2023-08-15 1940 case HDFGRTR_GROUP:
d0be0b2ede1324 Marc Zyngier 2023-08-15 1941 case HDFGWTR_GROUP:
d0be0b2ede1324 Marc Zyngier 2023-08-15 1942 if (is_read)
72649282ff3e47 Marc Zyngier 2024-01-18 1943 val = __vcpu_sys_reg(vcpu, HDFGRTR_EL2);
d0be0b2ede1324 Marc Zyngier 2023-08-15 1944 else
72649282ff3e47 Marc Zyngier 2024-01-18 1945 val = __vcpu_sys_reg(vcpu, HDFGWTR_EL2);
d0be0b2ede1324 Marc Zyngier 2023-08-15 1946 break;
d0be0b2ede1324 Marc Zyngier 2023-08-15 1947
676f482354886c Fuad Tabba 2023-12-14 1948 case HAFGRTR_GROUP:
72649282ff3e47 Marc Zyngier 2024-01-18 1949 val = __vcpu_sys_reg(vcpu, HAFGRTR_EL2);
676f482354886c Fuad Tabba 2023-12-14 1950 break;
676f482354886c Fuad Tabba 2023-12-14 1951
039f9f12de5fc7 Marc Zyngier 2023-08-15 1952 case HFGITR_GROUP:
72649282ff3e47 Marc Zyngier 2024-01-18 1953 val = __vcpu_sys_reg(vcpu, HFGITR_EL2);
03fb54d0aa73cc Marc Zyngier 2023-08-15 1954 switch (tc.fgf) {
03fb54d0aa73cc Marc Zyngier 2023-08-15 1955 u64 tmp;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1956
03fb54d0aa73cc Marc Zyngier 2023-08-15 1957 case __NO_FGF__:
03fb54d0aa73cc Marc Zyngier 2023-08-15 1958 break;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1959
03fb54d0aa73cc Marc Zyngier 2023-08-15 1960 case HCRX_FGTnXS:
72649282ff3e47 Marc Zyngier 2024-01-18 1961 tmp = __vcpu_sys_reg(vcpu, HCRX_EL2);
03fb54d0aa73cc Marc Zyngier 2023-08-15 1962 if (tmp & HCRX_EL2_FGTnXS)
03fb54d0aa73cc Marc Zyngier 2023-08-15 1963 tc.fgt = __NO_FGT_GROUP__;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1964 }
039f9f12de5fc7 Marc Zyngier 2023-08-15 1965 break;
039f9f12de5fc7 Marc Zyngier 2023-08-15 1966
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1967 case __NR_FGT_GROUP_IDS__:
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1968 /* Something is really wrong, bail out */
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1969 WARN_ONCE(1, "__NR_FGT_GROUP_IDS__");
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1970 return false;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1971 }
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1972
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1973 if (tc.fgt != __NO_FGT_GROUP__ && check_fgt_bit(val, tc))
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1974 goto inject;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1975
e58ec47bf68d2b Marc Zyngier 2023-08-15 1976 b = compute_trap_behaviour(vcpu, tc);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1977
e58ec47bf68d2b Marc Zyngier 2023-08-15 1978 if (((b & BEHAVE_FORWARD_READ) && is_read) ||
e58ec47bf68d2b Marc Zyngier 2023-08-15 1979 ((b & BEHAVE_FORWARD_WRITE) && !is_read))
e58ec47bf68d2b Marc Zyngier 2023-08-15 1980 goto inject;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1981
e58ec47bf68d2b Marc Zyngier 2023-08-15 1982 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1983
e58ec47bf68d2b Marc Zyngier 2023-08-15 1984 inject:
e58ec47bf68d2b Marc Zyngier 2023-08-15 1985 trace_kvm_forward_sysreg_trap(vcpu, sysreg, is_read);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1986
e58ec47bf68d2b Marc Zyngier 2023-08-15 1987 kvm_inject_nested_sync(vcpu, kvm_vcpu_get_esr(vcpu));
e58ec47bf68d2b Marc Zyngier 2023-08-15 1988 return true;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1989 }
e58ec47bf68d2b Marc Zyngier 2023-08-15 1990
:::::: The code at line 1935 was first introduced by commit
:::::: 5a24ea7869857251a83da1512209f76003bc09db KVM: arm64: nv: Add trap forwarding for HFGxTR_EL2
:::::: TO: Marc Zyngier <maz@kernel.org>
:::::: CC: Marc Zyngier <maz@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Marc Zyngier <maz@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-arm-kernel@lists.infradead.org
Subject: [arm-platforms:kvm-arm64/nv-6.9-sr-enforcement 19/73] arch/arm64/kvm/emulate-nested.c:1935:31: error: implicit declaration of function 'sanitised_sys_reg'
Date: Mon, 22 Jan 2024 12:03:29 +0800 [thread overview]
Message-ID: <202401221145.KS0wWCNe-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/nv-6.9-sr-enforcement
head: fb04ec45e71f56be255f77ee293e821f6cf9d539
commit: 72649282ff3e4750e8683886d693e3c11f197bd4 [19/73] KVM: arm64: nv: Drop sanitised_sys_reg() helper
config: arm64-randconfig-001-20240121 (https://download.01.org/0day-ci/archive/20240122/202401221145.KS0wWCNe-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240122/202401221145.KS0wWCNe-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401221145.KS0wWCNe-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/arm64/kvm/emulate-nested.c: In function '__check_nv_sr_forward':
>> arch/arm64/kvm/emulate-nested.c:1935:31: error: implicit declaration of function 'sanitised_sys_reg' [-Werror=implicit-function-declaration]
1935 | val = sanitised_sys_reg(vcpu, HFGRTR_EL2);
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/sanitised_sys_reg +1935 arch/arm64/kvm/emulate-nested.c
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1899
e58ec47bf68d2b Marc Zyngier 2023-08-15 1900 bool __check_nv_sr_forward(struct kvm_vcpu *vcpu)
e58ec47bf68d2b Marc Zyngier 2023-08-15 1901 {
e58ec47bf68d2b Marc Zyngier 2023-08-15 1902 union trap_config tc;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1903 enum trap_behaviour b;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1904 bool is_read;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1905 u32 sysreg;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1906 u64 esr, val;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1907
e58ec47bf68d2b Marc Zyngier 2023-08-15 1908 if (!vcpu_has_nv(vcpu) || is_hyp_ctxt(vcpu))
e58ec47bf68d2b Marc Zyngier 2023-08-15 1909 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1910
e58ec47bf68d2b Marc Zyngier 2023-08-15 1911 esr = kvm_vcpu_get_esr(vcpu);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1912 sysreg = esr_sys64_to_sysreg(esr);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1913 is_read = (esr & ESR_ELx_SYS64_ISS_DIR_MASK) == ESR_ELx_SYS64_ISS_DIR_READ;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1914
e58ec47bf68d2b Marc Zyngier 2023-08-15 1915 tc = get_trap_config(sysreg);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1916
e58ec47bf68d2b Marc Zyngier 2023-08-15 1917 /*
e58ec47bf68d2b Marc Zyngier 2023-08-15 1918 * A value of 0 for the whole entry means that we know nothing
e58ec47bf68d2b Marc Zyngier 2023-08-15 1919 * for this sysreg, and that it cannot be re-injected into the
e58ec47bf68d2b Marc Zyngier 2023-08-15 1920 * nested hypervisor. In this situation, let's cut it short.
e58ec47bf68d2b Marc Zyngier 2023-08-15 1921 *
e58ec47bf68d2b Marc Zyngier 2023-08-15 1922 * Note that ultimately, we could also make use of the xarray
e58ec47bf68d2b Marc Zyngier 2023-08-15 1923 * to store the index of the sysreg in the local descriptor
e58ec47bf68d2b Marc Zyngier 2023-08-15 1924 * array, avoiding another search... Hint, hint...
e58ec47bf68d2b Marc Zyngier 2023-08-15 1925 */
e58ec47bf68d2b Marc Zyngier 2023-08-15 1926 if (!tc.val)
e58ec47bf68d2b Marc Zyngier 2023-08-15 1927 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1928
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1929 switch ((enum fgt_group_id)tc.fgt) {
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1930 case __NO_FGT_GROUP__:
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1931 break;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1932
5a24ea78698572 Marc Zyngier 2023-08-15 1933 case HFGxTR_GROUP:
5a24ea78698572 Marc Zyngier 2023-08-15 1934 if (is_read)
5a24ea78698572 Marc Zyngier 2023-08-15 @1935 val = sanitised_sys_reg(vcpu, HFGRTR_EL2);
5a24ea78698572 Marc Zyngier 2023-08-15 1936 else
72649282ff3e47 Marc Zyngier 2024-01-18 1937 val = __vcpu_sys_reg(vcpu, HFGWTR_EL2);
5a24ea78698572 Marc Zyngier 2023-08-15 1938 break;
5a24ea78698572 Marc Zyngier 2023-08-15 1939
d0be0b2ede1324 Marc Zyngier 2023-08-15 1940 case HDFGRTR_GROUP:
d0be0b2ede1324 Marc Zyngier 2023-08-15 1941 case HDFGWTR_GROUP:
d0be0b2ede1324 Marc Zyngier 2023-08-15 1942 if (is_read)
72649282ff3e47 Marc Zyngier 2024-01-18 1943 val = __vcpu_sys_reg(vcpu, HDFGRTR_EL2);
d0be0b2ede1324 Marc Zyngier 2023-08-15 1944 else
72649282ff3e47 Marc Zyngier 2024-01-18 1945 val = __vcpu_sys_reg(vcpu, HDFGWTR_EL2);
d0be0b2ede1324 Marc Zyngier 2023-08-15 1946 break;
d0be0b2ede1324 Marc Zyngier 2023-08-15 1947
676f482354886c Fuad Tabba 2023-12-14 1948 case HAFGRTR_GROUP:
72649282ff3e47 Marc Zyngier 2024-01-18 1949 val = __vcpu_sys_reg(vcpu, HAFGRTR_EL2);
676f482354886c Fuad Tabba 2023-12-14 1950 break;
676f482354886c Fuad Tabba 2023-12-14 1951
039f9f12de5fc7 Marc Zyngier 2023-08-15 1952 case HFGITR_GROUP:
72649282ff3e47 Marc Zyngier 2024-01-18 1953 val = __vcpu_sys_reg(vcpu, HFGITR_EL2);
03fb54d0aa73cc Marc Zyngier 2023-08-15 1954 switch (tc.fgf) {
03fb54d0aa73cc Marc Zyngier 2023-08-15 1955 u64 tmp;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1956
03fb54d0aa73cc Marc Zyngier 2023-08-15 1957 case __NO_FGF__:
03fb54d0aa73cc Marc Zyngier 2023-08-15 1958 break;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1959
03fb54d0aa73cc Marc Zyngier 2023-08-15 1960 case HCRX_FGTnXS:
72649282ff3e47 Marc Zyngier 2024-01-18 1961 tmp = __vcpu_sys_reg(vcpu, HCRX_EL2);
03fb54d0aa73cc Marc Zyngier 2023-08-15 1962 if (tmp & HCRX_EL2_FGTnXS)
03fb54d0aa73cc Marc Zyngier 2023-08-15 1963 tc.fgt = __NO_FGT_GROUP__;
03fb54d0aa73cc Marc Zyngier 2023-08-15 1964 }
039f9f12de5fc7 Marc Zyngier 2023-08-15 1965 break;
039f9f12de5fc7 Marc Zyngier 2023-08-15 1966
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1967 case __NR_FGT_GROUP_IDS__:
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1968 /* Something is really wrong, bail out */
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1969 WARN_ONCE(1, "__NR_FGT_GROUP_IDS__");
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1970 return false;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1971 }
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1972
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1973 if (tc.fgt != __NO_FGT_GROUP__ && check_fgt_bit(val, tc))
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1974 goto inject;
15b4d82d69d7b0 Marc Zyngier 2023-08-15 1975
e58ec47bf68d2b Marc Zyngier 2023-08-15 1976 b = compute_trap_behaviour(vcpu, tc);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1977
e58ec47bf68d2b Marc Zyngier 2023-08-15 1978 if (((b & BEHAVE_FORWARD_READ) && is_read) ||
e58ec47bf68d2b Marc Zyngier 2023-08-15 1979 ((b & BEHAVE_FORWARD_WRITE) && !is_read))
e58ec47bf68d2b Marc Zyngier 2023-08-15 1980 goto inject;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1981
e58ec47bf68d2b Marc Zyngier 2023-08-15 1982 return false;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1983
e58ec47bf68d2b Marc Zyngier 2023-08-15 1984 inject:
e58ec47bf68d2b Marc Zyngier 2023-08-15 1985 trace_kvm_forward_sysreg_trap(vcpu, sysreg, is_read);
e58ec47bf68d2b Marc Zyngier 2023-08-15 1986
e58ec47bf68d2b Marc Zyngier 2023-08-15 1987 kvm_inject_nested_sync(vcpu, kvm_vcpu_get_esr(vcpu));
e58ec47bf68d2b Marc Zyngier 2023-08-15 1988 return true;
e58ec47bf68d2b Marc Zyngier 2023-08-15 1989 }
e58ec47bf68d2b Marc Zyngier 2023-08-15 1990
:::::: The code at line 1935 was first introduced by commit
:::::: 5a24ea7869857251a83da1512209f76003bc09db KVM: arm64: nv: Add trap forwarding for HFGxTR_EL2
:::::: TO: Marc Zyngier <maz@kernel.org>
:::::: CC: Marc Zyngier <maz@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2024-01-22 4:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 4:03 kernel test robot [this message]
2024-01-22 4:03 ` [arm-platforms:kvm-arm64/nv-6.9-sr-enforcement 19/73] arch/arm64/kvm/emulate-nested.c:1935:31: error: implicit declaration of function 'sanitised_sys_reg' kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202401221145.KS0wWCNe-lkp@intel.com \
--to=lkp@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=maz@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.