Hi Kuppuswamy, First bad commit (maybe != root cause): tree: https://github.com/intel/tdx.git guest-next head: 60b08672ca4047dd254b4ecb3b1b15b9512eccf8 commit: 52769a12a760e0766d2c72bd6e8b2d4c79423367 [11/12] Revert "driver core: Move the "authorized" attribute from USB/Thunderbolt to core" config: i386-tinyconfig compiler: gcc-11 (Debian 11.3.0-5) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel/tdx/commit/52769a12a760e0766d2c72bd6e8b2d4c79423367 git remote add intel-tdx https://github.com/intel/tdx.git git fetch --no-tags intel-tdx guest-next git checkout 52769a12a760e0766d2c72bd6e8b2d4c79423367 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/base/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot Note: the intel-tdx/guest-next HEAD 60b08672ca4047dd254b4ecb3b1b15b9512eccf8 builds fine. It only hurts bisectability. All errors (new ones prefixed by >>): drivers/base/core.c: In function 'device_initialize': >> drivers/base/core.c:3005:12: error: 'struct device' has no member named 'authorized' 3005 | dev->authorized = dev_default_authorization; | ^~ drivers/base/core.c: In function 'arch_dev_authorized': drivers/base/core.c:3011:19: error: 'struct device' has no member named 'authorized' 3011 | return dev->authorized; | ^~ drivers/base/core.c:3012:1: error: control reaches end of non-void function [-Werror=return-type] 3012 | } | ^ cc1: some warnings being treated as errors -- drivers/base/dd.c: In function 'really_probe': >> drivers/base/dd.c:560:17: error: 'struct device' has no member named 'authorized' 560 | if (!dev->authorized && !dev->bus->has_probe_authorization) { | ^~ vim +3005 drivers/base/core.c 34bb61f9ddabd7 James Bottomley 2005-09-06 2961 ^1da177e4c3f41 Linus Torvalds 2005-04-16 2962 /** ^1da177e4c3f41 Linus Torvalds 2005-04-16 2963 * device_initialize - init device structure. ^1da177e4c3f41 Linus Torvalds 2005-04-16 2964 * @dev: device. ^1da177e4c3f41 Linus Torvalds 2005-04-16 2965 * 5739411acbaa63 Cornelia Huck 2008-09-03 2966 * This prepares the device for use by other layers by initializing 5739411acbaa63 Cornelia Huck 2008-09-03 2967 * its fields. ^1da177e4c3f41 Linus Torvalds 2005-04-16 2968 * It is the first half of device_register(), if called by 5739411acbaa63 Cornelia Huck 2008-09-03 2969 * that function, though it can also be called separately, so one 5739411acbaa63 Cornelia Huck 2008-09-03 2970 * may use @dev's fields. In particular, get_device()/put_device() 5739411acbaa63 Cornelia Huck 2008-09-03 2971 * may be used for reference counting of @dev after calling this 5739411acbaa63 Cornelia Huck 2008-09-03 2972 * function. 5739411acbaa63 Cornelia Huck 2008-09-03 2973 * b10d5efdf7892d Alan Stern 2012-01-17 2974 * All fields in @dev must be initialized by the caller to 0, except b10d5efdf7892d Alan Stern 2012-01-17 2975 * for those explicitly set to some other value. The simplest b10d5efdf7892d Alan Stern 2012-01-17 2976 * approach is to use kzalloc() to allocate the structure containing b10d5efdf7892d Alan Stern 2012-01-17 2977 * @dev. b10d5efdf7892d Alan Stern 2012-01-17 2978 * 5739411acbaa63 Cornelia Huck 2008-09-03 2979 * NOTE: Use put_device() to give up your reference instead of freeing 5739411acbaa63 Cornelia Huck 2008-09-03 2980 * @dev directly once you have called this function. ^1da177e4c3f41 Linus Torvalds 2005-04-16 2981 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 2982 void device_initialize(struct device *dev) ^1da177e4c3f41 Linus Torvalds 2005-04-16 2983 { 881c6cfd7c5edf Greg Kroah-Hartman 2007-11-01 2984 dev->kobj.kset = devices_kset; f9cb074bff8e76 Greg Kroah-Hartman 2007-12-17 2985 kobject_init(&dev->kobj, &device_ktype); ^1da177e4c3f41 Linus Torvalds 2005-04-16 2986 INIT_LIST_HEAD(&dev->dma_pools); 3142788b7967cc Thomas Gleixner 2010-01-29 2987 mutex_init(&dev->mutex); 1704f47b50b5d9 Peter Zijlstra 2010-03-19 2988 lockdep_set_novalidate_class(&dev->mutex); 9ac7849e35f705 Tejun Heo 2007-01-20 2989 spin_lock_init(&dev->devres_lock); 9ac7849e35f705 Tejun Heo 2007-01-20 2990 INIT_LIST_HEAD(&dev->devres_head); 3b98aeaf3a75f5 Alan Stern 2008-08-07 2991 device_pm_init(dev); d460d7f7bb4323 Max Gurtovoy 2021-10-04 2992 set_dev_node(dev, NUMA_NO_NODE); 9ed9895370aedd Rafael J. Wysocki 2016-10-30 2993 INIT_LIST_HEAD(&dev->links.consumers); 9ed9895370aedd Rafael J. Wysocki 2016-10-30 2994 INIT_LIST_HEAD(&dev->links.suppliers); 3b052a3e30f2eb Saravana Kannan 2020-11-20 2995 INIT_LIST_HEAD(&dev->links.defer_sync); 9ed9895370aedd Rafael J. Wysocki 2016-10-30 2996 dev->links.status = DL_DEV_NO_DRIVER; 6d4e9a8efe3d59 Christoph Hellwig 2021-02-10 2997 #if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \ 6d4e9a8efe3d59 Christoph Hellwig 2021-02-10 2998 defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \ 6d4e9a8efe3d59 Christoph Hellwig 2021-02-10 2999 defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) 6d4e9a8efe3d59 Christoph Hellwig 2021-02-10 3000 dev->dma_coherent = dma_default_coherent; 6d4e9a8efe3d59 Christoph Hellwig 2021-02-10 3001 #endif 69031f500865ee Claire Chang 2021-06-19 3002 #ifdef CONFIG_SWIOTLB 463e862ac63ef2 Will Deacon 2021-07-20 3003 dev->dma_io_tlb_mem = &io_tlb_default_mem; 69031f500865ee Claire Chang 2021-06-19 3004 #endif 068484d650931a Kuppuswamy Sathyanarayanan 2021-08-21 @3005 dev->authorized = dev_default_authorization; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3006 } 86df268705696c David Graham White 2013-07-21 3007 EXPORT_SYMBOL_GPL(device_initialize); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3008 :::::: The code at line 3005 was first introduced by commit :::::: 068484d650931a063d86ff76b69801b40e692b19 driver core: Allow arch to initialize the authorized attribute :::::: TO: Kuppuswamy Sathyanarayanan :::::: CC: Kuppuswamy Sathyanarayanan -- 0-DAY CI Kernel Test Service https://01.org/lkp