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: <54622AED.9060205@kernel.dk>
Date:	Tue, 11 Nov 2014 08:27:41 -0700
From:	Jens Axboe <axboe@...nel.dk>
To:	Fabian Frederick <fabf@...net.be>,
	Stephen Rothwell <sfr@...b.auug.org.au>
CC:	linux-kernel@...r.kernel.org, linux-next@...r.kernel.org
Subject: Re: linux-next: build failure after merge of the block tree

On 2014-11-11 04:20, Fabian Frederick wrote:
>
>
>> On 11 November 2014 at 03:12 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>>
>>
>> Hi Jens,
>>
>> After merging the block tree, today's linux-next build (x86_64
>> allmodconfig) failed like this:
>>
>> drivers/built-in.o: In function `cdrom_sysctl_handler':
>> cdrom_sysctl.c:(.text+0x156d92): undefined reference to `cdrom_mutex'
>> cdrom_sysctl.c:(.text+0x156da0): undefined reference to `cdrom_autoclose'
>> cdrom_sysctl.c:(.text+0x156dae): undefined reference to `cdrom_autoeject'
>> cdrom_sysctl.c:(.text+0x156dbc): undefined reference to `cdrom_debug'
>> cdrom_sysctl.c:(.text+0x156dca): undefined reference to `cdrom_lockdoor'
>> cdrom_sysctl.c:(.text+0x156dd8): undefined reference to
>> `cdrom_check_media_type'
>> cdrom_sysctl.c:(.text+0x156e0b): undefined reference to `cdrom_list'
>> cdrom_sysctl.c:(.text+0x156e37): undefined reference to `cdrom_autoclose'
>> cdrom_sysctl.c:(.text+0x156e57): undefined reference to `cdrom_autoeject'
>> cdrom_sysctl.c:(.text+0x156e77): undefined reference to
>> `cdrom_check_media_type'
>> cdrom_sysctl.c:(.text+0x156ea4): undefined reference to `cdrom_lockdoor'
>> cdrom_sysctl.c:(.text+0x156eb5): undefined reference to `cdrom_list'
>> cdrom_sysctl.c:(.text+0x15702e): undefined reference to `cdrom_mutex'
>> drivers/built-in.o: In function `cdrom_print_info.constprop.0':
>> cdrom_sysctl.c:(.text+0x1570f3): undefined reference to `cdrom_list'
>> cdrom_sysctl.c:(.text+0x157189): undefined reference to `cdrom_list'
>> drivers/built-in.o: In function `cdrom_sysctl_info':
>> cdrom_sysctl.c:(.text+0x1572c3): undefined reference to `cdrom_mutex'
>> cdrom_sysctl.c:(.text+0x1576dc): undefined reference to `cdrom_mutex'
>> drivers/built-in.o: In function `cdrom_sysctl_register':
>> (.text+0x157765): undefined reference to `cdrom_autoclose'
>> drivers/built-in.o: In function `cdrom_sysctl_register':
>> (.text+0x157781): undefined reference to `cdrom_autoeject'
>> drivers/built-in.o: In function `cdrom_sysctl_register':
>> (.text+0x15778e): undefined reference to `cdrom_debug'
>> drivers/built-in.o: In function `cdrom_sysctl_register':
>> (.text+0x15779b): undefined reference to `cdrom_lockdoor'
>> drivers/built-in.o: In function `cdrom_sysctl_register':
>> (.text+0x1577a8): undefined reference to `cdrom_check_media_type'
>>
>> Probably caused by commit d01681d1457c ("cdrom: export sysctl code").
>> This build has CONFIG_SYSCTL=y, CONFIG_BLK_DEV_IDECD=m,
>> CONFIG_BLK_DEV_SR=m, CONFIG_PARIDE_PCD=m, CONFIG_CDROM_PKTCDVD=m,
>> CONFIG_GDROM=n.
>>
>> I have used the block tree from next-20141110 for today.
>> --
>> Cheers,
>> Stephen Rothwell                    sfr@...b.auug.org.au
>
> Hi Stephen,
>
> Problem is in Makefile:
>
> obj-$(CONFIG_BLK_DEV_SR) += cdrom.o
> obj-$(CONFIG_PARIDE_PCD) += cdrom.o
> obj-$(CONFIG_CDROM_PKTCDVD) += cdrom.o
> +obj-$(CONFIG_SYSCTL) += cdrom_sysctl.o
>
> I tried cdrom-$(CONFIG_SYSCTL)  += cdrom_sysctl.o
> to add sysctl only when cdrom.o is created
>
> but now
>
> drivers/scsi/sr_mod.ko
> drivers/ide/ide-cd_mod.ko
> drivers/ide/ide-cd_mod.ko
>
> can't find cdrom.c functions ...
>
> Is there another way to do it ?

The problem is, now you can have cdrom/sr modular, but cdrom_sysctl.o is 
linked in. That's just not going to work. Instead of jumping through 
hoops to make this work, leave the section in cdrom.c and hid it behind a

#if defined(CONFIG_SYSCTL)
...
#endif

at the bottom or something.

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ