openvswitch-datapath-dkms 1.4.6-0ubuntu1.12.04.3: openvswitch kernel module failed to build [error: too many arguments to function ‘ip_select_ident’]

Bug #1379201 reported by Omar Elazhary on 2014-10-09
72
This bug affects 14 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned
openvswitch (Ubuntu)
Undecided
Unassigned
Precise
Medium
Chris J Arges

Bug Description

SRU Justification:

[Impact]
Users can't use openvswitch DKMS package on precise/3.2.

[Test Case]
1) install precise VM w/ 3.2
2) sudo apt-get install openvswitch-datapath-dkms
3) the module should build properly without failure

[Regression Potential]
This patch ifdefs based on kernel versions to select the correct function for that patchlevel. However because we only have 3 numbers in version.sh we may fail for trusty-lts kernels before 015c969f and after 3.13.11.

--

Update gives this message.

ProblemType: Package
DistroRelease: Ubuntu 12.04
Package: openvswitch-datapath-dkms 1.4.6-0ubuntu1.12.04.3
ProcVersionSignature: Ubuntu 3.2.0-69.103-generic 3.2.62
Uname: Linux 3.2.0-69-generic x86_64
ApportVersion: 2.0.1-0ubuntu17.7
Architecture: amd64
DKMSKernelVersion: 3.2.0-70-generic
Date: Thu Oct 9 09:35:00 2014
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
PackageArchitecture: all
PackageVersion: 1.4.6-0ubuntu1.12.04.3
SourcePackage: openvswitch
Title: openvswitch-datapath-dkms 1.4.6-0ubuntu1.12.04.3: openvswitch kernel module failed to build
UpgradeStatus: No upgrade log present (probably fresh install)

Omar Elazhary (omazhary) wrote :
tags: removed: need-duplicate-check
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in openvswitch (Ubuntu):
status: New → Confirmed
Nicola Heald (notnownikki) wrote :

Same error here, seemed to be fine on -69, but doesn't build on -70.

Nicola Heald (notnownikki) wrote :

he signature of ip_select_ident changed from -69 to -70.

It went from (struct sk_buff *skb, struct dst_entry *dst, struct sock *sk) to (struct sk_buff *skb, struct sock *sk, int segs).

Unfortunately I don't know enough about openvswitch internals to change the call, but the calls are made in datapath/tunnel.c starting line 1303.

Nicola Heald (notnownikki) wrote :

The backported patch that caused this was https://lkml.org/lkml/2014/8/8/861

summary: openvswitch-datapath-dkms 1.4.6-0ubuntu1.12.04.3: openvswitch kernel
- module failed to build
+ module failed to build [error: too many arguments to function
+ ‘ip_select_ident’]
no longer affects: neutron
Chuck Short (zulcss) on 2014-10-10
Changed in openvswitch (Ubuntu):
assignee: nobody → Chuck Short (zulcss)
Adam Conrad (adconrad) wrote :

This is obviously a regression in API compatibility for the kernel itself. Marking a linux task to note that.

Now, it may be an acceptable regression in the API, but we need to grep all dkms modules in the archive to see how many might be affected buy this interface change and make an informed decision about possibly reverting, not just paper over it in openvswitch and declare it a done deal.

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Chris J Arges (arges) on 2014-10-10
Changed in openvswitch (Ubuntu):
assignee: Chuck Short (zulcss) → Chris J Arges (arges)
no longer affects: linux (Ubuntu)
Chris J Arges (arges) wrote :

The upstream commit that caused this change is:
73f156a6e8c1074ac6327e0abd1169e95eb66463

The new interface is:
void ip_select_ident(struct sk_buff *skb, struct sock *sk)

Commits in ubuntu kernel trees:
3.2/precise: 519331a6416a517ca93a88d8cffc662562f15320
3.13/trusty/precise: 015c969fca9e99d90cda9b399391ac563b4dbc37

Chris J Arges (arges) wrote :

Uploaded fix for precise.

Changed in openvswitch (Ubuntu Precise):
assignee: nobody → Chris J Arges (arges)
status: New → In Progress
importance: Undecided → High
importance: High → Medium
Changed in openvswitch (Ubuntu):
assignee: Chris J Arges (arges) → nobody
status: Confirmed → Invalid
Steve Langasek (vorlon) wrote :

Readding the linux task. Chris, as Adam says there's work to be done here to verify that no other modules are affected before regarding this as resolved.

tags: added: regression-update
Brad Figg (brad-figg) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu Precise):
status: New → Confirmed
Steve Langasek (vorlon) on 2014-10-10
Changed in linux (Ubuntu):
status: Confirmed → Invalid
Chris J Arges (arges) on 2014-10-13
description: updated

Hello Omar, or anyone else affected,

Accepted openvswitch into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/openvswitch/1.4.6-0ubuntu1.12.04.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in openvswitch (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Chris J Arges (arges) wrote :

@vorlon

I've grepped through most DKMS packages and I also see that openswan-modules-dkms is also affected by these upstream changes (and fails to build for other issues), I'll create separate bug for this issue.

Closing the linux task for now as we can ifdef DKMS modules to handle these changes.

Changed in linux (Ubuntu Precise):
status: Confirmed → Invalid
Postmaster FNWI (1-postmaster) wrote :

The package http://launchpad.net/ubuntu/+source/openvswitch/1.4.6-0ubuntu1.12.04.4 fixes the issue for us, using the https://wiki.ubuntu.com/Testing/EnableProposed instructions. While compiling it still shows a warning at the point where it failed previously but now continues and comes up with a properly working system and internet connection to openvswitch after a reboot.

Chris J Arges (arges) on 2014-10-13
tags: added: verification-done-precise
removed: verification-needed

The verification of the Stable Release Update for openvswitch has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openvswitch - 1.4.6-0ubuntu1.12.04.4

---------------
openvswitch (1.4.6-0ubuntu1.12.04.4) precise; urgency=medium

  * Update: d/p/0010-datapath_ip_select_ident_fix.patch:
    Fix stable kernel changes to ip_select_ident. (LP: #1379201)
 -- Chris J Arges <email address hidden> Fri, 10 Oct 2014 14:31:19 -0500

Changed in openvswitch (Ubuntu Precise):
status: Fix Committed → Fix Released
James Page (james-page) wrote :

This issue also impacts the 2.0.2 ovs release provided in the icehouse cloud-archive for 12.04.

James Page (james-page) wrote :

make -C /lib/modules/3.2.0-70-virtual/build M=/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-70-virtual'
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/actions.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/datapath.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/dp_notify.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/flow.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-gre.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-internal_dev.o
  CC [M] /var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-lisp.o
/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-lisp.c: In function �~@~Xovs_tnl_send�~@~Y:
/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-lisp.c:586:3: warning: passing argument 2 of �~@~X__ip_select_ident�~@~Y makes integer from pointer without a cast [enabled by default]
include/net/ip.h:268:6: note: expected �~@~Xint�~@~Y but argument is of type �~@~Xstruct dst_entry *�~@~Y
/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-lisp.c:586:3: error: too many arguments to function �~@~X__ip_select_ident�~@~Y
include/net/ip.h:268:6: note: declared here
make[2]: *** [/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux/vport-lisp.o] Error 1
make[1]: *** [_module_/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-70-virtual'
make: *** [default] Error 2
make: Leaving directory `/var/lib/dkms/openvswitch/2.0.2/build/datapath/linux'

James Page (james-page) wrote :

Proposed fix pushed to:

  https://launchpad.net/~james-page/+archive/ubuntu/icehouse

Pending successful testing with the latest 3.2 kernel on 12.04, will push to proposed for the icehouse CA for 12.04

James Page (james-page) wrote :

 openvswitch (2.0.2-0ubuntu0.14.04.1~cloud1) precise-icehouse; urgency=medium

   * Backport ip_select_ident signature detection to fix FTBFS of
     dkms packages due to ABI change in stable kernels (LP: #1379201).

Changed in cloud-archive:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers