Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Ingo writes:
"locking fixes:

A fix in the ww_mutex self-test that produces a scary splat, plus an
updates to the maintained-filed patters in MAINTAINER."

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
locking/ww_mutex: Fix runtime warning in the WW mutex selftest
MAINTAINERS: Remove dead path from LOCKING PRIMITIVES entry

+6 -5
-1
MAINTAINERS
··· 8599 8599 F: arch/*/include/asm/spinlock*.h 8600 8600 F: include/linux/rwlock*.h 8601 8601 F: include/linux/mutex*.h 8602 - F: arch/*/include/asm/mutex*.h 8603 8602 F: include/linux/rwsem*.h 8604 8603 F: arch/*/include/asm/rwsem.h 8605 8604 F: include/linux/seqlock.h
+6 -4
kernel/locking/test-ww_mutex.c
··· 260 260 { 261 261 struct test_cycle *cycle = container_of(work, typeof(*cycle), work); 262 262 struct ww_acquire_ctx ctx; 263 - int err; 263 + int err, erra = 0; 264 264 265 265 ww_acquire_init(&ctx, &ww_class); 266 266 ww_mutex_lock(&cycle->a_mutex, &ctx); ··· 270 270 271 271 err = ww_mutex_lock(cycle->b_mutex, &ctx); 272 272 if (err == -EDEADLK) { 273 + err = 0; 273 274 ww_mutex_unlock(&cycle->a_mutex); 274 275 ww_mutex_lock_slow(cycle->b_mutex, &ctx); 275 - err = ww_mutex_lock(&cycle->a_mutex, &ctx); 276 + erra = ww_mutex_lock(&cycle->a_mutex, &ctx); 276 277 } 277 278 278 279 if (!err) 279 280 ww_mutex_unlock(cycle->b_mutex); 280 - ww_mutex_unlock(&cycle->a_mutex); 281 + if (!erra) 282 + ww_mutex_unlock(&cycle->a_mutex); 281 283 ww_acquire_fini(&ctx); 282 284 283 - cycle->result = err; 285 + cycle->result = err ?: erra; 284 286 } 285 287 286 288 static int __test_cycle(unsigned int nthreads)