Bug 558999 - [Broadcom 5.6 bug] kABI whitelist request for bnx2i
[Broadcom 5.6 bug] kABI whitelist request for bnx2i
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
5.5
All Linux
high Severity high
: rc
: 5.6
Assigned To: Jon Masters
Red Hat Kernel QE team
: FutureFeature
Depends On:
Blocks: 557597 626671
  Show dependency treegraph
 
Reported: 2010-01-26 16:31 EST by Matt Carlson
Modified: 2011-01-13 16:02 EST (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-01-13 16:02:19 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
rhel56-kabi-whitelist-add-scsi-symbols.patch (67.48 KB, patch)
2010-09-07 03:33 EDT, Jon Masters
no flags Details | Diff
rhel56-kabi-whitelist-add-net-symbols.patch (21.75 KB, patch)
2010-09-07 03:35 EDT, Jon Masters
no flags Details | Diff

  None (edit)
Description Matt Carlson 2010-01-26 16:31:53 EST
Description of problem:

Please add the following symbols to the kernel whitelists for RHEL 5.5:

ksym(iscsi2_recv_pdu) = 10b44e99
ksym(iscsi2_conn_start) = 214f0bc1
ksym(iscsi2_host_alloc) = 3cd73055
ksym(iscsi2_destroy_endpoint) = 5ffa917c
ksym(iscsi2_lookup_endpoint) = 741f4fbf
ksym(vlan_gro_receive) = 7d251322
ksym(napi_gro_receive) = 9206f70a
ksym(iscsi2_session_teardown) = 93bca323
ksym(iscsi2_unblock_session) = 9aeb3cac
ksym(iscsi2_conn_setup) = 9eb03bf
ksym(iscsi2_conn_error_event) = ae204d0d
ksym(iscsi2_destroy_conn) = bbe11045
ksym(iscsi2_register_transport) = c10f18c1
ksym(iscsi2_session_setup) = d3e296b2
ksym(napi_gro_flush) = db2247bc
ksym(iscsi2_block_session) = dfce5e09
ksym(iscsi2_unregister_transport) = e1387bba
ksym(iscsi2_create_endpoint) = f407bef1



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 1 Andrius Benokraitis 2010-01-26 16:43:19 EST
Mike - can you review this list of symbols?
Comment 2 Andrius Benokraitis 2010-01-26 16:44:43 EST
Matt - also, what's requiring this specifically, and what's the impact? I'm assuming you are asking for these symbols in order to build a driver kmod after 5.5, but before it is included inbox 5.6?
Comment 3 Matt Carlson 2010-01-26 16:59:18 EST
Yes, you are correct.  The intent is to be able to build KMP packages for RHEL 5.5.  Without these whitelist inclusions, KMP packages will fail to install.

Our desire to build KMP packages goes beyond 5.5 though.  I'm sure we'd like to supply new OOB drivers for 5.6 and later releases too.  (Something about your "5.6" comment lead me to believe you thought this might be a one-off requirement.)
Comment 4 Mike Christie 2010-01-27 12:06:20 EST
Are the iscsi symbols for bnx2i? Is that the only iscsi module you are packaging? Is it possible for you to distribute the iscsi layer modules (libiscsi2 and scsi_transport_iscsi2 (does not look like you need scsi_transport_iscsi and libiscsi_tcp)) with bnx2i and not whitelist the iscsi symbols?

I did not add the iscsi functions to the whitelist so we could have some flexibility in what we update. We thought everyone could just update the other iscsi modules with their driver if they were going to do a kmp package.

Also what are you using for iscsi tools with your package? Is it the ones from upstream/RHEL, or closer to ones getting distributed to Dell customers (the ones that uses the pci named iscsi transport)?
Comment 5 Andrius Benokraitis 2010-02-01 15:43:22 EST
Matt, any insights?
Comment 6 Matt Carlson 2010-02-01 16:40:19 EST
Sorry for the delay.  These are questions for Michael Chan, but I can field them from the KMP perspective.

I'm not sure I understand why the whitelists couldn't be updated as you update the iscsi interfaces.  I never took the whitelists to mean "stable API/ABI".  I thought it just meant "this is the ABI for this kernel".

Not having these whitelist updates means we can't create KMP packages.  That would probably get some people upset.
Comment 7 Michael Chan 2010-02-01 18:07:42 EST
We prefer not to distribute libiscsi2 and scsi_transport_iscsi2.  But if that's the only way to go, I guess we can do that too.  So, do we just install these identical modules in the updates directory then?

The iscsi tools should be the version on RHEL5.5, unless we need to fix some bugs in uip.  It won't be the older one using the pci name as transport.

The whole purpose is so that we can update the bnx2i/cnic/bnx2/bnx2x drivers and possibly uip after RHEL5.5 ships in case we have some bug fixes or enhancements before RHEL5.6 is available.
Comment 8 Andrius Benokraitis 2010-02-03 14:27:26 EST
Mike - what do you think?
Comment 9 Mike Christie 2010-02-03 18:54:27 EST
(In reply to comment #6)
> I'm not sure I understand why the whitelists couldn't be updated as you update
> the iscsi interfaces.  I never took the whitelists to mean "stable API/ABI".  I
> thought it just meant "this is the ABI for this kernel".
> 

Yeah, it means a stable API.

Let me think about this for a day, and get back to you.

I am talking to some other vendors about what they want to do to. It seems there might be a 50/50 spit now.
Comment 10 Matt Carlson 2010-02-04 17:35:25 EST
I've been asked to also add the following symbols for the xen kernel.

ksym(pci_enable_msi)
ksym(pci_enable_msix)
ksym(pci_disable_msi)
ksym(pci_disable_msix)
Comment 14 Mike Christie 2010-02-16 12:10:30 EST
(In reply to comment #0)
> Description of problem:
> 
> Please add the following symbols to the kernel whitelists for RHEL 5.5:
> 
> ksym(iscsi2_recv_pdu) = 10b44e99
> ksym(iscsi2_conn_start) = 214f0bc1
> ksym(iscsi2_host_alloc) = 3cd73055
> ksym(iscsi2_destroy_endpoint) = 5ffa917c
> ksym(iscsi2_lookup_endpoint) = 741f4fbf
> ksym(iscsi2_session_teardown) = 93bca323
> ksym(iscsi2_unblock_session) = 9aeb3cac
> ksym(iscsi2_conn_setup) = 9eb03bf
> ksym(iscsi2_conn_error_event) = ae204d0d
> ksym(iscsi2_destroy_conn) = bbe11045
> ksym(iscsi2_register_transport) = c10f18c1
> ksym(iscsi2_session_setup) = d3e296b2
> ksym(iscsi2_block_session) = dfce5e09
> ksym(iscsi2_unregister_transport) = e1387bba
> ksym(iscsi2_create_endpoint) = f407bef1
> 

The iscsi ones are fine I guess.
Comment 15 Mike Christie 2010-02-16 12:11:50 EST
(In reply to comment #14)
> (In reply to comment #0)
> > Description of problem:
> > 
> > Please add the following symbols to the kernel whitelists for RHEL 5.5:
> > 
> > ksym(iscsi2_recv_pdu) = 10b44e99
> > ksym(iscsi2_conn_start) = 214f0bc1
> > ksym(iscsi2_host_alloc) = 3cd73055
> > ksym(iscsi2_destroy_endpoint) = 5ffa917c
> > ksym(iscsi2_lookup_endpoint) = 741f4fbf
> > ksym(iscsi2_session_teardown) = 93bca323
> > ksym(iscsi2_unblock_session) = 9aeb3cac
> > ksym(iscsi2_conn_setup) = 9eb03bf
> > ksym(iscsi2_conn_error_event) = ae204d0d
> > ksym(iscsi2_destroy_conn) = bbe11045
> > ksym(iscsi2_register_transport) = c10f18c1
> > ksym(iscsi2_session_setup) = d3e296b2
> > ksym(iscsi2_block_session) = dfce5e09
> > ksym(iscsi2_unregister_transport) = e1387bba
> > ksym(iscsi2_create_endpoint) = f407bef1
> > 
> 
> The iscsi ones are fine I guess.    


I also wanted to say for boot, they are going to be required (or at least make it alot easier so they do not have to also carry iscsi_tcp) because of how we are not supporting bnx2i for "/" and making then use iscsi_tcp for that.
Comment 16 Andrius Benokraitis 2010-02-17 14:16:35 EST
Matt, after speaking to engineering management, we don't update the whitelist post-beta, and I've been told you can work around this issue with some special tricks. I'm going to have to defer this to 5.6 since we are out of time for 5.5.
Comment 17 Matt Carlson 2010-02-17 16:40:01 EST
I wasn't aware there were ways to work around problems like these.  Can you share what those "special tricks" are?  (It isn't --force, is it?)
Comment 18 Andrius Benokraitis 2010-02-17 16:48:49 EST
Matt, I wasn't sure either - Jon - do you have a pointer to a quick HOWTO or a sample on how to do this?

Thanks!
Comment 19 Andrius Benokraitis 2010-02-23 14:27:01 EST
Deferring this to 5.6 - but in the meantime there is planned a new release of the kmod toolset that should help address workarounds. Stay tuned....
Comment 21 Matt Carlson 2010-06-04 18:40:39 EDT
Any word on this?
Comment 22 Andrius Benokraitis 2010-06-07 08:54:12 EDT
Matt - I believe Jon is on track to getting this into a post-Beta 2 snapshot.
Comment 23 Jon Masters 2010-08-20 17:01:20 EDT
At this time, we are unlikely to be able to whitelist the ISCSI symbols. We will let you know.
Comment 25 Jon Masters 2010-09-07 03:33:50 EDT
Created attachment 443430 [details]
rhel56-kabi-whitelist-add-scsi-symbols.patch
Comment 26 Jon Masters 2010-09-07 03:35:35 EDT
Created attachment 443436 [details]
rhel56-kabi-whitelist-add-net-symbols.patch
Comment 27 Jon Masters 2010-09-07 03:39:20 EDT
Thank you for filing your request to update our kernel ABI whitelists. We are now reviewing your request and will endeavor to provide an update in due course.
Comment 30 Jarod Wilson 2010-09-21 16:59:34 EDT
in kernel-2.6.18-223.el5
You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5

Detailed testing feedback is always welcomed.
Comment 34 errata-xmlrpc 2011-01-13 16:02:19 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0017.html

Note You need to log in before you can comment on or make changes to this bug.