From nobody Sat Jul 25 00:56:37 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28C2248C8C4 for ; Tue, 21 Jul 2026 10:40:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784630453; cv=none; b=NnVQ7Lxi7X2K3vSkUPXEonXhNyWCoqN7u8tazb/bpUuN/dKFnbEoSmY77eeATAEgBli41m4PAiL387Br8c4qVZt+6J9KHeRonlHx3i2rMXmFvLA7zZs2pfEkdyHN8HqwFLt7723WzQfXLDlUdZ2RMD0E/Hn5TfCEIxVkhTYmTU0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784630453; c=relaxed/simple; bh=9+cOqnjB76IXuRGIWlsV+Og0NUr9XDO7RwAbDiINB/M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=l16GDt8NM37+HujfBD3+iazJlwfvL7/Mnnpg2AZ4/4JrQDTYaj3nxcdBoNWJqIefnq5FvFbki0hGU85bMpZtk9lyrLjYkA1kgfWRQX7IzrlKik86LERgY4teuBL5rxPlgk3IGP6Ap0jpYQnZN7UsoI/krjMRNRLuU/5ZGRjKj5M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=BRaoLek1; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="BRaoLek1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784630451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lMBB8NPzJutyAd91w3CTHR/uxMV10C3bA9Lmy4Lky7c=; b=BRaoLek18xzgT4VJOeSrbsYpT7wrPLCvf/lF0IkApgCg9Acxgz8KSH8Z2xoeyhtxst6pQ7 2OZ9w+O8w8bzvfimFJfmfISgQR2wIMOGvaAwuXX2C5NJ6KgcL4HpJ6fGeHBS09rYaITndQ efWrSSlRqMZud7IS5XbvI6Erj6KhR3Y= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-282-JSa_CxNsNau24kR86n4Jdw-1; Tue, 21 Jul 2026 06:40:47 -0400 X-MC-Unique: JSa_CxNsNau24kR86n4Jdw-1 X-Mimecast-MFC-AGG-ID: JSa_CxNsNau24kR86n4Jdw_1784630446 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B04F91935334; Tue, 21 Jul 2026 10:40:45 +0000 (UTC) Received: from t14ultra.redhat.com (unknown [10.44.32.110]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 739921597; Tue, 21 Jul 2026 10:40:42 +0000 (UTC) From: Jan Stancek To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, matthew.brost@intel.com, jstancek@redhat.com Subject: [PATCH] drm/pagemap: Guard HPAGE_PMD_ORDER use with CONFIG_ARCH_ENABLE_THP_MIGRATION Date: Tue, 21 Jul 2026 12:40:38 +0200 Message-ID: <84a35e16f72330d6e7b2d6e969040f36959e2dad.1784630290.git.jstancek@redhat.com> In-Reply-To: <202607201914.LpAGsbXs-lkp@intel.com> References: <202607201914.LpAGsbXs-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 Content-Type: text/plain; charset="utf-8" HPAGE_PMD_SHIFT expands to BUILD_BUG() when CONFIG_PGTABLE_HAS_HUGE_LEAVES is not set, causing a compile error when both CONFIG_TRANSPARENT_HUGEPAGE and CONFIG_HUGETLB_PAGE are disabled: drivers/gpu/drm/drm_pagemap.c:480:12: error: call to '__compiletime_assert= _458' declared with 'error' attribute: BUILD_BUG failed 480 | order =3D HPAGE_PMD_ORDER; | ^ include/linux/huge_mm.h:117:26: note: expanded from macro 'HPAGE_PMD_ORDER' 117 | #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) | ^ include/linux/huge_mm.h:113:28: note: expanded from macro 'HPAGE_PMD_SHIFT' 113 | #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; }) Guard the two HPAGE_PMD_ORDER uses with CONFIG_ARCH_ENABLE_THP_MIGRATION, matching the pattern used in migrate_device.c. Fixes: 139ab31aea8a ("drm/pagemap: Correct cpages calculation for migrate_v= ma_setup") Reported-by: kernel test robot Closes: https://lore.kernel.org/r/202607201914.LpAGsbXs-lkp@intel.com/ Signed-off-by: Jan Stancek Tested-by: Jan Stancek --- drivers/gpu/drm/drm_pagemap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c index 15c78eca180b..53a78752c8be 100644 --- a/drivers/gpu/drm/drm_pagemap.c +++ b/drivers/gpu/drm/drm_pagemap.c @@ -578,10 +578,13 @@ static int drm_pagemap_cpages(unsigned long *migrate_= pfn, unsigned long npages) folio =3D page_folio(page); order =3D folio_order(folio); cpages +=3D NR_PAGES(order); - } else if (migrate_pfn[i] & MIGRATE_PFN_COMPOUND) { + } +#ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION + else if (migrate_pfn[i] & MIGRATE_PFN_COMPOUND) { order =3D HPAGE_PMD_ORDER; cpages +=3D NR_PAGES(order); } +#endif =20 i +=3D NR_PAGES(order); } @@ -733,7 +736,6 @@ int drm_pagemap_migrate_to_devmem(struct drm_pagemap_de= vmem *devmem_allocation, own_pages =3D 0; =20 for (i =3D 0; i < npages;) { - unsigned long j; struct page *page =3D pfn_to_page(migrate.dst[i]); struct page *src_page =3D migrate_pfn_to_page(migrate.src[i]); unsigned int order =3D 0; @@ -763,7 +765,10 @@ int drm_pagemap_migrate_to_devmem(struct drm_pagemap_d= evmem *devmem_allocation, } migrate.dst[i] =3D migrate_pfn(migrate.dst[i]); =20 +#ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION if (migrate.src[i] & MIGRATE_PFN_COMPOUND) { + unsigned long j; + drm_WARN_ONCE(dpagemap->drm, src_page && folio_order(page_folio(src_page)) !=3D HPAGE_PMD_ORDER, "Unexpected folio order\n"); @@ -774,6 +779,7 @@ int drm_pagemap_migrate_to_devmem(struct drm_pagemap_de= vmem *devmem_allocation, for (j =3D 1; j < NR_PAGES(order) && i + j < npages; j++) migrate.dst[i + j] =3D 0; } +#endif =20 drm_pagemap_get_devmem_page(page, order, zdd); =20 --=20 2.52.0