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: <124fa2c7-ce60-2739-7208-e5e325d66a40@infradead.org>
Date:   Tue, 18 Aug 2020 09:20:19 -0700
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Martin Burnicki <martin.burnicki@...nberg.de>,
        linux-kernel@...r.kernel.org,
        Masahiro Yamada <yamada.masahiro@...ionext.com>,
        linux-kbuild <linux-kbuild@...r.kernel.org>
Subject: Re: Kernel build system broken in 5.8?

[adding kbuild list and maintainer]

On 8/18/20 9:09 AM, Martin Burnicki wrote:
> Hi,
> 
> I'm the maintainer of a driver package for some PCI cards (GPS receiver
> cards, etc.). A read-only git repo of the driver package can be found here:
> https://git.meinbergglobal.com/mbgtools-lx.git
> 
> The kernel driver from that package is compiled as out-of-tree module,
> and runs fine on kernels 2.6, 3.x, 4.x, and 5.x up to 5.7, actually
> 5.7.15 on Ubuntu.
> 
> However, if I try this on kernel 5.8.1, I get strange errors related to
> autoconf.h, which make it impossible to compile or install the kernel
> module.
> 
> I usually build the kernel module as standard user, and only install the
> new module as root, e.g.:
> 
>   git checkout devel   # The 'devel' branch is appropriate for testing
>   cd mbgclock          # the subdirectory of the kernel module
>   git clean -fd; make  # or make V=1 for verbose output
>   sudo make install
> 
> Also, I was under the impression that the kernel source tree should be
> read-only, and kept clean, but this doesn't seem to be the case anymore.
> 
> 
> For example:
> 
> On Ubuntu 19.10 with kernel 5.8.1-050801-generic from
> https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8.1/
> 
> 'make' completes without error, even if run as normal user without write
> permissions in the kernel source tree.
> 
> 'sudo insmod ./mbgclock.ko' loads the module successfully, and the PCI
> card can be accessed as usually, e.g. using the 'mbgstatus' program, so
> the compiled kernel module  is OK.
> 
> BUT: Once I run 'sudo make install', which calls the kernel build system
> to make 'modules_install', I immediately get an error:
> 
> -------------------------------------------------------------------------
> Calling kernel build system to make "modules_install"
> make[1]: Entering directory '/usr/src/linux-headers-5.8.1-050801-generic'
> 
>   ERROR: Kernel configuration is invalid.
>          include/generated/autoconf.h or include/config/auto.conf are
> missing.
>          Run 'make oldconfig && make prepare' on kernel src to fix it.
> 
> make[1]: *** [Makefile:719: include/config/auto.conf] Error 1
> make[1]: Leaving directory '/usr/src/linux-headers-5.8.1-050801-generic'
> make: *** [/home/martin/projects/mbgtools-lx/mbgclock/../Makefile:834:
> install_module] Error 2
> -------------------------------------------------------------------------
> 
> And once this has happened, this problem persists, i.e., if I run the
> same commands
> 
>   git clean -fd; make
> 
> once more, as normal user as mentioned above, I get the error above
> every time.
> 
> Also, If I initially try to build the kernel kernel module as root, with
> 'sudo':
> 
>   git clean -fd; sudo make
> 
> I immediately get this error, and the module is not built. Only after I
> have re-installed the kernel headers package, I can compile the module
> again.
> 
> 
> A diff between the kernel header files before and after the kernel build
> system has been messed up shows that the following files have changed:
> 
> include/generated/autoconf.h
> scripts/basic/.fixdep.cmd
> scripts/basic/fixdep
> scripts/kconfig/.conf.o.cmd
> scripts/kconfig/.confdata.o.cmd
> scripts/kconfig/.expr.o.cmd
> scripts/kconfig/.lexer.lex.c.cmd
> scripts/kconfig/conf.o
> scripts/kconfig/confdata.o
> scripts/kconfig/expr.o
> scripts/kconfig/lexer.lex.c
> scripts/kconfig/parser.tab.c
> 
> Specifically, autoconf.h has been deleted even though some script
> obviously still requires that the file is available.
> 
> 
> With openSUSE Leap 15.2 and kernel 5.8.1 from
> https://download.opensuse.org/repositories/Kernel:/stable/standard/
> 
> I've encountered similar problems because include/generated/autoconf.h
> is not even available after installation of the kernel headers package.
> 
> Only on Arch Linux with kernel 5.8.1-arch1-1 I can build and install the
> module as root or standard user, as it was possible with earlier kernel
> versions.
> 
> Can someone please shed some light on what's going on here?
> 
> 
> Thanks,
> 
> Martin
> 


-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@...radead.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ