[linux-next:master 5365/5460] ld.lld: error: section __ksymtab_unused at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
by kbuild test robot
TO: Stephen Rothwell <sfr(a)canb.auug.org.au>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 861978d1331b7e988e0295a2275c669c767fa3f1
commit: 8b6d9d473d6a17207a54bb45f90e9ad897e28138 [5365/5460] Merge branch 'akpm-current/current'
config: mips-malta_kvm_defconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f30416fdde922eaa655934e050026930fefbd260)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git checkout 8b6d9d473d6a17207a54bb45f90e9ad897e28138
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld.lld: error: section .text at 0xFFFFFFFF80100000 of size 0x7BA0C8 exceeds available address space
ld.lld: error: section __ex_table at 0xFFFFFFFF808BA0D0 of size 0x1D20 exceeds available address space
ld.lld: error: section __dbe_table at 0xFFFFFFFF808BBDF0 of size 0x0 exceeds available address space
ld.lld: error: section .rodata at 0xFFFFFFFF808BC000 of size 0xAC2C6 exceeds available address space
ld.lld: error: section .data..page_aligned at 0xFFFFFFFF8096C000 of size 0x8000 exceeds available address space
ld.lld: error: section .got at 0xFFFFFFFF80974000 of size 0x8 exceeds available address space
ld.lld: error: section .rodata1 at 0xFFFFFFFF80974008 of size 0x0 exceeds available address space
ld.lld: error: section .pci_fixup at 0xFFFFFFFF80974008 of size 0x1FF0 exceeds available address space
ld.lld: error: section .builtin_fw at 0xFFFFFFFF80975FF8 of size 0x0 exceeds available address space
>> ld.lld: error: section __ksymtab at 0xFFFFFFFF80975FF8 of size 0xBF64 exceeds available address space
>> ld.lld: error: section __ksymtab_gpl at 0xFFFFFFFF80981F5C of size 0x98A0 exceeds available address space
>> ld.lld: error: section __ksymtab_unused at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
>> ld.lld: error: section __ksymtab_unused_gpl at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
>> ld.lld: error: section __ksymtab_gpl_future at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
>> ld.lld: error: section __kcrctab at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
>> ld.lld: error: section __kcrctab_gpl at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_unused at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_unused_gpl at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_gpl_future at 0xFFFFFFFF8098B7FC of size 0x0 exceeds available address space
>> ld.lld: error: section __ksymtab_strings at 0xFFFFFFFF8098B7FC of size 0x2188C exceeds available address space
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[hnaz-linux-mm:master 80/408] include/linux/memcontrol.h:855:20: error: invalid storage class for function 'mem_cgroup_calculate_protection'
by kbuild test robot
tree: https://github.com/hnaz/linux-mm master
head: 52eaf754e07cae946b8010a40ed2ac26128e1967
commit: e3ee1a4e054fd2bb4e8d5a6e1c5db700b488acd5 [80/408] mm, memcg: decouple e{low,min} state mutations from protection checks
config: powerpc-linkstation_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout e3ee1a4e054fd2bb4e8d5a6e1c5db700b488acd5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
WARNING: unmet direct dependencies detected for PPC_INDIRECT_PCI
Depends on PCI
Selected by
- MPC10X_BRIDGE
In file included from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/powerpc/kernel/asm-offsets.c:23:
include/linux/memcontrol.h: In function 'mem_cgroup_protection':
>> include/linux/memcontrol.h:855:20: error: invalid storage class for function 'mem_cgroup_calculate_protection'
855 | static inline void mem_cgroup_calculate_protection(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:860:20: error: invalid storage class for function 'mem_cgroup_protection'
860 | static inline void mem_cgroup_protection(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h: In function 'mem_cgroup_protection':
>> include/linux/memcontrol.h:863:9: warning: 'return' with a value, in function returning void
863 | return 0;
| ^
include/linux/memcontrol.h:860:20: note: declared here
860 | static inline void mem_cgroup_protection(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h: In function 'mem_cgroup_protection':
>> include/linux/memcontrol.h:860:1: warning: ISO C90 forbids mixed declarations and code
860 | static inline void mem_cgroup_protection(struct mem_cgroup
| ^~~~~~
>> include/linux/memcontrol.h:866:20: error: invalid storage class for function 'mem_cgroup_below_low'
866 | static inline bool mem_cgroup_below_low(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:871:20: error: invalid storage class for function 'mem_cgroup_below_min'
871 | static inline bool mem_cgroup_below_min(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:876:19: error: invalid storage class for function 'mem_cgroup_try_charge'
876 | static inline int mem_cgroup_try_charge(struct page struct mm_struct
| ^~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:885:19: error: invalid storage class for function 'mem_cgroup_try_charge_delay'
885 | static inline int mem_cgroup_try_charge_delay(struct page
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:895:20: error: invalid storage class for function 'mem_cgroup_commit_charge'
895 | static inline void mem_cgroup_commit_charge(struct page
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:901:20: error: invalid storage class for function 'mem_cgroup_cancel_charge'
901 | static inline void mem_cgroup_cancel_charge(struct page
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:907:20: error: invalid storage class for function 'mem_cgroup_uncharge'
907 | static inline void mem_cgroup_uncharge(struct page
| ^~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:911:20: error: invalid storage class for function 'mem_cgroup_uncharge_list'
911 | static inline void mem_cgroup_uncharge_list(struct list_head
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:915:20: error: invalid storage class for function 'mem_cgroup_migrate'
915 | static inline void mem_cgroup_migrate(struct page struct page
| ^~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:919:30: error: invalid storage class for function 'mem_cgroup_lruvec'
919 | static inline struct lruvec mem_cgroup
| ^~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:925:30: error: invalid storage class for function 'mem_cgroup_page_lruvec'
925 | static inline struct lruvec page
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:931:34: error: invalid storage class for function 'parent_mem_cgroup'
931 | static inline struct mem_cgroup mem_cgroup
| ^~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:936:20: error: invalid storage class for function 'mm_match_cgroup'
936 | static inline bool mm_match_cgroup(struct mm_struct
| ^~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:942:34: error: invalid storage class for function 'get_mem_cgroup_from_mm'
942 | static inline struct mem_cgroup mm_struct
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:947:34: error: invalid storage class for function 'get_mem_cgroup_from_page'
947 | static inline struct mem_cgroup page
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/memcontrol.h:952:20: error: invalid storage class for function 'mem_cgroup_put'
952 | static inline void mem_cgroup_put(struct mem_cgroup
| ^~~~~~~~~~~~~~
include/linux/memcontrol.h:957:1: error: invalid storage class for function 'mem_cgroup_iter'
957 | mem_cgroup_iter(struct mem_cgroup
| ^~~~~~~~~~~~~~~
include/linux/memcontrol.h:964:20: error: invalid storage class for function 'mem_cgroup_iter_break'
964 | static inline void mem_cgroup_iter_break(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:969:19: error: invalid storage class for function 'mem_cgroup_scan_tasks'
969 | static inline int mem_cgroup_scan_tasks(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:975:30: error: invalid storage class for function 'mem_cgroup_id'
975 | static inline unsigned short mem_cgroup_id(struct mem_cgroup
| ^~~~~~~~~~~~~
include/linux/memcontrol.h:980:34: error: invalid storage class for function 'mem_cgroup_from_id'
980 | static inline struct mem_cgroup short id)
| ^~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:987:34: error: invalid storage class for function 'mem_cgroup_from_seq'
987 | static inline struct mem_cgroup seq_file
| ^~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:992:34: error: invalid storage class for function 'lruvec_memcg'
992 | static inline struct mem_cgroup lruvec
| ^~~~~~~~~~~~
include/linux/memcontrol.h:997:20: error: invalid storage class for function 'mem_cgroup_online'
997 | static inline bool mem_cgroup_online(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1003:15: error: invalid storage class for function 'mem_cgroup_get_zone_lru_size'
1003 | unsigned long mem_cgroup_get_zone_lru_size(struct lruvec
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1009:29: error: invalid storage class for function 'mem_cgroup_get_max'
1009 | static inline unsigned long mem_cgroup_get_max(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1014:29: error: invalid storage class for function 'mem_cgroup_size'
1014 | static inline unsigned long mem_cgroup_size(struct mem_cgroup
| ^~~~~~~~~~~~~~~
include/linux/memcontrol.h:1020:1: error: invalid storage class for function 'mem_cgroup_print_oom_context'
1020 | mem_cgroup_print_oom_context(struct mem_cgroup struct task_struct
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1025:1: error: invalid storage class for function 'mem_cgroup_print_oom_meminfo'
1025 | mem_cgroup_print_oom_meminfo(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1029:34: error: invalid storage class for function 'lock_page_memcg'
1029 | static inline struct mem_cgroup page
| ^~~~~~~~~~~~~~~
include/linux/memcontrol.h:1034:20: error: invalid storage class for function '__unlock_page_memcg'
1034 | static inline void __unlock_page_memcg(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1038:20: error: invalid storage class for function 'unlock_page_memcg'
1038 | static inline void unlock_page_memcg(struct page
| ^~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1042:20: error: invalid storage class for function 'mem_cgroup_handle_over_high'
1042 | static inline void mem_cgroup_handle_over_high(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1046:20: error: invalid storage class for function 'mem_cgroup_enter_user_fault'
1046 | static inline void mem_cgroup_enter_user_fault(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1050:20: error: invalid storage class for function 'mem_cgroup_exit_user_fault'
1050 | static inline void mem_cgroup_exit_user_fault(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1054:20: error: invalid storage class for function 'task_in_memcg_oom'
1054 | static inline bool task_in_memcg_oom(struct task_struct
| ^~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1059:20: error: invalid storage class for function 'mem_cgroup_oom_synchronize'
1059 | static inline bool mem_cgroup_oom_synchronize(bool wait)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1064:34: error: invalid storage class for function 'mem_cgroup_get_oom_group'
1064 | static inline struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1070:20: error: invalid storage class for function 'mem_cgroup_print_oom_group'
1070 | static inline void mem_cgroup_print_oom_group(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1074:29: error: invalid storage class for function 'memcg_page_state'
1074 | static inline unsigned long memcg_page_state(struct mem_cgroup int idx)
| ^~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1079:29: error: invalid storage class for function 'memcg_page_state_local'
1079 | static inline unsigned long memcg_page_state_local(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1085:20: error: invalid storage class for function '__mod_memcg_state'
1085 | static inline void __mod_memcg_state(struct mem_cgroup
| ^~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1091:20: error: invalid storage class for function 'mod_memcg_state'
1091 | static inline void mod_memcg_state(struct mem_cgroup
| ^~~~~~~~~~~~~~~
include/linux/memcontrol.h:1097:20: error: invalid storage class for function '__mod_memcg_page_state'
1097 | static inline void __mod_memcg_page_state(struct page
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1103:20: error: invalid storage class for function 'mod_memcg_page_state'
1103 | static inline void mod_memcg_page_state(struct page
| ^~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1109:29: error: invalid storage class for function 'lruvec_page_state'
1109 | static inline unsigned long lruvec_page_state(struct lruvec
| ^~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1115:29: error: invalid storage class for function 'lruvec_page_state_local'
1115 | static inline unsigned long lruvec_page_state_local(struct lruvec
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1121:20: error: invalid storage class for function '__mod_lruvec_state'
1121 | static inline void __mod_lruvec_state(struct lruvec
| ^~~~~~~~~~~~~~~~~~
include/linux/memcontrol.h:1127:20: error: invalid storage class for function 'mod_lruvec_state'
1127 | static inline void mod_lruvec_state(struct lruvec
vim +/mem_cgroup_calculate_protection +855 include/linux/memcontrol.h
853
854
> 855 static inline void mem_cgroup_calculate_protection(struct mem_cgroup *root,
856 struct mem_cgroup *memcg);
857 {
858 }
859
> 860 static inline void mem_cgroup_protection(struct mem_cgroup *memcg,
861 bool in_low_reclaim)
862 {
> 863 return 0;
864 }
865
> 866 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg)
867 {
868 return false;
869 }
870
> 871 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg)
872 {
873 return false;
874 }
875
> 876 static inline int mem_cgroup_try_charge(struct page *page, struct mm_struct *mm,
877 gfp_t gfp_mask,
878 struct mem_cgroup **memcgp,
879 bool compound)
880 {
881 *memcgp = NULL;
882 return 0;
883 }
884
> 885 static inline int mem_cgroup_try_charge_delay(struct page *page,
886 struct mm_struct *mm,
887 gfp_t gfp_mask,
888 struct mem_cgroup **memcgp,
889 bool compound)
890 {
891 *memcgp = NULL;
892 return 0;
893 }
894
> 895 static inline void mem_cgroup_commit_charge(struct page *page,
896 struct mem_cgroup *memcg,
897 bool lrucare, bool compound)
898 {
899 }
900
> 901 static inline void mem_cgroup_cancel_charge(struct page *page,
902 struct mem_cgroup *memcg,
903 bool compound)
904 {
905 }
906
> 907 static inline void mem_cgroup_uncharge(struct page *page)
908 {
909 }
910
> 911 static inline void mem_cgroup_uncharge_list(struct list_head *page_list)
912 {
913 }
914
> 915 static inline void mem_cgroup_migrate(struct page *old, struct page *new)
916 {
917 }
918
> 919 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
920 struct pglist_data *pgdat)
921 {
922 return &pgdat->__lruvec;
923 }
924
> 925 static inline struct lruvec *mem_cgroup_page_lruvec(struct page *page,
926 struct pglist_data *pgdat)
927 {
928 return &pgdat->__lruvec;
929 }
930
> 931 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg)
932 {
933 return NULL;
934 }
935
> 936 static inline bool mm_match_cgroup(struct mm_struct *mm,
937 struct mem_cgroup *memcg)
938 {
939 return true;
940 }
941
> 942 static inline struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
943 {
944 return NULL;
945 }
946
> 947 static inline struct mem_cgroup *get_mem_cgroup_from_page(struct page *page)
948 {
949 return NULL;
950 }
951
> 952 static inline void mem_cgroup_put(struct mem_cgroup *memcg)
953 {
954 }
955
956 static inline struct mem_cgroup *
> 957 mem_cgroup_iter(struct mem_cgroup *root,
958 struct mem_cgroup *prev,
959 struct mem_cgroup_reclaim_cookie *reclaim)
960 {
961 return NULL;
962 }
963
> 964 static inline void mem_cgroup_iter_break(struct mem_cgroup *root,
965 struct mem_cgroup *prev)
966 {
967 }
968
> 969 static inline int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
970 int (*fn)(struct task_struct *, void *), void *arg)
971 {
972 return 0;
973 }
974
> 975 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg)
976 {
977 return 0;
978 }
979
> 980 static inline struct mem_cgroup *mem_cgroup_from_id(unsigned short id)
981 {
982 WARN_ON_ONCE(id);
983 /* XXX: This should always return root_mem_cgroup */
984 return NULL;
985 }
986
> 987 static inline struct mem_cgroup *mem_cgroup_from_seq(struct seq_file *m)
988 {
989 return NULL;
990 }
991
> 992 static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec)
993 {
994 return NULL;
995 }
996
> 997 static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
998 {
999 return true;
1000 }
1001
1002 static inline
> 1003 unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec,
1004 enum lru_list lru, int zone_idx)
1005 {
1006 return 0;
1007 }
1008
> 1009 static inline unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg)
1010 {
1011 return 0;
1012 }
1013
> 1014 static inline unsigned long mem_cgroup_size(struct mem_cgroup *memcg)
1015 {
1016 return 0;
1017 }
1018
1019 static inline void
> 1020 mem_cgroup_print_oom_context(struct mem_cgroup *memcg, struct task_struct *p)
1021 {
1022 }
1023
1024 static inline void
> 1025 mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg)
1026 {
1027 }
1028
> 1029 static inline struct mem_cgroup *lock_page_memcg(struct page *page)
1030 {
1031 return NULL;
1032 }
1033
> 1034 static inline void __unlock_page_memcg(struct mem_cgroup *memcg)
1035 {
1036 }
1037
> 1038 static inline void unlock_page_memcg(struct page *page)
1039 {
1040 }
1041
> 1042 static inline void mem_cgroup_handle_over_high(void)
1043 {
1044 }
1045
> 1046 static inline void mem_cgroup_enter_user_fault(void)
1047 {
1048 }
1049
> 1050 static inline void mem_cgroup_exit_user_fault(void)
1051 {
1052 }
1053
> 1054 static inline bool task_in_memcg_oom(struct task_struct *p)
1055 {
1056 return false;
1057 }
1058
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [PATCH 02/10] efi: Add a helper function to split 64-bit values
by kbuild test robot
Hi Arvind,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on efi/next]
[also build test WARNING on next-20200429]
[cannot apply to v5.7-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Arvind-Sankar/efi-some-cleanups-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/firmware/efi/libstub/x86-stub.c: In function 'efi_pe_entry':
>> drivers/firmware/efi/libstub/x86-stub.c:411:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
efi_set_u64_split((u64)cmdline_ptr,
^
drivers/firmware/efi/libstub/x86-stub.c: In function 'exit_boot_func':
drivers/firmware/efi/libstub/x86-stub.c:641:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
efi_set_u64_split((u64)efi_system_table,
^
drivers/firmware/efi/libstub/x86-stub.c:645:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
efi_set_u64_split((u64)*map->map,
^
vim +411 drivers/firmware/efi/libstub/x86-stub.c
343
344 void __noreturn efi_stub_entry(efi_handle_t handle,
345 efi_system_table_t *sys_table_arg,
346 struct boot_params *boot_params);
347
348 /*
349 * Because the x86 boot code expects to be passed a boot_params we
350 * need to create one ourselves (usually the bootloader would create
351 * one for us).
352 */
353 efi_status_t __efiapi efi_pe_entry(efi_handle_t handle,
354 efi_system_table_t *sys_table_arg)
355 {
356 struct boot_params *boot_params;
357 struct setup_header *hdr;
358 efi_loaded_image_t *image;
359 void *image_base;
360 efi_guid_t proto = LOADED_IMAGE_PROTOCOL_GUID;
361 int options_size = 0;
362 efi_status_t status;
363 char *cmdline_ptr;
364 unsigned long ramdisk_addr;
365 unsigned long ramdisk_size;
366
367 efi_system_table = sys_table_arg;
368
369 /* Check if we were booted by the EFI firmware */
370 if (efi_system_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE)
371 efi_exit(handle, EFI_INVALID_PARAMETER);
372
373 status = efi_bs_call(handle_protocol, handle, &proto, (void **)&image);
374 if (status != EFI_SUCCESS) {
375 efi_printk("Failed to get handle for LOADED_IMAGE_PROTOCOL\n");
376 efi_exit(handle, status);
377 }
378
379 image_base = efi_table_attr(image, image_base);
380 image_offset = (void *)startup_32 - image_base;
381
382 status = efi_allocate_pages(sizeof(struct boot_params),
383 (unsigned long *)&boot_params, ULONG_MAX);
384 if (status != EFI_SUCCESS) {
385 efi_printk("Failed to allocate lowmem for boot params\n");
386 efi_exit(handle, status);
387 }
388
389 memset(boot_params, 0x0, sizeof(struct boot_params));
390
391 hdr = &boot_params->hdr;
392
393 /* Copy the second sector to boot_params */
394 memcpy(&hdr->jump, image_base + 512, 512);
395
396 /*
397 * Fill out some of the header fields ourselves because the
398 * EFI firmware loader doesn't load the first sector.
399 */
400 hdr->root_flags = 1;
401 hdr->vid_mode = 0xffff;
402 hdr->boot_flag = 0xAA55;
403
404 hdr->type_of_loader = 0x21;
405
406 /* Convert unicode cmdline to ascii */
407 cmdline_ptr = efi_convert_cmdline(image, &options_size, ULONG_MAX);
408 if (!cmdline_ptr)
409 goto fail;
410
> 411 efi_set_u64_split((u64)cmdline_ptr,
412 &hdr->cmd_line_ptr, &boot_params->ext_cmd_line_ptr);
413
414 hdr->ramdisk_image = 0;
415 hdr->ramdisk_size = 0;
416
417 if (efi_is_native()) {
418 status = efi_parse_options(cmdline_ptr);
419 if (status != EFI_SUCCESS)
420 goto fail2;
421
422 if (!efi_noinitrd) {
423 status = efi_load_initrd(image, &ramdisk_addr,
424 &ramdisk_size,
425 hdr->initrd_addr_max,
426 ULONG_MAX);
427 if (status != EFI_SUCCESS)
428 goto fail2;
429 efi_set_u64_split(ramdisk_addr, &hdr->ramdisk_image,
430 &boot_params->ext_ramdisk_image);
431 efi_set_u64_split(ramdisk_size, &hdr->ramdisk_size,
432 &boot_params->ext_ramdisk_size);
433 }
434 }
435
436 efi_stub_entry(handle, sys_table_arg, boot_params);
437 /* not reached */
438
439 fail2:
440 efi_free(options_size, (unsigned long)cmdline_ptr);
441 fail:
442 efi_free(sizeof(struct boot_params), (unsigned long)boot_params);
443
444 efi_exit(handle, status);
445 }
446
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [PATCH 1/1] drm/mm: optimize rb_hole_addr rbtree search in high addr mode
by kbuild test robot
Hi Nirmoy,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next drm-tip/drm-tip linus/master v5.7-rc3 next-20200429]
[cannot apply to drm/drm-next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Nirmoy-Das/drm-mm-optimize-rb_ho...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-191-gc51a0382-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/drm_mm.c:455:24: sparse: sparse: Using plain integer as NULL pointer
vim +455 drivers/gpu/drm/drm_mm.c
431
432 /**
433 * next_hole_high_addr - returns next hole for a DRM_MM_INSERT_HIGH mode request
434 * @entry: previously selected drm_mm_node
435 * @size: size of the a hole needed for the request
436 *
437 * This function will verify whether left subtree of @entry has hole big enough
438 * to fit the requtested size. If so, it will return previous node of @entry or
439 * else it will return parent node of @entry
440 *
441 * It will also skip the complete left subtree if max_hole_size of that subtree
442 * is same as the max_hole_size of the @entry.
443 *
444 * Returns:
445 * previous node of @entry if left subtree of @entry can serve the request or
446 * else return parent of @entry
447 */
448 static struct drm_mm_node *
449 next_hole_high_addr(struct drm_mm_node *entry, u64 size)
450 {
451 struct rb_node *rb_node, *left_rb_node, *parent_rb_node;
452 struct drm_mm_node *left_node;
453
454 if (!entry)
> 455 return false;
456
457 rb_node = &entry->rb_hole_addr;
458 if (rb_node->rb_left) {
459 left_rb_node = rb_node->rb_left;
460 parent_rb_node = rb_parent(rb_node);
461 left_node = rb_entry(left_rb_node,
462 struct drm_mm_node, rb_hole_addr);
463 if ((left_node->max_hole_size < size ||
464 entry->size == entry->max_hole_size) &&
465 parent_rb_node && parent_rb_node->rb_left != rb_node)
466 return rb_hole_addr_to_node(parent_rb_node);
467 }
468
469 return rb_hole_addr_to_node(rb_prev(rb_node));
470 }
471
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[hch-misc:set_fs-coredump 5/8] arch/x86/kernel/signal.c:521:2: error: implicit declaration of function 'copy_siginfo_to_external32'; did you mean '__copy_siginfo_to_external32'?
by kbuild test robot
tree: git://git.infradead.org/users/hch/misc.git set_fs-coredump
head: 989bf8eec0898a5ce2a949912a1fe45dd4da27c6
commit: b798b18fe37310757ca69f5dad372ed18e80e1d2 [5/8] signal: refactor copy_siginfo_to_user32
config: x86_64-randconfig-d003-20200428 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout b798b18fe37310757ca69f5dad372ed18e80e1d2
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/kernel/signal.c: In function 'x32_copy_siginfo_to_user':
>> arch/x86/kernel/signal.c:521:2: error: implicit declaration of function 'copy_siginfo_to_external32'; did you mean '__copy_siginfo_to_external32'? [-Werror=implicit-function-declaration]
copy_siginfo_to_external32(&new, from);
^~~~~~~~~~~~~~~~~~~~~~~~~~
__copy_siginfo_to_external32
cc1: some warnings being treated as errors
vim +521 arch/x86/kernel/signal.c
514
515 #ifdef CONFIG_X86_X32_ABI
516 static int x32_copy_siginfo_to_user(struct compat_siginfo __user *to,
517 const struct kernel_siginfo *from)
518 {
519 struct compat_siginfo new;
520
> 521 copy_siginfo_to_external32(&new, from);
522 if (from->si_signo == SIGCHLD) {
523 new._sifields._sigchld_x32._utime = from->si_utime;
524 new._sifields._sigchld_x32._stime = from->si_stime;
525 }
526 if (copy_to_user(to, &new, sizeof(struct compat_siginfo)))
527 return -EFAULT;
528 return 0;
529 }
530
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week