On Mon, Jun 08, 2026 at 04:34:57AM -0400, Michael S. Tsirkin wrote: > Remove the !CONFIG_HUGETLB_PAGE stub for alloc_hugetlb_folio(). > > The stub is dead code: all callers are in mm/hugetlb.c > (CONFIG_HUGETLB_PAGE) or fs/hugetlbfs/inode.c (CONFIG_HUGETLBFS),
obj-$(CONFIG_HUGETLBFS) += hugetlb.o hugetlb_sysfs.o hugetlb_sysctl.o mm/hugetlb.c seems dependent on CONFIG_HUGETLBFS not CONFIG_HUGETLB_PAGE? > and CONFIG_HUGETLB_PAGE is def_bool HUGETLBFS with nothing > selecting it independently. > > The stub is also broken: it returns NULL, but all callers check > IS_ERR(folio), so a NULL return would not be caught and would > crash on the subsequent folio dereference. > > Remove it now since follow-up patches change the signature of > alloc_hugetlb_folio and would otherwise need to update the > broken stub too. > > Reviewed-by: Gregory Price <[email protected]> > Assisted-by: Claude:claude-opus-4-6 > Reviewed-by: Dev Jain <[email protected]> > Signed-off-by: Michael S. Tsirkin <[email protected]> The logic seems good but you should fix up the commit message. With that fixed: Reviewed-by: Lorenzo Stoakes <[email protected]> Thanks, Lorenzo > --- > include/linux/hugetlb.h | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 5957bc25efa8..1f7ae6609e51 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -1123,13 +1123,6 @@ static inline void wait_for_freed_hugetlb_folios(void) > { > } > > -static inline struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, > - unsigned long addr, > - bool cow_from_owner) > -{ > - return NULL; > -} > - > static inline struct folio * > alloc_hugetlb_folio_reserve(struct hstate *h, int preferred_nid, > nodemask_t *nmask, gfp_t gfp_mask) > -- > MST >

