* [kvm-x86:exports 60/60] arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant
@ 2025-09-24 12:15 kernel test robot
2025-09-24 14:15 ` Sean Christopherson
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-09-24 12:15 UTC (permalink / raw)
To: Sean Christopherson; +Cc: oe-kbuild-all
Hi Sean,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://github.com/kvm-x86/linux exports
head: ca1831d6ffa3a240830014a0c96633aed6d07367
commit: ca1831d6ffa3a240830014a0c96633aed6d07367 [60/60] KVM: x86: Export KVM-internal symbols for sub-modules only
config: i386-buildonly-randconfig-001-20250924 (https://download.01.org/0day-ci/archive/20250924/202509242018.H6effaVS-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250924/202509242018.H6effaVS-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/202509242018.H6effaVS-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/x86/include/asm/bug.h:5,
from include/linux/bug.h:5,
from include/linux/alloc_tag.h:8,
from include/linux/percpu.h:5,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/x86/kvm/kvm_onhyperv.c:7:
>> arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant
104 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs_range);
| ^
include/linux/stringify.h:9:34: note: in definition of macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
include/linux/kvm_types.h:13:43: note: in expansion of macro '__stringify'
13 | EXPORT_SYMBOL_FOR_MODULES(symbol, __stringify(KVM_SUB_MODULES))
| ^~~~~~~~~~~
arch/x86/kvm/kvm_onhyperv.c:104:1: note: in expansion of macro 'EXPORT_SYMBOL_FOR_KVM_INTERNAL'
104 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs_range);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/kvm_onhyperv.c:110:52: error: expected ')' before string constant
110 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs);
| ^
include/linux/stringify.h:9:34: note: in definition of macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
include/linux/kvm_types.h:13:43: note: in expansion of macro '__stringify'
13 | EXPORT_SYMBOL_FOR_MODULES(symbol, __stringify(KVM_SUB_MODULES))
| ^~~~~~~~~~~
arch/x86/kvm/kvm_onhyperv.c:110:1: note: in expansion of macro 'EXPORT_SYMBOL_FOR_KVM_INTERNAL'
110 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/kvm_onhyperv.c:124:49: error: expected ')' before string constant
124 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_track_root_tdp);
| ^
include/linux/stringify.h:9:34: note: in definition of macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
include/linux/kvm_types.h:13:43: note: in expansion of macro '__stringify'
13 | EXPORT_SYMBOL_FOR_MODULES(symbol, __stringify(KVM_SUB_MODULES))
| ^~~~~~~~~~~
arch/x86/kvm/kvm_onhyperv.c:124:1: note: in expansion of macro 'EXPORT_SYMBOL_FOR_KVM_INTERNAL'
124 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_track_root_tdp);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +104 arch/x86/kvm/kvm_onhyperv.c
6
> 7 #include <linux/kvm_host.h>
8 #include <asm/mshyperv.h>
9
10 #include "hyperv.h"
11 #include "kvm_onhyperv.h"
12
13 struct kvm_hv_tlb_range {
14 u64 start_gfn;
15 u64 pages;
16 };
17
18 static int kvm_fill_hv_flush_list_func(struct hv_guest_mapping_flush_list *flush,
19 void *data)
20 {
21 struct kvm_hv_tlb_range *range = data;
22
23 return hyperv_fill_flush_guest_mapping_list(flush, range->start_gfn,
24 range->pages);
25 }
26
27 static inline int hv_remote_flush_root_tdp(hpa_t root_tdp,
28 struct kvm_hv_tlb_range *range)
29 {
30 if (range)
31 return hyperv_flush_guest_mapping_range(root_tdp,
32 kvm_fill_hv_flush_list_func, (void *)range);
33 else
34 return hyperv_flush_guest_mapping(root_tdp);
35 }
36
37 static int __hv_flush_remote_tlbs_range(struct kvm *kvm,
38 struct kvm_hv_tlb_range *range)
39 {
40 struct kvm_arch *kvm_arch = &kvm->arch;
41 struct kvm_vcpu *vcpu;
42 int ret = 0, nr_unique_valid_roots;
43 unsigned long i;
44 hpa_t root;
45
46 spin_lock(&kvm_arch->hv_root_tdp_lock);
47
48 if (!VALID_PAGE(kvm_arch->hv_root_tdp)) {
49 nr_unique_valid_roots = 0;
50
51 /*
52 * Flush all valid roots, and see if all vCPUs have converged
53 * on a common root, in which case future flushes can skip the
54 * loop and flush the common root.
55 */
56 kvm_for_each_vcpu(i, vcpu, kvm) {
57 root = vcpu->arch.hv_root_tdp;
58 if (!VALID_PAGE(root) || root == kvm_arch->hv_root_tdp)
59 continue;
60
61 /*
62 * Set the tracked root to the first valid root. Keep
63 * this root for the entirety of the loop even if more
64 * roots are encountered as a low effort optimization
65 * to avoid flushing the same (first) root again.
66 */
67 if (++nr_unique_valid_roots == 1)
68 kvm_arch->hv_root_tdp = root;
69
70 if (!ret)
71 ret = hv_remote_flush_root_tdp(root, range);
72
73 /*
74 * Stop processing roots if a failure occurred and
75 * multiple valid roots have already been detected.
76 */
77 if (ret && nr_unique_valid_roots > 1)
78 break;
79 }
80
81 /*
82 * The optimized flush of a single root can't be used if there
83 * are multiple valid roots (obviously).
84 */
85 if (nr_unique_valid_roots > 1)
86 kvm_arch->hv_root_tdp = INVALID_PAGE;
87 } else {
88 ret = hv_remote_flush_root_tdp(kvm_arch->hv_root_tdp, range);
89 }
90
91 spin_unlock(&kvm_arch->hv_root_tdp_lock);
92 return ret;
93 }
94
95 int hv_flush_remote_tlbs_range(struct kvm *kvm, gfn_t start_gfn, gfn_t nr_pages)
96 {
97 struct kvm_hv_tlb_range range = {
98 .start_gfn = start_gfn,
99 .pages = nr_pages,
100 };
101
102 return __hv_flush_remote_tlbs_range(kvm, &range);
103 }
> 104 EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs_range);
105
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [kvm-x86:exports 60/60] arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant
2025-09-24 12:15 [kvm-x86:exports 60/60] arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant kernel test robot
@ 2025-09-24 14:15 ` Sean Christopherson
0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2025-09-24 14:15 UTC (permalink / raw)
To: kernel test robot; +Cc: oe-kbuild-all
On Wed, Sep 24, 2025, kernel test robot wrote:
> Hi Sean,
>
> FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
>
> tree: https://github.com/kvm-x86/linux exports
...
> head: ca1831d6ffa3a240830014a0c96633aed6d07367
> commit: ca1831d6ffa3a240830014a0c96633aed6d07367 [60/60] KVM: x86: Export KVM-internal symbols for sub-modules only
> All errors (new ones prefixed by >>):
>
> In file included from arch/x86/include/asm/bug.h:5,
> from include/linux/bug.h:5,
> from include/linux/alloc_tag.h:8,
> from include/linux/percpu.h:5,
> from include/linux/context_tracking_state.h:5,
> from include/linux/hardirq.h:5,
> from include/linux/kvm_host.h:7,
> from arch/x86/kvm/kvm_onhyperv.c:7:
> >> arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant
> 104 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(hv_flush_remote_tlbs_range);
*sigh*
I based "exports" on "misc" to avoid a few annoying conflicts, but the patches
were posted against effectively kvm/next+kvm-x86/misc. Unfortunately, "misc" is
based on 6.17-rc2, which doesn't have commit 6d3c3ca4c77e ("module: Rename
EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES"), and so building
kvm-x86/exports in isolation fails because EXPORT_SYMBOL_FOR_MODULES doesn't
exist.
kvm-x86/next and linux-next build just fine, because they incorporate v6.17-rc3
and thus commit 6d3c3ca4c77e.
I inserted a backmerge of 6.17-rc3 into kvm-x86/exports, rebased the commits on
top, and force pushed. The late rebase is undesirable (understatement), but in
practice the code that's being tested by myself and pretty much everyone else
except the 0-day build bot isn't changing.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-09-24 14:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-24 12:15 [kvm-x86:exports 60/60] arch/x86/kvm/kvm_onhyperv.c:104:58: error: expected ')' before string constant kernel test robot
2025-09-24 14:15 ` Sean Christopherson
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.