diff options
| author | Michal Marek <mmarek@suse.cz> | 2014-01-02 14:02:06 +0100 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2014-01-02 14:02:06 +0100 |
| commit | 37e2c2a775fc887acd1432908478dfd532f7f00f (patch) | |
| tree | e51ebc699d8e262fd47e0913be6a711cb1a7b565 /include/linux/slab.h | |
| parent | 1c8ddae09f4c102b97c9086cc70347e89468a547 (diff) | |
| parent | 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (diff) | |
| download | lwn-37e2c2a775fc887acd1432908478dfd532f7f00f.tar.gz lwn-37e2c2a775fc887acd1432908478dfd532f7f00f.zip | |
Merge commit v3.13-rc1 into kbuild/misc
Diffstat (limited to 'include/linux/slab.h')
| -rw-r--r-- | include/linux/slab.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h index 74f105847d13..c2bba248fa63 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -53,7 +53,14 @@ * } * rcu_read_unlock(); * - * See also the comment on struct slab_rcu in mm/slab.c. + * This is useful if we need to approach a kernel structure obliquely, + * from its address obtained without the usual locking. We can lock + * the structure to stabilize it and check it's still at the given address, + * only if we can be sure that the memory has not been meanwhile reused + * for some other kind of object (which our subsystem's lock might corrupt). + * + * rcu_read_lock before reading the address, then rcu_read_unlock after + * taking the spinlock within the structure expected at that address. */ #define SLAB_DESTROY_BY_RCU 0x00080000UL /* Defer freeing slabs to RCU */ #define SLAB_MEM_SPREAD 0x00100000UL /* Spread some memory over cpuset */ |
