Skip to content
Snippets Groups Projects
  1. Nov 21, 2022
  2. Nov 17, 2022
    • Marc Zyngier's avatar
      kbuild: Restore .version auto-increment behaviour for Debian packages · 5db8face
      Marc Zyngier authored
      
      Since 2df8220c ("kbuild: build init/built-in.a just once"),
      generating Debian packages using 'make bindeb-pkg' results in
      packages that are stuck to the same .version, leading to unexpected
      behaviours (multiple packages with the same version).
      
      That's because the mkdebian script samples the build version
      before building the kernel, and forces the use of that version
      number for the actual build.
      
      Restore the previous behaviour by calling init/build-version
      instead of reading the .version file. This is likely to result
      in too many .version bumps, but this is what was happening before
      (although the bump was affecting builds made after the current one).
      
      Fixes: 2df8220c ("kbuild: build init/built-in.a just once")
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      5db8face
  3. Nov 09, 2022
  4. Nov 02, 2022
    • Masahiro Yamada's avatar
      kconfig: fix segmentation fault in menuconfig search · 7a263a04
      Masahiro Yamada authored
      
      Since commit d05377e1 ("kconfig: Create links to main menu items
      in search"), menuconfig shows a jump key next to "Main menu" if the
      nearest visible parent is the rootmenu. If you press that jump key,
      menuconfig crashes with a segmentation fault.
      
      For example, do this:
      
        $ make ARCH=arm64 allnoconfig menuconfig
      
      Press '/' to search for the string "ACPI". Press '1' to choose
      "(1) Main menu". Then, menuconfig crashed with a segmentation fault.
      
      The following code in search_conf()
      
          conf(targets[i]->parent, targets[i]);
      
      results in NULL pointer dereference because targets[i] is the rootmenu,
      which does not have a parent.
      
      Commit d05377e1 tried to fix the issue of top-level items not having
      a jump key, but adding the "Main menu" was not the right fix.
      
      The correct fix is to show the searched item itself. This fixes another
      weird behavior described in the comment block.
      
      Fixes: d05377e1 ("kconfig: Create links to main menu items in search")
      Reported-by: default avatarJohannes Zink <j.zink@pengutronix.de>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarBagas Sanjaya <bagasdotme@gmail.com>
      Tested-by: default avatarJohannes Zink <j.zink@pengutronix.de>
      7a263a04
  5. Oct 27, 2022
  6. Oct 14, 2022
  7. Oct 12, 2022
    • Zack Rusin's avatar
      kbuild: Stop including vmlinux.bz2 in the rpm's · fc8c2d8f
      Zack Rusin authored
      
      vmlinux.bz2 was added to the rpm packages in 2009 in the
      fc370ecf ("kbuild: add vmlinux to kernel rpm") but seemingly hasn't
      been used since.
      
      Originally this should have been split up in a seperate debugging
      package because it massively increases the size of the generated rpm's
      e.g. kernel rpm built using binrpm-pkg on Fedora 36 default 5.19.8 kernel
      config and localmodconfig is ~255MB with vmlinux.bz2 and only ~65MB
      without it.
      
      Make the kernel built rpms about 4x smaller by not including the unused
      vmlinux.bz2 in them.
      
      Signed-off-by: default avatarZack Rusin <zackr@vmware.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      fc8c2d8f
  8. Oct 03, 2022
    • Niklas Söderlund's avatar
    • Alexander Potapenko's avatar
      kmsan: add KMSAN runtime core · f80be457
      Alexander Potapenko authored
      For each memory location KernelMemorySanitizer maintains two types of
      metadata:
      
      1. The so-called shadow of that location - а byte:byte mapping describing
         whether or not individual bits of memory are initialized (shadow is 0)
         or not (shadow is 1).
      2. The origins of that location - а 4-byte:4-byte mapping containing
         4-byte IDs of the stack traces where uninitialized values were
         created.
      
      Each struct page now contains pointers to two struct pages holding KMSAN
      metadata (shadow and origins) for the original struct page.  Utility
      routines in mm/kmsan/core.c and mm/kmsan/shadow.c handle the metadata
      creation, addressing, copying and checking.  mm/kmsan/report.c performs
      error reporting in the cases an uninitialized value is used in a way that
      leads to undefined behavior.
      
      KMSAN compiler instrumentation is responsible for tracking the metadata
      along with the kernel memory.  mm/kmsan/instrumentation.c provides the
      implementation for instrumentation hooks that are called from files
      compiled with -fsanitize=kernel-memory.
      
      To aid parameter passing (also done at instrumentation level), each
      task_struct now contains a struct kmsan_task_state used to track the
      metadata of function parameters and return values for that task.
      
      Finally, this patch provides CONFIG_KMSAN that enables KMSAN, and declares
      CFLAGS_KMSAN, which are applied to files compiled with KMSAN.  The
      KMSAN_SANITIZE:=n Makefile directive can be used to completely disable
      KMSAN instrumentation for certain files.
      
      Similarly, KMSAN_ENABLE_CHECKS:=n disables KMSAN checks and makes newly
      created stack memory initialized.
      
      Users can also use functions from include/linux/kmsan-checks.h to mark
      certain memory regions as uninitialized or initialized (this is called
      "poisoning" and "unpoisoning") or check that a particular region is
      initialized.
      
      Link: https://lkml.kernel.org/r/20220915150417.722975-12-glider@google.com
      
      
      Signed-off-by: default avatarAlexander Potapenko <glider@google.com>
      Acked-by: default avatarMarco Elver <elver@google.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Andrey Konovalov <andreyknvl@gmail.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Eric Biggers <ebiggers@kernel.org>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Ilya Leoshkevich <iii@linux.ibm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Petr Mladek <pmladek@suse.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Vegard Nossum <vegard.nossum@oracle.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f80be457
  9. Oct 02, 2022
  10. Oct 01, 2022
  11. Sep 29, 2022
  12. Sep 28, 2022
Loading