Hi Vasily, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.18-rc3 next-20220422] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Vasily-Averin/net-set-proper-memcg-for-net_init-hooks-allocations/20220423-160759 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c00c5e1d157bec0ef0b0b59aa5482eb8dc7e8e49 config: riscv-randconfig-r042-20220422 (https://download.01.org/0day-ci/archive/20220423/202204231806.8O86U791-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 5bd87350a5ae429baf8f373cb226a57b62f87280) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://github.com/intel-lab-lkp/linux/commit/3b379e5391e36e13b9f36305aa6d233fb03d4e58 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Vasily-Averin/net-set-proper-memcg-for-net_init-hooks-allocations/20220423-160759 git checkout 3b379e5391e36e13b9f36305aa6d233fb03d4e58 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/gpu/drm/exynos/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/exynos/exynos_drm_dma.c:15: In file included from drivers/gpu/drm/exynos/exynos_drm_drv.h:16: In file included from include/drm/drm_crtc.h:28: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: include/linux/memcontrol.h:1773:21: error: call to undeclared function 'css_tryget'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] } while (memcg && !css_tryget(&memcg->css)); ^ include/linux/memcontrol.h:1773:38: error: incomplete definition of type 'struct mem_cgroup' } while (memcg && !css_tryget(&memcg->css)); ~~~~~^ include/linux/mm_types.h:31:8: note: forward declaration of 'struct mem_cgroup' struct mem_cgroup; ^ >> drivers/gpu/drm/exynos/exynos_drm_dma.c:55:35: warning: implicit conversion from 'unsigned long long' to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion] dma_set_max_seg_size(subdrv_dev, DMA_BIT_MASK(32)); ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:40: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ 1 warning and 2 errors generated. vim +55 drivers/gpu/drm/exynos/exynos_drm_dma.c 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 33 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 34 /* 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 35 * drm_iommu_attach_device- attach device to iommu mapping 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 36 * 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 37 * @drm_dev: DRM device 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 38 * @subdrv_dev: device to be attach 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 39 * 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 40 * This function should be called by sub drivers to attach it to iommu 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 41 * mapping. 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 42 */ 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 43 static int drm_iommu_attach_device(struct drm_device *drm_dev, 07dc3678bacc2a Marek Szyprowski 2020-03-09 44 struct device *subdrv_dev, void **dma_priv) 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 45 { 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 46 struct exynos_drm_private *priv = drm_dev->dev_private; b9c633882de460 Marek Szyprowski 2020-06-01 47 int ret = 0; 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 48 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 49 if (get_dma_ops(priv->dma_dev) != get_dma_ops(subdrv_dev)) { 6f83d20838c099 Inki Dae 2019-04-15 50 DRM_DEV_ERROR(subdrv_dev, "Device %s lacks support for IOMMU\n", 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 51 dev_name(subdrv_dev)); 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 52 return -EINVAL; 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 53 } 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 54 ddfd4ab6bb0883 Marek Szyprowski 2020-07-07 @55 dma_set_max_seg_size(subdrv_dev, DMA_BIT_MASK(32)); 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 56 if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)) { 07dc3678bacc2a Marek Szyprowski 2020-03-09 57 /* 07dc3678bacc2a Marek Szyprowski 2020-03-09 58 * Keep the original DMA mapping of the sub-device and 07dc3678bacc2a Marek Szyprowski 2020-03-09 59 * restore it on Exynos DRM detach, otherwise the DMA 07dc3678bacc2a Marek Szyprowski 2020-03-09 60 * framework considers it as IOMMU-less during the next 07dc3678bacc2a Marek Szyprowski 2020-03-09 61 * probe (in case of deferred probe or modular build) 07dc3678bacc2a Marek Szyprowski 2020-03-09 62 */ 07dc3678bacc2a Marek Szyprowski 2020-03-09 63 *dma_priv = to_dma_iommu_mapping(subdrv_dev); 07dc3678bacc2a Marek Szyprowski 2020-03-09 64 if (*dma_priv) 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 65 arm_iommu_detach_device(subdrv_dev); 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 66 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 67 ret = arm_iommu_attach_device(subdrv_dev, priv->mapping); 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 68 } else if (IS_ENABLED(CONFIG_IOMMU_DMA)) { 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 69 ret = iommu_attach_device(priv->mapping, subdrv_dev); 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 70 } 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 71 b9c633882de460 Marek Szyprowski 2020-06-01 72 return ret; 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 73 } 67fbf3a3ef8443 Andrzej Hajda 2018-10-12 74 -- 0-DAY CI Kernel Test Service https://01.org/lkp