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]
Date:   Mon, 15 May 2017 21:42:26 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     Matthias Kaehlcke <mka@...omium.org>,
        David Howells <dhowells@...hat.com>,
        Sudip Mukherjee <sudipm.mukherjee@...il.com>
Cc:     linux-kernel@...r.kernel.org,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: frv build failure in mainline kernel

On 05/15/2017 12:13 PM, Matthias Kaehlcke wrote:
> El Mon, May 15, 2017 at 10:02:15AM -0700 Guenter Roeck ha dit:
>
>> Hi all,
>>
>> frv fails to build in mainline with the following build errors.
>>
>> kernel/built-in.o: In function `__do_softirq':
>> (.text+0x6460): relocation truncated to fit: R_FRV_GPREL12 against symbol
>> `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `__do_softirq':
>> (.text+0x6574): relocation truncated to fit: R_FRV_GPREL12 against symbol
>> `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `pwq_activate_delayed_work':
>> workqueue.c:(.text+0x15b9c): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `worker_enter_idle':
>> workqueue.c:(.text+0x1612c): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> workqueue.c:(.text+0x161f0): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `pool_mayday_timeout':
>> workqueue.c:(.text+0x1630c): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `idle_worker_timeout':
>> workqueue.c:(.text+0x1649c): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> workqueue.c:(.text+0x164f8): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `__queue_work':
>> workqueue.c:(.text+0x170f4): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `__queue_delayed_work':
>> workqueue.c:(.text+0x1745c): relocation truncated to fit: R_FRV_GPREL12 against
>> symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1
>> kernel/built-in.o: In function `worker_thread':
>> workqueue.c:(.text+0x182e4): additional relocation overflows omitted from the output
>>
>> Bisect points to commit 7c30f352c852 ("jiffies.h: declare jiffies and jiffies_64
>> with ____cacheline_aligned_in_smp"). Bisect log is attached.
>>
>> Guenter
>>
>> ---
>> # bad: [2ea659a9ef488125eb46da6eb571de5eae5c43f6] Linux 4.12-rc1
>> # good: [13e0988140374123bead1dd27c287354cb95108e] docs: complete bumping minimal GNU Make version to 3.81
>> git bisect start 'HEAD' '13e098814037'
>> # bad: [c6778ff813d2ca3e3c8733c87dc8b6831a64578b] Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
>> git bisect bad c6778ff813d2ca3e3c8733c87dc8b6831a64578b
>> # bad: [11fbf53d66ec302fe50b06bd7cb4863dbb98775a] Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
>> git bisect bad 11fbf53d66ec302fe50b06bd7cb4863dbb98775a
>> # good: [2d3e4866dea96b0506395b47bfefb234f2088dac] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
>> git bisect good 2d3e4866dea96b0506395b47bfefb234f2088dac
>> # bad: [8f3207c7eab9d885cc64c778416537034a7d9c5b] Merge tag 'tty-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
>> git bisect bad 8f3207c7eab9d885cc64c778416537034a7d9c5b
>> # bad: [063246641d4a9e9de84a2466fbad50112faf88dc] format-security: move static strings to const
>> git bisect bad 063246641d4a9e9de84a2466fbad50112faf88dc
>> # bad: [f61e869d519c0c11a8d80a503cfdfb4897df855a] kcov: simplify interrupt check
>> git bisect bad f61e869d519c0c11a8d80a503cfdfb4897df855a
>> # bad: [0b523769ebb9473c60df1b0f70615aa82ebac2c9] checkpatch: add ability to find bad uses of vsprintf %p<foo> extensions
>> git bisect bad 0b523769ebb9473c60df1b0f70615aa82ebac2c9
>> # good: [3d88936f35bc67f7bee2efd4eec69baf26c17a5a] drivers/virt/fsl_hypervisor.c: use get_user_pages_unlocked()
>> git bisect good 3d88936f35bc67f7bee2efd4eec69baf26c17a5a
>> # bad: [8128a31eaadbcdfa37774bbd28f3f00bac69996a] drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR()
>> git bisect bad 8128a31eaadbcdfa37774bbd28f3f00bac69996a
>> # bad: [31b8cc80776c1b5a17abda6e0bbb5c615b9d90e4] make help: add tools help target
>> git bisect bad 31b8cc80776c1b5a17abda6e0bbb5c615b9d90e4
>> # bad: [7c30f352c852bae2715ad65ac4a38ca9af7d7696] jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp
>> git bisect bad 7c30f352c852bae2715ad65ac4a38ca9af7d7696
>> # first bad commit: [7c30f352c852bae2715ad65ac4a38ca9af7d7696]
>> jiffies.h: declare jiffies and jiffies_64 with
>> ____cacheline_aligned_in_smp
>
> This is apparently related with the removal of the __jiffy_data
> 'attribute' by this patch:
>
> -/* some arch's have a small-data section that can be accessed register-relative
> - * but that can only take up to, say, 4-byte variables. jiffies being part of
> - * an 8-byte variable may not be correctly accessed unless we force the issue
> - */
> -#define __jiffy_data  __attribute__((section(".data")))
>

Guess now we know which architecture that referred to.

>
> On frv the 'jiffies' symbol isn't part of the .data section:
>
> c03a6b00 g     O .data	00000008 jiffies_64
> c03a6b04 g       *ABS*	00000000 jiffies
>
>
> Which is different from x86:
>
> ffffffff81c0a000 g     O .data	0000000000000008 jiffies
> ffffffff81c0a000 g     O .data	0000000000000008 jiffies_64
>
> or arm64:
>
> ffffffc001062180 g     O .data	0000000000000008 jiffies_64
> ffffffc001062180 g     O .data	0000000000000000 jiffies
>
> Not sure what the appropriate fix would be. Maybe someone more
> familiar with the platform has an idea?
>

I assume declaring both __jiffy_data and ____cacheline_aligned_in_smp attributes doesn't work ?

Maybe mark the architecture as BROKEN if no one cares ?

Guenter

Powered by blists - more mailing lists