lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.20.1609170902390.2354@lianli.shorne-pla.net>
Date:   Sat, 17 Sep 2016 09:06:44 +0900 (JST)
From:   Stafford Horne <shorne@...il.com>
To:     kbuild test robot <lkp@...el.com>
cc:     Stafford Horne <shorne@...il.com>, kbuild-all@...org,
        Jonas Bonn <jonas@...thpole.se>,
        Stefan Kristiansson <stefan.kristiansson@...nalahti.fi>,
        Andrew Morton <akpm@...ux-foundation.org>,
        linux-kernel@...r.kernel.org, openrisc@...ts.librecores.org
Subject: Re: [PATCH 1/7] Apply transparent_union attribute to union semun



On Sat, 17 Sep 2016, kbuild test robot wrote:

> Hi Jonas,
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v4.8-rc6 next-20160916]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
> [Check https://git-scm.com/docs/git-format-patch for more information]
>
> url:    https://github.com/0day-ci/linux/commits/Stafford-Horne/openrisc-Misc-fixes-from-backlog/20160916-230114
> config: x86_64-randconfig-b0-09170504 (attached as .config)
> compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
> reproduce:
>        # save the attached .config to linux build tree
>        make ARCH=x86_64
>
> All errors (new ones prefixed by >>):
>
>   cc1: warnings being treated as errors
>   In file included from include/linux/sem.h:7,
>                    from include/linux/sched.h:35,
>                    from include/linux/kasan.h:4,
>                    from include/linux/slab.h:118,
>                    from include/linux/resource_ext.h:19,
>                    from include/linux/acpi.h:26,
>                    from drivers/gpu/drm/i915/i915_drv.c:30:
>>> include/uapi/linux/sem.h:51: error: union cannot be made transparent

Thanks for catching this.  I missed that this would break non openrisc 
architectures.

This issue is that "
All members of the union must have the same machine representation; this 
is necessary for this argument passing to work properly.
"

Definitely int and * will not always be the same.  Investingating what we 
can do on in arch/openrisc side without breaking the build/backcompat for
others.

Any other idea's welcome.

-Stafford

> vim +51 include/uapi/linux/sem.h
>
>    45	union semun {
>    46		int val;			/* value for SETVAL */
>    47		struct semid_ds __user *buf;	/* buffer for IPC_STAT & IPC_SET */
>    48		unsigned short __user *array;	/* array for GETALL & SETALL */
>    49		struct seminfo __user *__buf;	/* buffer for IPC_INFO */
>    50		void __user *__pad;
>  > 51	} __attribute__ ((transparent_union));
>    52
>    53	struct  seminfo {
>    54		int semmap;
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ