Bug 558999 - [Broadcom 5.6 bug] kABI whitelist request for bnx2i
Summary: [Broadcom 5.6 bug] kABI whitelist request for bnx2i
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: 5.6
Assignee: Jon Masters
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 557597 626671
TreeView+ depends on / blocked
 
Reported: 2010-01-26 21:31 UTC by Matt Carlson
Modified: 2011-01-13 21:02 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-01-13 21:02:19 UTC
Target Upstream Version:
Embargoed:


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


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0017 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.6 kernel security and bug fix update 2011-01-13 10:37:42 UTC

Description Matt Carlson 2010-01-26 21:31:53 UTC
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 21:43:19 UTC
Mike - can you review this list of symbols?

Comment 2 Andrius Benokraitis 2010-01-26 21:44:43 UTC
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 21:59:18 UTC
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 17:06:20 UTC
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 20:43:22 UTC
Matt, any insights?

Comment 6 Matt Carlson 2010-02-01 21:40:19 UTC
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 23:07:42 UTC
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 19:27:26 UTC
Mike - what do you think?

Comment 9 Mike Christie 2010-02-03 23:54:27 UTC
(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 22:35:25 UTC
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 17:10:30 UTC
(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 17:11:50 UTC
(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 19:16:35 UTC
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 21:40:01 UTC
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 21:48:49 UTC
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 19:27:01 UTC
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 22:40:39 UTC
Any word on this?

Comment 22 Andrius Benokraitis 2010-06-07 12:54:12 UTC
Matt - I believe Jon is on track to getting this into a post-Beta 2 snapshot.

Comment 23 Jon Masters 2010-08-20 21:01:20 UTC
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 07:33:50 UTC
Created attachment 443430 [details]
rhel56-kabi-whitelist-add-scsi-symbols.patch

Comment 26 Jon Masters 2010-09-07 07:35:35 UTC
Created attachment 443436 [details]
rhel56-kabi-whitelist-add-net-symbols.patch

Comment 27 Jon Masters 2010-09-07 07:39:20 UTC
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 20:59:34 UTC
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 21:02:19 UTC
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.