mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH] [0/11] SYSCTL: Use RCU to avoid races with string sysctls
@ 2009-12-21  7:57 Alexey Dobriyan
  2009-12-21 10:50 ` Andi Kleen
  0 siblings, 1 reply; 7+ messages in thread
From: Alexey Dobriyan @ 2009-12-21  7:57 UTC (permalink / raw)
  To: andi; +Cc: linux-kernel, ebiederm, paulmck

> new = alloc_rcu_string(MAX_GLOBAL_SIZE, GFP_KERNEL);

I think adding failure mode is not right.
We can get away with per-sysctl-string spinlock and not introduce yet
another API.

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [PATCH] [0/11] SYSCTL: Use RCU to avoid races with string sysctls
@ 2009-12-21  1:20 Andi Kleen
  2009-12-21  1:59 ` Eric W. Biederman
  0 siblings, 1 reply; 7+ messages in thread
From: Andi Kleen @ 2009-12-21  1:20 UTC (permalink / raw)
  To: linux-kernel, paulmck, ebiederm


With BKL-less sysctls most of the writable string sysctls are racy. There
is no locking on the reader side, so a reader could see an inconsistent
string or worse miss the terminating null and walk of beyond it.

This patch kit adds a new "rcu string" variant to avoid these 
problems and convers the racy users. One the writer side the strings are 
always copied to new memory and the readers use rcu_read_lock()
to get a stable view. For readers who access the string over
sleeps the reader copies the string. 

This is all hidden in a new generic "rcu_string" ADT which can be also 
used for other purposes.

This finally implements all the letters in RCU, most other users
leave out the 'C'.

I also fixed the zone order list sysctl to use a mutex to avoid
racing with itself. 

I left some obscure users in architectures (sparc, mips) alone and audited
all of the others. The sparc reboot_cmd one has references to asm files
which I didn't want to touch and the mips variant seemd just too obscure.

All the others are not racy.

-Andi

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-12-21 10:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-21  7:57 [PATCH] [0/11] SYSCTL: Use RCU to avoid races with string sysctls Alexey Dobriyan
2009-12-21 10:50 ` Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2009-12-21  1:20 Andi Kleen
2009-12-21  1:59 ` Eric W. Biederman
2009-12-21  2:04   ` Andi Kleen
2009-12-21  2:31     ` Eric W. Biederman
2009-12-21  3:21       ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome