/linux/Documentation/dev-tools/ |
H A D | kcsan.rst | 7 The Kernel Concurrency Sanitizer (KCSAN) is a dynamic race detector, which 27 A typical data race report looks like this:: 30 BUG: KCSAN: data-race in test_kernel_read / test_kernel_write 52 the race. It is followed by the access types and stack traces of the 2 threads 53 involved in the data race. If KCSAN also observed a value change, the observed 56 The other less common type of data race report looks like this:: 59 BUG: KCSAN: data-race in test_kernel_rmw_array+0x71/0xd0 61 race at unknown origin, with read to 0xffffffffc009bdb0 of 8 bytes by task 515 on cpu 2: 75 racing thread, but a race was inferred due to the data value of the watched 85 It may be desirable to disable data race detection for specific accesses, [all …]
|
/linux/lib/ |
H A D | Kconfig.kcsan | 14 bool "KCSAN: dynamic data race detector" 21 data-race detector that relies on compile-time instrumentation. 51 external functions on report generation; if a race report is 70 various race scenarios, and verifies the reports generated to 131 results in more aggressive race detection, whereas a larger value 155 int "Duration in milliseconds, in which any given race is only reported once" 158 Any given race is only reported once in the defined time window. 173 conflicting access is of unknown origin. This type of race is 174 reported if it was only possible to infer a race due to a data value 178 bool "Strict data-race checking" [all …]
|
H A D | rcuref.c | 37 * scheme, but the destruction race described below cannot be prevented 72 * The actual race is possible due to the unconditional increment and 102 * Deconstruction race 144 * Race conditions 149 * the occasional race vs. a dead or already saturated refcount into
|
/linux/tools/memory-model/ |
H A D | linux-kernel.cat | 202 let pre-race = ext & ((Plain * M) | ((M \ IW) * Plain)) 205 let wr-incoh = pre-race & rf & rw-xbstar^-1 206 let rw-incoh = pre-race & fr & wr-vis^-1 207 let ww-incoh = pre-race & co & ww-vis^-1 212 let ww-race = (pre-race & co) \ ww-nonrace 213 let wr-race = (pre-race & (co? ; rf)) \ wr-vis \ rw-xbstar^-1 214 let rw-race = (pre-race & fr) \ rw-xbstar 216 flag ~empty (ww-race | wr-race | rw-race) as data-race
|
/linux/kernel/kcsan/ |
H A D | kcsan.h | 55 * Total number of ASSERT failures due to races. If the observed race is 104 * race, depending on preferences. 109 * Did not observe a value-change, and it is invalid to report the race. 114 * The value was observed to change, and the race should be reported. 136 * No other thread was observed to race with the access, but the data value 137 * before and after the stall differs. Reports a race of "unknown origin".
|
H A D | report.c | 78 * The last time the race was reported. 115 * Checks if the race identified by thread frames frame1 and frame2 has 131 /* Check if a matching race report exists. */ in rate_limit_report() 155 /* Reported recently, check if race matches. */ in rate_limit_report() 261 return (type & KCSAN_ACCESS_ASSERT) != 0 ? "assert: race" : "data-race"; in get_bug_type() 462 pr_err("race at unknown origin, with %s to 0x%px of %zu bytes by %s on cpu %i:\n", in print_report() 525 * race with a task on the same CPU (KCSAN_INTERRUPT_WATCHER), provide a in set_other_info_task_blocking()
|
H A D | permissive.h | 35 * Data race ignore rules based on access type and value change patterns. 78 * reportable data race elsewhere. in kcsan_ignore_data_race()
|
/linux/rust/kernel/ |
H A D | page.rs | 103 /// still the same for these purposes (e.g., it's still a data race if they both write to the in with_page_mapped() 144 /// still the same for these purposes (e.g., it's still a data race if they both write to the in with_pointer_into_page() 173 /// * Callers must ensure that this call does not race with a write to the same page that in read_raw() 181 // There caller guarantees that there is no data race. 195 /// * Callers must ensure that this call does not race with a read or write to the same page in write_raw() 202 // There caller guarantees that there is no data race. 215 /// Callers must ensure that this call does not race with a read or write to the same page that in fill_zero_raw() 222 // There caller guarantees that there is no data race. 238 /// Callers must ensure that this call does not race with a read or write to the same page that in copy_from_user_slice_raw()
|
/linux/Documentation/driver-api/firmware/ |
H A D | direct-fs-lookup.rst | 22 a race is possible with loading the driver and the real rootfs not yet being 23 available. Stuffing the firmware into initramfs resolves this race issue, 24 however note that using initrd does not suffice to address the same race.
|
/linux/drivers/md/ |
H A D | dm-builtin.c | 12 * The release method suffers from module unload race. We may prevent the 18 * If this code were placed in the dm module, the following race may 40 * In order to fix this module unload race, we place the release method
|
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | recalc_apic_map_test.c | 3 * Test edge cases and race conditions in kvm_recalculate_apic_map(). 21 static void *race(void *arg) in race() function 60 TEST_ASSERT_EQ(pthread_create(&thread, NULL, race, vcpus[0]), 0); in main()
|
/linux/tools/memory-model/Documentation/ |
H A D | access-marking.txt | 20 2. Data-race marking, for example, "data_race(a = b);" 43 Therefore, if a given access is involved in an intentional data race, 52 race with one of data_race(), READ_ONCE(), or WRITE_ONCE(), will prevent 104 that the resulting data race was intentional. 114 in a retry. Unless the race condition that resulted in the bogus value 128 that the resulting data race was intentional. 149 that the resulting data race was intentional. 165 because KCSAN will have no way of knowing that the resulting data race 540 Checking Stress-Test Race Coverage 543 When designing stress tests it is important to ensure that race conditions [all …]
|
H A D | explanation.txt | 2231 program executes, there will not be any data races. A "data race" 2247 are "race candidates" if they satisfy 1 - 4. Thus, whether or not two 2248 race candidates actually do race in a given execution depends on 2251 The LKMM tries to determine whether a program contains race candidates 2253 a potential data race and makes no predictions about the program's 2256 Determining whether two accesses are race candidates is easy; you can 2366 limitations. For one, it is not allowed to introduce a data race into 2368 race (if it could, memory models would be useless and no multithreaded 2423 This program does not contain a data race. Although the U and V 2424 accesses are race candidates, the LKMM can prove they are not [all …]
|
/linux/tools/memory-model/scripts/ |
H A D | judgelitmus.sh | 8 # "DATARACE" marker in the "Result:" comment or a "Flag data-race" marker 56 if grep -q '^Flag data-race$' "$LKMM_DESTDIR/$litmusout" 69 echo '!!! Predicted data race not modeled' $litmus 74 echo '!!! Unexpected data race modeled' $litmus
|
/linux/Documentation/translations/zh_CN/dev-tools/ |
H A D | kcsan.rst | 33 BUG: KCSAN: data-race in test_kernel_read / test_kernel_write 61 BUG: KCSAN: data-race in test_kernel_rmw_array+0x71/0xd0 63 race at unknown origin, with read to 0xffffffffc009bdb0 of 8 bytes by task 515 on cpu 2: 260 x = 1; // data race! 266 ... = x; // data race!
|
/linux/include/asm-generic/bitops/ |
H A D | instrumented-non-atomic.h | 93 * This operation is non-atomic. If two instances of this operation race, one 108 * This operation is non-atomic. If two instances of this operation race, one 123 * This operation is non-atomic. If two instances of this operation race, one
|
/linux/Documentation/filesystems/ |
H A D | hpfs.rst | 239 Fixed a race-condition when write_inode is called while deleting file 243 Rewritten locking to avoid race-conditions 296 Fixed a possible bitmap race 302 Fixed a nondestructive race in rename 325 Fixed race-condition in buffer code - it is in all filesystems in Linux; 332 Fixed non-crashing race in unlink (Alexander Viro)
|
/linux/tools/testing/selftests/powerpc/pmu/ebb/ |
H A D | lost_exception_test.c | 55 * We are trying to get the EBB exception to race exactly with in test_body() 65 /* Change the sample period slightly to try and hit the race */ in test_body()
|
/linux/kernel/locking/ |
H A D | ww_rt_mutex.c | 21 * race and wound us here, since they can't have a valid owner in ww_mutex_trylock() 53 * race and wound us here, since they can't have a valid owner in __ww_rt_mutex_lock()
|
/linux/drivers/hid/ |
H A D | hid-glorious.c | 3 * USB HID driver for Glorious PC Gaming Race 18 MODULE_DESCRIPTION("HID driver for Glorious PC Gaming Race mice");
|
/linux/Documentation/input/devices/ |
H A D | bcm5974.rst | 39 USB Race 43 different interfaces of the same usb device. This creates a race condition
|
/linux/tools/sched_ext/ |
H A D | scx_flatcg.c | 199 printf("HWT cache:%6llu update:%6llu skip:%6llu race:%6llu\n", in main() 204 printf("ENQ skip:%6llu race:%6llu\n", in main() 212 printf("PNC next:%6llu empty:%6llu nocgrp:%6llu gone:%6llu race:%6llu fail:%6llu\n", in main()
|
/linux/drivers/gpu/drm/ci/xfails/ |
H A D | virtio_gpu-none-fails.txt | 141 kms_flip@dpms-vs-vblank-race,Fail 142 kms_flip@dpms-vs-vblank-race-interruptible,Fail 151 kms_flip@modeset-vs-vblank-race,Fail 152 kms_flip@modeset-vs-vblank-race-interruptible,Fail
|
/linux/tools/include/asm-generic/bitops/ |
H A D | non-atomic.h | 58 * If two examples of this operation race, one can appear to succeed 78 * If two examples of this operation race, one can appear to succeed
|
/linux/drivers/gpu/drm/i915/ |
H A D | i915_file_private.h | 49 * race conditions we'd really rather avoid. 83 * Otherwise, writers may race with finalize_create_context_locked().
|