Re: [linux-next-20130822] module: broken module versions?

From: Tetsuo Handa
Date: Tue Aug 27 2013 - 06:24:18 EST


I noticed that symbols which cause "disagrees about version of symbol" messages
have crc == 0.

---------- scripts/mod/modpost.c ----------
/* CRC'd symbol */
if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
crc = (unsigned int) sym->st_value;
+ if (!crc)
+ fprintf(stderr, "symbol %s has crc=0 sym->st_shndx=%d\n",
+ symname, sym->st_shndx);
sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
export);
}
---------- scripts/mod/modpost.c ----------

I got below messages upon build.

symbol __crc_sys_close has crc=0 sym->st_shndx=0
symbol __crc_path_is_under has crc=0 sym->st_shndx=0
symbol __crc_task_nice has crc=0 sym->st_shndx=0
symbol __crc_vfs_fsync_range has crc=0 sym->st_shndx=0
symbol __crc___symbol_put has crc=0 sym->st_shndx=0
symbol __crc_iov_shorten has crc=0 sym->st_shndx=0
symbol __crc_inode_add_bytes has crc=0 sym->st_shndx=0
symbol __crc_sock_register has crc=0 sym->st_shndx=0
symbol __crc_vm_brk has crc=0 sym->st_shndx=0
symbol __crc_kern_mount_data has crc=0 sym->st_shndx=0
symbol __crc_schedule_timeout has crc=0 sym->st_shndx=0
symbol __crc_generic_getxattr has crc=0 sym->st_shndx=0
symbol __crc_in_group_p has crc=0 sym->st_shndx=0
symbol __crc_finish_open has crc=0 sym->st_shndx=0
symbol __crc_get_unmapped_area has crc=0 sym->st_shndx=0
symbol __crc_generic_write_sync has crc=0 sym->st_shndx=0
symbol __crc_filp_close has crc=0 sym->st_shndx=0
symbol __crc_d_tmpfile has crc=0 sym->st_shndx=0
symbol __crc_iterate_fd has crc=0 sym->st_shndx=0
symbol __crc_register_exec_domain has crc=0 sym->st_shndx=0
symbol __crc_ns_capable has crc=0 sym->st_shndx=0
symbol __crc___page_file_mapping has crc=0 sym->st_shndx=0
symbol __crc_mnt_set_expiry has crc=0 sym->st_shndx=0
symbol __crc_do_sync_read has crc=0 sym->st_shndx=0
symbol __crc_vfs_test_lock has crc=0 sym->st_shndx=0
symbol __crc_perf_event_create_kernel_counter has crc=0 sym->st_shndx=0
symbol __crc_current_fs_time has crc=0 sym->st_shndx=0
symbol __crc_softirq_work_list has crc=0 sym->st_shndx=0
symbol __crc_sys_close has crc=0 sym->st_shndx=0
symbol __crc_path_is_under has crc=0 sym->st_shndx=0
symbol __crc_task_nice has crc=0 sym->st_shndx=0
symbol __crc_vfs_fsync_range has crc=0 sym->st_shndx=0
symbol __crc___symbol_put has crc=0 sym->st_shndx=0
symbol __crc_iov_shorten has crc=0 sym->st_shndx=0
symbol __crc_inode_add_bytes has crc=0 sym->st_shndx=0
symbol __crc_sock_register has crc=0 sym->st_shndx=0
symbol __crc_vm_brk has crc=0 sym->st_shndx=0
symbol __crc_kern_mount_data has crc=0 sym->st_shndx=0
symbol __crc_schedule_timeout has crc=0 sym->st_shndx=0
symbol __crc_generic_getxattr has crc=0 sym->st_shndx=0
symbol __crc_in_group_p has crc=0 sym->st_shndx=0
symbol __crc_finish_open has crc=0 sym->st_shndx=0
symbol __crc_get_unmapped_area has crc=0 sym->st_shndx=0
symbol __crc_generic_write_sync has crc=0 sym->st_shndx=0
symbol __crc_filp_close has crc=0 sym->st_shndx=0
symbol __crc_d_tmpfile has crc=0 sym->st_shndx=0
symbol __crc_iterate_fd has crc=0 sym->st_shndx=0
symbol __crc_register_exec_domain has crc=0 sym->st_shndx=0
symbol __crc_ns_capable has crc=0 sym->st_shndx=0
symbol __crc___page_file_mapping has crc=0 sym->st_shndx=0
symbol __crc_mnt_set_expiry has crc=0 sym->st_shndx=0
symbol __crc_do_sync_read has crc=0 sym->st_shndx=0
symbol __crc_vfs_test_lock has crc=0 sym->st_shndx=0
symbol __crc_perf_event_create_kernel_counter has crc=0 sym->st_shndx=0
symbol __crc_current_fs_time has crc=0 sym->st_shndx=0
symbol __crc_softirq_work_list has crc=0 sym->st_shndx=0

I continued bisection in this way and found that commit 5c019369 "syscalls.h:
use gcc alias instead of assembler aliases for syscalls" started showing
below messages upon build.

WARNING: "ns_capable" [net/ipv6/sit.ko] has no CRC!
WARNING: "ns_capable" [net/ipv6/ipv6.ko] has no CRC!
WARNING: "sock_register" [net/ipv6/ipv6.ko] has no CRC!
WARNING: "ns_capable" [net/ipv4/ip_tunnel.ko] has no CRC!
WARNING: "inode_add_bytes" [fs/udf/udf.ko] has no CRC!
WARNING: "current_fs_time" [fs/udf/udf.ko] has no CRC!
WARNING: "do_sync_read" [fs/udf/udf.ko] has no CRC!
WARNING: "d_tmpfile" [fs/udf/udf.ko] has no CRC!
WARNING: "sys_close" [fs/binfmt_misc.ko] has no CRC!
WARNING: "current_fs_time" [fs/binfmt_misc.ko] has no CRC!
WARNING: "vm_brk" [fs/binfmt_aout.ko] has no CRC!
WARNING: "sys_close" [fs/autofs4/autofs4.ko] has no CRC!
WARNING: "schedule_timeout" [drivers/hid/usbhid/usbhid.ko] has no CRC!

Reverting commit 5c019369 from linux-next-20130822 solved this problem.

Andi, would you check?

Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/