Hide Forgot
Description of problem: The rhel6_kabi_check script has reported 8 symbols not on the ABI whitelist. We would like to make our kernel module ABI compatible. Version-Release number of selected component (if applicable): RHEL6.x (and RHEL5.x) How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: # ./rhel6_kabi_check-2.0.py -k 2.6.32-71.el6 -w /lib/modules/kabi/kabi_whitelist_x86_64 /usr/local/velobit/modules/velobit.ko Red Hat Enterprise Linux 6 ABI Checker -------------------------------------- ABI Checker version: 2.0 Module: /usr/local/velobit/modules/velobit.ko Kernel: 2.6.32-71.el6.x86_64 Whitelist: /lib/modules/kabi/kabi_whitelist_x86_64 (20100820-1.el6) WARNING: The following symbols are used by your module WARNING: and are not on the ABI whitelist. symbol: daemonize symbol: kernel_thread symbol: _read_trylock symbol: open_by_devnum symbol: bio_init symbol: blk_get_backing_dev_info symbol: getnstimeofday symbol: time_to_tm Expected results: Additional info:
Hi, could someone let me know what further info is needed from my side? Thanks!
(In reply to comment #0) > Description of problem: > > The rhel6_kabi_check script has reported 8 symbols not on the ABI whitelist. > We would like to make our kernel module ABI compatible. > > Version-Release number of selected component (if applicable): > > RHEL6.x (and RHEL5.x) > > How reproducible: > > > Steps to Reproduce: > 1. > 2. > 3. > > Actual results: > > # ./rhel6_kabi_check-2.0.py -k 2.6.32-71.el6 -w > /lib/modules/kabi/kabi_whitelist_x86_64 /usr/local/velobit/modules/velobit.ko > Red Hat Enterprise Linux 6 ABI Checker > -------------------------------------- > > ABI Checker version: 2.0 > > Module: /usr/local/velobit/modules/velobit.ko > Kernel: 2.6.32-71.el6.x86_64 > Whitelist: /lib/modules/kabi/kabi_whitelist_x86_64 (20100820-1.el6) > > WARNING: The following symbols are used by your module > WARNING: and are not on the ABI whitelist. > > symbol: daemonize > symbol: kernel_thread > symbol: _read_trylock > symbol: open_by_devnum > symbol: bio_init > symbol: blk_get_backing_dev_info > symbol: getnstimeofday > symbol: time_to_tm To ask for KABI inclusion for any of the above below, I need to have a reason - whats/why the usage in the module - for each symbol. thanks
[Synopsis] VeloBit HyerCache kernel module implements a disk device filter. It hooks into a disk device request queue’s make_request_fn method. It spawns multiple kernel threads to carry out its IO processing in various stages. > symbol: daemonize - Detach user resources from a newly created kernel thread. > symbol: kernel_thread - Create a kernel thread. > symbol: _read_trylock - Multiple readers attempt to acquire reader/writer type locks. > symbol: open_by_devnum - Gain access to a block device’s “struct block_device *” pointer. The reason for accesing this pointer is to gain access to its “struct hd_struct *bd_part” and “struct gendisk *bd_disk” pointers. - The reason for accessing the “struct hd_struct *bd_part” pointer is to gain access to various disk properties (such as start_sect, nr_sects, etc.). - The reason for accessing the “struct gendisk *bd_disk” pointer is to gain access to its “make_request_fn” pointer for IO request redirections. > symbol: bio_init - Initialize a “struct bio ” object. In some cases VeloBit kernel module creates its own bio objects. > symbol: blk_get_backing_dev_info - Gain access to a block device’s backing device “struct backing_dev_info *” pointer. The reason for accessing this pointer is to gain access to the “unplug_io_fn” method inside the structure. > symbol: getnstimeofday - Need this function for various performance measurements and function time statistics inside the VeloBit kernel module. > symbol: time_to_tm - For converting the Linux time to local time. VeloBit kernel module uses this for its event logging. I hope this is sufficient, but let me know if any further clarification is needed. Thanks!
> > I hope this is sufficient, but let me know if any further clarification is > needed. Thanks! I prepared patches and sent them for review jirka
Thanks!
NACKed: daemonize kernel_thread reason: I think people are supposed to use kthread_create() these days, so NAK. bio_init reason: I'd really like to know why they think they need to allocate their own bios. I'm pretty much against this one. _read_trylock reason: rwlock_t is pretty much always wrong. the rest of the symbols made it to the KABI. For some reason those symbols went in under BZ 790418, so closing as duplicate. *** This bug has been marked as a duplicate of bug 790418 ***
*** Bug 669795 has been marked as a duplicate of this bug. ***
Created attachment 1224307 [details] ksc output containing the requested symbols
Created attachment 1238613 [details] ksc output containing the requested symbols
Created attachment 1241746 [details] ksc output containing the requested symbols