Le 23/02/2026 à 23:40, Kees Cook a écrit :
On Mon, Feb 23, 2026 at 08:38:29PM +0100, Christophe Leroy (CS GROUP) wrote:Le 23/02/2026 à 19:07, Christophe Leroy (CS GROUP) a écrit :+Kees Hello, Le 23/02/2026 à 17:48, Christian Zigotzky a écrit :Hello, Compiling issue for e5500 machines for the RC1 of kernel 7.0: arch/powerpc/kvm/e500_mmu.c: In function 'kvmppc_e500_tlb_init': arch/powerpc/kvm/e500_mmu.c:923:26: error: assignment to 'struct tlbe_priv *' from incompatible pointer type 'struct tlbe_ref *' [- Werror=incompatible-pointer-types] 923 | vcpu_e500->gtlb_priv[0] = kzalloc_objs(struct tlbe_ref, | ^ arch/powerpc/kvm/e500_mmu.c:928:26: error: assignment to 'struct tlbe_priv *' from incompatible pointer type 'struct tlbe_ref *' [- Werror=incompatible-pointer-types] 928 | vcpu_e500->gtlb_priv[1] = kzalloc_objs(struct tlbe_ref, Temporary solution: # CONFIG_VIRTUALIZATION is not set Please solve this issue.Must be one of: 189f164e573e Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses bf4afc53b77a Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 69050f8d6d07 treewide: Replace kmalloc with kmalloc_obj for non-scalar typesCan you try following change: diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c index 48580c85f23b..75ed1496ead5 100644 --- a/arch/powerpc/kvm/e500_mmu.c +++ b/arch/powerpc/kvm/e500_mmu.c @@ -920,12 +920,12 @@ int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500) vcpu_e500->gtlb_offset[0] = 0; vcpu_e500->gtlb_offset[1] = KVM_E500_TLB0_SIZE; - vcpu_e500->gtlb_priv[0] = kzalloc_objs(struct tlbe_ref, + vcpu_e500->gtlb_priv[0] = kzalloc_objs(struct tlbe_priv, vcpu_e500->gtlb_params[0].entries); if (!vcpu_e500->gtlb_priv[0]) goto free_vcpu; - vcpu_e500->gtlb_priv[1] = kzalloc_objs(struct tlbe_ref, + vcpu_e500->gtlb_priv[1] = kzalloc_objs(struct tlbe_priv, vcpu_e500->gtlb_params[1].entries); if (!vcpu_e500->gtlb_priv[1]) goto free_vcpu;That looks like the correct fix to me. The old type was the correct size, but was just the wrong type. Sorry I missed it when doing my tree-wide multi-arch builds! What build target (or Kconfig) was needed to reach this code?
I used ppc64e_defconfig + CONFIG_VIRTUALIZATION=y + CONFIG_KVM_E500MC=y
Fixes: 69050f8d6d07 ("treewide: Replace kmalloc with kmalloc_obj for non-scalar
types")
Reviewed-by: Kees Cook <[email protected]>
Thanks!
