Message ID | 8814508.SjLecHrQqA@wuerfel (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 2016-01-20 at 23:28 +0100, Arnd Bergmann wrote: > On Wednesday 20 January 2016 14:17:25 Jeff Kirsher wrote: > > On Wed, 2016-01-20 at 11:42 +0100, Arnd Bergmann wrote: > > > The addition of the geneve tunnel offload code left a couple > > > of functions unconditionally defined but empty whenever > CONFIG_VXLAN > > > and CONFIG_GENEVE are disabled. gcc warns about this: > > > > > > i40e_main.c:7049:13: warning: 'i40e_sync_udp_filters_subtask' > defined > > > but not used [-Wunused-function] > > > i40e_main.c:8516:13: warning: 'i40e_add_vxlan_port' defined but > not > > > used [-Wunused-function] > > > i40e_main.c:8561:13: warning: 'i40e_del_vxlan_port' defined but > not > > > used [-Wunused-function] > > > i40e_main.c:8596:13: warning: 'i40e_add_geneve_port' defined but > not > > > used [-Wunused-function] > > > i40e_main.c:8643:13: warning: 'i40e_del_geneve_port' defined but > not > > > used [-Wunused-function] > > > > > > This moves the #ifdef statements to the outside of the affected > > > functions, which avoids the warnings. > > > > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > > Fixes: 6a899024058d ("i40e: geneve tunnel offload support") > > > --- > > > This is a harmless regression against v4.4, found on ARM > randconfig > > > builds > > > > Thanks Arnd, I already have a patch from Eric Dumazet and Alex > Duyck to > > resolve this issue. > > > > Dave- I plan on pushing the fix later today to net. > > Ok, thanks. > > FWIW, I have another patch for this driver that I did not yet submit > because it's not a regression and I haven't written a proper > changelog > for it (it's in a set of 15 patches for netdev that fix harmless > warnings). > > Do you have one for the warning below as well? I could not come up > with a better way than adding a bogus initialization, but maybe > there is one. > > Arnd > > From d89be3f0f932a71dfb5480ee396db514879097c4 Mon Sep 17 00:00:00 > 2001 > From: Arnd Bergmann <arnd@arndb.de> > Date: Fri, 15 Jan 2016 17:31:07 +0100 > Subject: [PATCH] net: i40e: shut up uninitialized variable warnings > > intel/i40e/i40e_txrx.c: In function 'i40e_xmit_frame_ring': > intel/i40e/i40e_txrx.c:2367:20: error: 'oiph' may be used > uninitialized in this function [-Werror=maybe-uninitialized] > intel/i40e/i40e_txrx.c:2317:16: note: 'oiph' was declared here > intel/i40e/i40e_txrx.c:2367:17: error: 'oudph' may be used > uninitialized in this function [-Werror=maybe-uninitialized] > intel/i40e/i40e_txrx.c:2316:17: note: 'oudph' was declared here > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Yeah, I have a fix for that as well. You can confirm by pulling my next-queue tree (dev-queue branch). git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git d ev-queue
On Wednesday 20 January 2016 14:44:45 Jeff Kirsher wrote: > Yeah, I have a fix for that as well. > > You can confirm by pulling my next-queue tree (dev-queue branch). > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git d > ev-queue > I checked out that branch, but still see both warnings in that one, plus a new build error in igb, which I don't see in linux-next: drivers/net/ethernet/intel/igb/igb_cdev.c: In function 'igb_mapring': drivers/net/ethernet/intel/igb/igb_cdev.c:150:2: error: implicit declaration of function 'set_pages_uc' [-Werror=implicit-function-declaration] set_pages_uc(virt_to_page(ring->desc), ring->size >> PAGE_SHIFT); ^ drivers/net/ethernet/intel/igb/igb_cdev.c: In function 'igb_unmapring': drivers/net/ethernet/intel/igb/igb_cdev.c:275:2: error: implicit declaration of function 'set_pages_wb' [-Werror=implicit-function-declaration] set_pages_wb(virt_to_page(ring->desc), ring->size >> PAGE_SHIFT); Arnd
On Wed, 2016-01-20 at 23:54 +0100, Arnd Bergmann wrote: > On Wednesday 20 January 2016 14:44:45 Jeff Kirsher wrote: > > Yeah, I have a fix for that as well. > > > > You can confirm by pulling my next-queue tree (dev-queue branch). > > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next- > queue.git d > > ev-queue > > > > I checked out that branch, but still see both warnings in that one, > plus > a new build error in igb, which I don't see in linux-next: > > drivers/net/ethernet/intel/igb/igb_cdev.c: In function 'igb_mapring': > drivers/net/ethernet/intel/igb/igb_cdev.c:150:2: error: implicit > declaration of function 'set_pages_uc' [-Werror=implicit-function- > declaration] > set_pages_uc(virt_to_page(ring->desc), ring->size >> PAGE_SHIFT); > ^ > drivers/net/ethernet/intel/igb/igb_cdev.c: In function > 'igb_unmapring': > drivers/net/ethernet/intel/igb/igb_cdev.c:275:2: error: implicit > declaration of function 'set_pages_wb' [-Werror=implicit-function- > declaration] > set_pages_wb(virt_to_page(ring->desc), ring->size >> PAGE_SHIFT); Oops, I just realized I had not pushed my latest tree to kernel.org. The igb issue still remains, I am working with the developer who introduced the issue. Looks like the i40e issue about possible uninitialized variables still exists. I thought we had resolved that issue, but apparently not. You should see Eric Dumazet's patch on the tree to resolve the other i40e build warnings. I can add your second patch to resolve the uninitialized variables to my tree.
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 720516b0e8ee..47bd8b3145a7 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -2313,8 +2313,8 @@ static void i40e_tx_enable_csum(struct sk_buff *skb, u32 *tx_flags, struct iphdr *this_ip_hdr; u32 network_hdr_len; u8 l4_hdr = 0; - struct udphdr *oudph; - struct iphdr *oiph; + struct udphdr *oudph = NULL; + struct iphdr *oiph = NULL; u32 l4_tunnel = 0; if (skb->encapsulation) {