Skip to content
Snippets Groups Projects
  1. Dec 26, 2022
  2. Dec 21, 2022
  3. Dec 16, 2022
  4. Dec 12, 2022
  5. Dec 09, 2022
  6. Dec 06, 2022
    • Heiko Carstens's avatar
      s390/vx: add vx-insn.h wrapper include file · 706f2ada
      Heiko Carstens authored
      
      The vector instruction macros can also be used in inline assemblies. For
      this the magic
      
      asm(".include \"asm/vx-insn.h\"\n");
      
      must be added to C files in order to avoid that the pre-processor
      eliminates the __ASSEMBLY__ guarded macros. This however comes with the
      problem that changes to asm/vx-insn.h do not cause a recompile of C files
      which have only this magic statement instead of a proper include statement.
      This can be observed with the arch/s390/kernel/fpu.c file.
      
      In order to fix this problem and also to avoid that the include must
      be specified twice, add a wrapper include header file which will do
      all necessary steps.
      
      This way only the vx-insn.h header file needs to be included and changes to
      the new vx-insn-asm.h header file cause a recompile of all dependent files
      like it should.
      
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      706f2ada
  7. Dec 04, 2022
    • Gary Guo's avatar
      rust: add `build_error` crate · ecaa6ddf
      Gary Guo authored
      
      The `build_error` crate provides a function `build_error` which
      will panic at compile-time if executed in const context and,
      by default, will cause a build error if not executed at compile
      time and the optimizer does not optimise away the call.
      
      The `CONFIG_RUST_BUILD_ASSERT_ALLOW` kernel option allows to
      relax the default build failure and convert it to a runtime
      check. If the runtime check fails, `panic!` will be called.
      
      Its functionality will be exposed to users as a couple macros in
      the `kernel` crate in the following patch, thus some documentation
      here refers to them for simplicity.
      
      Signed-off-by: default avatarGary Guo <gary@garyguo.net>
      Reviewed-by: default avatarWei Liu <wei.liu@kernel.org>
      [Reworded, adapted for upstream and applied latest changes]
      Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      ecaa6ddf
  8. Dec 02, 2022
    • Anders Roxell's avatar
      lib: fortify_kunit: build without structleak plugin · 5abf6987
      Anders Roxell authored
      
      Building allmodconfig with aarch64-linux-gnu-gcc (Debian 11.3.0-6),
      fortify_kunit with strucleak plugin enabled makes the stack frame size
      to grow too large:
      
      lib/fortify_kunit.c:140:1: error: the frame size of 2368 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
      
      Turn off the structleak plugin checks for fortify_kunit.
      
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAnders Roxell <anders.roxell@linaro.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      5abf6987
    • Kees Cook's avatar
      panic: Consolidate open-coded panic_on_warn checks · 79cc1ba7
      Kees Cook authored
      
      Several run-time checkers (KASAN, UBSAN, KFENCE, KCSAN, sched) roll
      their own warnings, and each check "panic_on_warn". Consolidate this
      into a single function so that future instrumentation can be added in
      a single location.
      
      Cc: Marco Elver <elver@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Juri Lelli <juri.lelli@redhat.com>
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Ben Segall <bsegall@google.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
      Cc: Valentin Schneider <vschneid@redhat.com>
      Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@gmail.com>
      Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: David Gow <davidgow@google.com>
      Cc: tangmeng <tangmeng@uniontech.com>
      Cc: Jann Horn <jannh@google.com>
      Cc: Shuah Khan <skhan@linuxfoundation.org>
      Cc: Petr Mladek <pmladek@suse.com>
      Cc: "Paul E. McKenney" <paulmck@kernel.org>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
      Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
      Cc: kasan-dev@googlegroups.com
      Cc: linux-mm@kvack.org
      Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
      Link: https://lore.kernel.org/r/20221117234328.594699-4-keescook@chromium.org
      79cc1ba7
    • Stephen Boyd's avatar
      debugobjects: Print object pointer in debug_print_object() · c4db2d3b
      Stephen Boyd authored
      
      Delayed kobject debugging (CONFIG_DEBUG_KOBJECT_RELEASE) prints the kobject
      pointer that's being released in kobject_release() before scheduling a
      randomly delayed work to do the actual release work.
      
      If the caller of kobject_put() frees the kobject upon return then this will
      typically emit a debugobject warning about freeing an active timer.
      
      Usually the release function is the function that does the kfree() of the
      struct containing the kobject.
      
      For example the following print is seen
      
       kobject: 'queue' (ffff888114236190): kobject_release, parent 0000000000000000 (delayed 1000)
       ------------[ cut here ]------------
       ODEBUG: free active (active state 0) object type: timer_list hint: kobject_delayed_cleanup+0x0/0x390
      
      but the kobject printk cannot be matched with the debug object printk
      because it could be any number of kobjects that was released around that
      time. The random delay for the work doesn't help either.
      
      Print the address of the object being tracked to help to figure out which
      kobject is the problem here. Note that this does not use %px here to match
      the other %p usage in debugobject debugging. Due to %p usage it is required
      to disable pointer hashing to correlate the two pointer printks.
      
      Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/r/20220519202201.2348343-1-swboyd@chromium.org
      c4db2d3b
  9. Dec 01, 2022
  10. Nov 30, 2022
    • Randy Dunlap's avatar
      maple_tree: allow TEST_MAPLE_TREE only when DEBUG_KERNEL is set · 845aad0a
      Randy Dunlap authored
      Prevent a kconfig warning that is caused by TEST_MAPLE_TREE by adding a
      "depends on" clause for TEST_MAPLE_TREE since 'select' does not follow any
      kconfig dependencies.
      
      WARNING: unmet direct dependencies detected for DEBUG_MAPLE_TREE
        Depends on [n]: DEBUG_KERNEL [=n]
        Selected by [y]:
        - TEST_MAPLE_TREE [=y] && RUNTIME_TESTING_MENU [=y]
      
      Link: https://lkml.kernel.org/r/20221119055117.14094-1-rdunlap@infradead.org
      
      
      Fixes: 120b1162 ("maple_tree: reorganize testing to restore module testing")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reviewed-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      845aad0a
    • Liam Howlett's avatar
      maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up · 6e7ba8b5
      Liam Howlett authored
      mte_set_full() and mte_clear_full() were incorrectly setting a pointer to
      a value without returning a result.  Fix this by returning the modified
      pointer to be use as necessary.  Also add a third function to return if
      the bit is set or not.
      
      Link: https://lore.kernel.org/lkml/20221026120029.12555-1-lukas.bulwahn@gmail.com/
      Link: https://lkml.kernel.org/r/20221028144520.2776767-1-Liam.Howlett@oracle.com
      
      
      Signed-off-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
      Suggested-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Suggested-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      6e7ba8b5
    • Shakeel Butt's avatar
      percpu_counter: add percpu_counter_sum_all interface · f689054a
      Shakeel Butt authored
      The percpu_counter is used for scenarios where performance is more
      important than the accuracy.  For percpu_counter users, who want more
      accurate information in their slowpath, percpu_counter_sum is provided
      which traverses all the online CPUs to accumulate the data.  The reason it
      only needs to traverse online CPUs is because percpu_counter does
      implement CPU offline callback which syncs the local data of the offlined
      CPU.
      
      However there is a small race window between the online CPUs traversal of
      percpu_counter_sum and the CPU offline callback.  The offline callback has
      to traverse all the percpu_counters on the system to flush the CPU local
      data which can be a lot.  During that time, the CPU which is going offline
      has already been published as offline to all the readers.  So, as the
      offline callback is running, percpu_counter_sum can be called for one
      counter which has some state on the CPU going offline.  Since
      percpu_counter_sum only traverses online CPUs, it will skip that specific
      CPU and the offline callback might not have flushed the state for that
      specific percpu_counter on that offlined CPU.
      
      Normally this is not an issue because percpu_counter users can deal with
      some inaccuracy for small time window.  However a new user i.e.  mm_struct
      on the cleanup path wants to check the exact state of the percpu_counter
      through check_mm().  For such users, this patch introduces
      percpu_counter_sum_all() which traverses all possible CPUs and it is used
      in fork.c:check_mm() to avoid the potential race.
      
      This issue is exposed by the later patch "mm: convert mm's rss stats into
      percpu_counter".
      
      Link: https://lkml.kernel.org/r/20221109012011.881058-1-shakeelb@google.com
      
      
      Signed-off-by: default avatarShakeel Butt <shakeelb@google.com>
      Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f689054a
    • Feng Tang's avatar
      mm/slub, kunit: Add a test case for kmalloc redzone check · 6cd6d33c
      Feng Tang authored and Vlastimil Babka's avatar Vlastimil Babka committed
      
      kmalloc redzone check for slub has been merged, and it's better to add
      a kunit case for it, which is inspired by a real-world case as described
      in commit 120ee599 ("staging: octeon-usb: prevent memory corruption"):
      
      "
        octeon-hcd will crash the kernel when SLOB is used. This usually happens
        after the 18-byte control transfer when a device descriptor is read.
        The DMA engine is always transferring full 32-bit words and if the
        transfer is shorter, some random garbage appears after the buffer.
        The problem is not visible with SLUB since it rounds up the allocations
        to word boundary, and the extra bytes will go undetected.
      "
      
      To avoid interrupting the normal functioning of kmalloc caches, a
      kmem_cache mimicing kmalloc cache is created with similar flags, and
      kmalloc_trace() is used to really test the orig_size and redzone setup.
      
      Suggested-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarFeng Tang <feng.tang@intel.com>
      Reviewed-by: default avatarHyeonggon Yoo <42.hyeyoo@gmail.com>
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      6cd6d33c
    • Lee Jones's avatar
      Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is enabled · 152fe65f
      Lee Jones authored
      When enabled, KASAN enlarges function's stack-frames.  Pushing quite a few
      over the current threshold.  This can mainly be seen on 32-bit
      architectures where the present limit (when !GCC) is a lowly 1024-Bytes.
      
      Link: https://lkml.kernel.org/r/20221125120750.3537134-3-lee@kernel.org
      
      
      Signed-off-by: default avatarLee Jones <lee@kernel.org>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: David Airlie <airlied@gmail.com>
      Cc: Harry Wentland <harry.wentland@amd.com>
      Cc: Leo Li <sunpeng.li@amd.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com>
      Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Tom Rix <trix@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      152fe65f
    • Feng Tang's avatar
      mm/slub, kunit: add SLAB_SKIP_KFENCE flag for cache creation · 4d9dd4b0
      Feng Tang authored and Vlastimil Babka's avatar Vlastimil Babka committed
      
      When kfence is enabled, the buffer allocated from the test case
      could be from a kfence pool, and the operation could be also
      caught and reported by kfence first, causing the case to fail.
      
      With default kfence setting, this is very difficult to be triggered.
      By changing CONFIG_KFENCE_NUM_OBJECTS from 255 to 16383, and
      CONFIG_KFENCE_SAMPLE_INTERVAL from 100 to 5, the allocation from
      kfence did hit 7 times in different slub_kunit cases out of 900
      times of boot test.
      
      To avoid this, initially we tried is_kfence_address() to check this
      and repeated allocation till finding a non-kfence address. Vlastimil
      Babka suggested SLAB_SKIP_KFENCE flag could be used to achieve this,
      and better add a wrapper function for simplifying cache creation.
      
      Signed-off-by: default avatarFeng Tang <feng.tang@intel.com>
      Reviewed-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarHyeonggon Yoo <42.hyeyoo@gmail.com>
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      4d9dd4b0
    • Joel Fernandes (Google)'s avatar
      percpu-refcount: Use call_rcu_hurry() for atomic switch · 343a72e5
      Joel Fernandes (Google) authored
      
      Earlier commits in this series allow battery-powered systems to build
      their kernels with the default-disabled CONFIG_RCU_LAZY=y Kconfig option.
      This Kconfig option causes call_rcu() to delay its callbacks in order to
      batch callbacks.  This means that a given RCU grace period covers more
      callbacks, thus reducing the number of grace periods, in turn reducing
      the amount of energy consumed, which increases battery lifetime which
      can be a very good thing.  This is not a subtle effect: In some important
      use cases, the battery lifetime is increased by more than 10%.
      
      This CONFIG_RCU_LAZY=y option is available only for CPUs that offload
      callbacks, for example, CPUs mentioned in the rcu_nocbs kernel boot
      parameter passed to kernels built with CONFIG_RCU_NOCB_CPU=y.
      
      Delaying callbacks is normally not a problem because most callbacks do
      nothing but free memory.  If the system is short on memory, a shrinker
      will kick all currently queued lazy callbacks out of their laziness,
      thus freeing their memory in short order.  Similarly, the rcu_barrier()
      function, which blocks until all currently queued callbacks are invoked,
      will also kick lazy callbacks, thus enabling rcu_barrier() to complete
      in a timely manner.
      
      However, there are some cases where laziness is not a good option.
      For example, synchronize_rcu() invokes call_rcu(), and blocks until
      the newly queued callback is invoked.  It would not be a good for
      synchronize_rcu() to block for ten seconds, even on an idle system.
      Therefore, synchronize_rcu() invokes call_rcu_hurry() instead of
      call_rcu().  The arrival of a non-lazy call_rcu_hurry() callback on a
      given CPU kicks any lazy callbacks that might be already queued on that
      CPU.  After all, if there is going to be a grace period, all callbacks
      might as well get full benefit from it.
      
      Yes, this could be done the other way around by creating a
      call_rcu_lazy(), but earlier experience with this approach and
      feedback at the 2022 Linux Plumbers Conference shifted the approach
      to call_rcu() being lazy with call_rcu_hurry() for the few places
      where laziness is inappropriate.
      
      And another call_rcu() instance that cannot be lazy is the one on the
      percpu refcounter's "per-CPU to atomic switch" code path, which
      uses RCU when switching to atomic mode.  The enqueued callback
      wakes up waiters waiting in the percpu_ref_switch_waitq.  Allowing
      this callback to be lazy would result in unacceptable slowdowns for
      users of per-CPU refcounts, such as blk_pre_runtime_suspend().
      
      Therefore, make __percpu_ref_switch_to_atomic() use call_rcu_hurry()
      in order to revert to the old behavior.
      
      [ paulmck: Apply s/call_rcu_flush/call_rcu_hurry/ feedback from Tejun Heo. ]
      
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Cc: Dennis Zhou <dennis@kernel.org>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: <linux-mm@kvack.org>
      343a72e5
  11. Nov 29, 2022
  12. Nov 27, 2022
  13. Nov 25, 2022
  14. Nov 23, 2022
    • Greg Kroah-Hartman's avatar
      lib/vdso: use "grep -E" instead of "egrep" · 8ac3b5cd
      Greg Kroah-Hartman authored
      
      The latest version of grep claims the egrep is now obsolete so the build
      now contains warnings that look like:
      	egrep: warning: egrep is obsolescent; using grep -E
      fix this up by moving the vdso Makefile to use "grep -E" instead.
      
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Reviewed-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
      Link: https://lore.kernel.org/r/20220920170633.3133829-1-gregkh@linuxfoundation.org
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8ac3b5cd
    • Zhengchao Shao's avatar
      test_firmware: fix memory leak in test_firmware_init() · 7610615e
      Zhengchao Shao authored
      
      When misc_register() failed in test_firmware_init(), the memory pointed
      by test_fw_config->name is not released. The memory leak information is
      as follows:
      unreferenced object 0xffff88810a34cb00 (size 32):
        comm "insmod", pid 7952, jiffies 4294948236 (age 49.060s)
        hex dump (first 32 bytes):
          74 65 73 74 2d 66 69 72 6d 77 61 72 65 2e 62 69  test-firmware.bi
          6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  n...............
        backtrace:
          [<ffffffff81b21fcb>] __kmalloc_node_track_caller+0x4b/0xc0
          [<ffffffff81affb96>] kstrndup+0x46/0xc0
          [<ffffffffa0403a49>] __test_firmware_config_init+0x29/0x380 [test_firmware]
          [<ffffffffa040f068>] 0xffffffffa040f068
          [<ffffffff81002c41>] do_one_initcall+0x141/0x780
          [<ffffffff816a72c3>] do_init_module+0x1c3/0x630
          [<ffffffff816adb9e>] load_module+0x623e/0x76a0
          [<ffffffff816af471>] __do_sys_finit_module+0x181/0x240
          [<ffffffff89978f99>] do_syscall_64+0x39/0xb0
          [<ffffffff89a0008b>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      Fixes: c92316bf ("test_firmware: add batched firmware tests")
      Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
      Acked-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Link: https://lore.kernel.org/r/20221119035721.18268-1-shaozhengchao@huawei.com
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7610615e
    • Li Hua's avatar
      test_kprobes: Fix implicit declaration error of test_kprobes · 63a4dc0a
      Li Hua authored
      If KPROBES_SANITY_TEST and ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled, but
      STACKTRACE is not set. Build failed as below:
      
      lib/test_kprobes.c: In function ‘stacktrace_return_handler’:
      lib/test_kprobes.c:228:8: error: implicit declaration of function ‘stack_trace_save’; did you mean ‘stacktrace_driver’? [-Werror=implicit-function-declaration]
        ret = stack_trace_save(stack_buf, STACK_BUF_SIZE, 0);
              ^~~~~~~~~~~~~~~~
              stacktrace_driver
      cc1: all warnings being treated as errors
      scripts/Makefile.build:250: recipe for target 'lib/test_kprobes.o' failed
      make[2]: *** [lib/test_kprobes.o] Error 1
      
      To fix this error, Select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled.
      
      Link: https://lore.kernel.org/all/20221121030620.63181-1-hucool.lihua@huawei.com/
      
      
      
      Fixes: 1f6d3a8f ("kprobes: Add a test case for stacktrace from kretprobe handler")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLi Hua <hucool.lihua@huawei.com>
      Acked-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      63a4dc0a
    • Kees Cook's avatar
      kunit/fortify: Validate __alloc_size attribute results · 9124a264
      Kees Cook authored
      
      Validate the effect of the __alloc_size attribute on allocators. If the
      compiler doesn't support __builtin_dynamic_object_size(), skip the
      associated tests.
      
      (For GCC, just remove the "--make_options" line below...)
      
      $ ./tools/testing/kunit/kunit.py run --arch x86_64 \
              --kconfig_add CONFIG_FORTIFY_SOURCE=y \
      	--make_options LLVM=1
              fortify
      ...
      [15:16:30] ================== fortify (10 subtests) ===================
      [15:16:30] [PASSED] known_sizes_test
      [15:16:30] [PASSED] control_flow_split_test
      [15:16:30] [PASSED] alloc_size_kmalloc_const_test
      [15:16:30] [PASSED] alloc_size_kmalloc_dynamic_test
      [15:16:30] [PASSED] alloc_size_vmalloc_const_test
      [15:16:30] [PASSED] alloc_size_vmalloc_dynamic_test
      [15:16:30] [PASSED] alloc_size_kvmalloc_const_test
      [15:16:30] [PASSED] alloc_size_kvmalloc_dynamic_test
      [15:16:30] [PASSED] alloc_size_devm_kmalloc_const_test
      [15:16:30] [PASSED] alloc_size_devm_kmalloc_dynamic_test
      [15:16:30] ===================== [PASSED] fortify =====================
      [15:16:30] ============================================================
      [15:16:30] Testing complete. Ran 10 tests: passed: 10
      [15:16:31] Elapsed time: 8.348s total, 0.002s configuring, 6.923s building, 1.075s running
      
      For earlier GCC prior to version 12, the dynamic tests will be skipped:
      
      [15:18:59] ================== fortify (10 subtests) ===================
      [15:18:59] [PASSED] known_sizes_test
      [15:18:59] [PASSED] control_flow_split_test
      [15:18:59] [PASSED] alloc_size_kmalloc_const_test
      [15:18:59] [SKIPPED] alloc_size_kmalloc_dynamic_test
      [15:18:59] [PASSED] alloc_size_vmalloc_const_test
      [15:18:59] [SKIPPED] alloc_size_vmalloc_dynamic_test
      [15:18:59] [PASSED] alloc_size_kvmalloc_const_test
      [15:18:59] [SKIPPED] alloc_size_kvmalloc_dynamic_test
      [15:18:59] [PASSED] alloc_size_devm_kmalloc_const_test
      [15:18:59] [SKIPPED] alloc_size_devm_kmalloc_dynamic_test
      [15:18:59] ===================== [PASSED] fortify =====================
      [15:18:59] ============================================================
      [15:18:59] Testing complete. Ran 10 tests: passed: 6, skipped: 4
      [15:18:59] Elapsed time: 11.965s total, 0.002s configuring, 10.540s building, 1.068s running
      
      Cc: David Gow <davidgow@google.com>
      Cc: linux-hardening@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      9124a264
Loading