On Tue, Jan 14, 2014 at 10:02:28AM -0800, Guenter Roeck wrote: > On Tue, Jan 14, 2014 at 04:47:48PM +0200, Michael S. Tsirkin wrote: > > On Tue, Jan 14, 2014 at 06:35:12AM -0800, Guenter Roeck wrote: > > > On 01/14/2014 03:47 AM, Michael S. Tsirkin wrote: > > > >On Mon, Jan 13, 2014 at 06:52:06PM -0800, Guenter Roeck wrote: > > > >>Hi Greg, > > > >> > > > >>I get the following new build failure for 3.10 and 3.12. > > > >>Affected are m68k:allmodconfig and sparc64:allmodconfig. > > > >> > > > >>drivers/net/virtio_net.c: In function 'receive_mergeable': > > > >>drivers/net/virtio_net.c:330:29: warning: dereferencing 'void *' pointer [enabled by default] > > > >>drivers/net/virtio_net.c:330:29: error: request for member 'virtual' in something not a structure or union > > > >> > > > >>Culprit is "virtio_net: fix error handling for mergeable buffers". > > > >>Problem is that "page_address" is assumed to be a function, > > > >>but that is not always the case, at least not in 3.10 and 3.12. > > > >> > > > >>Guenter > > > > > > > >I see. You are right, it's a macro on some architectures. > > > >The following should fix this problem (on top). > > > >Can you confirm please? > > > > > > > >- struct skb_vnet_hdr *hdr = page_address(buf); > > > >- int num_buf = hdr->mhdr.num_buffers; > > > >- struct page *page = buf; > > > >+ struct page *page = buf; > > > >+ struct skb_vnet_hdr *hdr = page_address(page); > > > >+ int num_buf = hdr->mhdr.num_buffers; > > > > > > > >If this is confirmed to help I'll send a proper patch. > > > > Can you confirm? > > > Yes, the above patch fixes the build error on both platforms. Great, Michael, can you send me a "real" patch that I can use to merge in here so that the build isn't broken on these systems for the next stable releases? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html