Bug 784959

Summary: Request for kernal ABI additions
Product: Red Hat Enterprise Linux 6 Reporter: jack
Component: kernelAssignee: Jiri Olsa <jolsa>
kernel sub component: kabi-whitelists QA Contact: Cui Chun <ccui>
Status: CLOSED DUPLICATE Docs Contact:
Severity: high    
Priority: high CC: bzeranski, ccui, gbeshers, jcm, mlacko, rpacheco, skozina
Version: 6.0   
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 790418 (view as bug list) Environment:
Last Closed: 2012-04-16 12:53:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 725989, 790418    
Attachments:
Description Flags
ksc output containing the requested symbols
none
ksc output containing the requested symbols
none
ksc output containing the requested symbols none

Description jack 2012-01-26 19:03:27 UTC
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:

Comment 3 jack 2012-02-07 23:10:47 UTC
Hi, could someone let me know what further info is needed from my side? Thanks!

Comment 5 Jiri Olsa 2012-02-13 11:15:29 UTC
(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

Comment 6 jack 2012-02-13 15:28:56 UTC
[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!

Comment 7 Jiri Olsa 2012-02-20 10:49:58 UTC
> 
> 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

Comment 8 Jon Masters 2012-02-25 03:05:21 UTC
Thanks!

Comment 9 Jiri Olsa 2012-04-16 12:53:55 UTC
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 ***

Comment 10 Larry Woodman 2012-07-19 02:13:24 UTC
*** Bug 669795 has been marked as a duplicate of this bug. ***

Comment 11 KABI greylists database 2016-11-25 12:57:45 UTC
Created attachment 1224307 [details]
ksc output containing the requested symbols

Comment 12 Martin Lacko 2017-01-09 10:03:20 UTC
Created attachment 1238613 [details]
ksc output containing the requested symbols

Comment 13 Martin Lacko 2017-01-17 12:34:06 UTC
Created attachment 1241746 [details]
ksc output containing the requested symbols