[Bug 1912783] Re: west-chamber-dkms fails to build after ip_route_me_harder() signature change

Kleber Sacilotto de Souza 1912783 at bugs.launchpad.net
Mon Mar 15 16:36:29 UTC 2021


I can confirm that west-chamber-
dkms=20100405+svn20111107.r124-12ubuntu0.3 can be installed and the
modules built and loaded successfully in Groovy with both the older and
the newer version of the kernel API:

$ dkms status
west-chamber, 20100405+svn20111107.r124, 5.8.0-41-generic, x86_64: installed
west-chamber, 20100405+svn20111107.r124, 5.8.0-45-generic, x86_64: installed
xtables-addons, 3.9, 5.8.0-41-generic, x86_64: installed
xtables-addons, 3.9, 5.8.0-45-generic, x86_64: installed


** Tags removed: verification-needed-groovy
** Tags added: verification-done-groovy

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1912783

Title:
  west-chamber-dkms fails to build after ip_route_me_harder() signature
  change

Status in west-chamber package in Ubuntu:
  Fix Released
Status in west-chamber source package in Bionic:
  Fix Committed
Status in west-chamber source package in Focal:
  Fix Committed
Status in west-chamber source package in Groovy:
  Fix Committed

Bug description:
  [Impact]
  Focal linux 5.4.0-57.63 and Groovy linux 5.8.0-44.50 backported from upstream stable releases the following commit, which broke the build of west-chamber dkms modules on Groovy, Focal and Bionic for all 5.4 and 5.8 kernels based on this release:

  "netfilter: use actual socket sk rather than skb sk when routing
  harder" (Upstream commit 46d6c5ae953cc0be38efd0e469284df7c4328cf8).

  This is the same issue found on xtables-addons (bug 1907109 and bug
  1915177).

  [Test case]
  Install west-chamber-dkms package which builds the kernel modules.

  [Fix]
  The proposed fix is similar to what has been done for xtabled-addons and use a version of the API depending on the kernel version being built against.

  However, the ABI version detection needs to be done differently
  between the 5.4 and the 5.8 kernels. For the 5.4 kernels the ABI
  change was applied as part of an upstream stable release which changed
  the SUBLEVEL version on the Makefile, so the detection can be done
  using the LINUX_VERSION_CODE macro. For the 5.8 kernels, this can't be
  done and another method is needed to check function declaration on the
  kernel headers. Therefore Focal also needs the same change as done in
  Groovy because of the HWE backport based on 5.8.

  [Where problems could occur]
  If any kernel version doesn't match the assumptions reflected by the ifdef's the modules can fail to build.

  -----
  Testing failing on:
  amd64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/amd64/w/west-chamber/20210121_172911_d9f41@/log.gz
  arm64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/arm64/w/west-chamber/20210113_011159_54cdf@/log.gz
  armhf: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/armhf/w/west-chamber/20210113_010911_54cdf@/log.gz
  ppc64el: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/ppc64el/w/west-chamber/20210113_010547_54cdf@/log.gz
  s390x: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/s390x/w/west-chamber/20210113_010347_cc516@/log.gz

  Build of the dkms is failing with the following error:

  /usr/src/west-chamber-20100405+svn20111107.r124/extensions/xt_CUI.c:106:30: error: passing argument 2 of ‘ip_route_me_harder’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    106 |  if (ip_route_me_harder(net, skb, addr_type))
        |                              ^~~
        |                              |
        |                              struct sk_buff *
  In file included from ./include/linux/netfilter/x_tables.h:245,
                   from /usr/src/west-chamber-20100405+svn20111107.r124/extensions/xt_CUI.c:19:
  ./include/linux/netfilter_ipv4.h:19:54: note: expected ‘struct sock *’ but argument is of type ‘struct sk_buff *’
     19 | int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type);
        |

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/west-chamber/+bug/1912783/+subscriptions



More information about the Ubuntu-sponsors mailing list