From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932728AbcI1N3T (ORCPT ); Wed, 28 Sep 2016 09:29:19 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:32973 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932362AbcI1N3K (ORCPT ); Wed, 28 Sep 2016 09:29:10 -0400 Message-ID: <1475069348.28155.98.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: [PATCH v5] net: ip, diag -- Add diag interface for raw sockets From: Eric Dumazet To: Cyrill Gorcunov Cc: Jamal Hadi Salim , David Ahern , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, David Miller , kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, kaber@trash.net, avagin@openvz.org, stephen@networkplumber.org Date: Wed, 28 Sep 2016 06:29:08 -0700 In-Reply-To: <20160928130357.GC1876@uranus.lan> References: <20160928090357.GT1876@uranus.lan> <20160928101726.GU1876@uranus.lan> <8293413c-a81d-f7ff-24f0-8f58ce877116@mojatatu.com> <20160928105147.GV1876@uranus.lan> <484dedaf-4e81-9a5a-ffb8-2c65b373c3a0@mojatatu.com> <20160928112703.GW1876@uranus.lan> <1475067432.28155.90.camel@edumazet-glaptop3.roam.corp.google.com> <20160928130357.GC1876@uranus.lan> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2016-09-28 at 16:03 +0300, Cyrill Gorcunov wrote: > On Wed, Sep 28, 2016 at 05:57:12AM -0700, Eric Dumazet wrote: > ... > > Note that some programs could fail to compile with the added union > > anyway. > > > > Some gcc versions are unable to compile a static init with an union > > > > struct inet_diag_req_v2 foo = { .pad = 0, sdiag_family = AF_INET, }; > > > > When I cooked my recent fq commit I simply removed a pad and replaced > > it : > > > > git show fefa569a9d4bc4 -- include > > Oh, crap :( I've been looking into uapi headers, found that we > use anonymous unions (for example include/uapi/linux/bcache.h) > and thought it will be safe (and my test builds didn't fail). > Are you happen to know which gcc versions cant do that? The most recent example I have in mind is a kbuild bot report on the recent TCP BBR patches. We had to rework the patch to avoid the problem. If I remember well, this was a gcc-4.7, but not on x86.