diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-07-12 23:16:22 +0200 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-07-16 13:04:33 +0200 |
commit | 83292e0a9c3f1c326b28fbf8cb70a8ce81a98163 (patch) | |
tree | 38794e806ba5fe8d10234c5c24a4efa22180c05c /include/asm-sparc64/vio.h | |
parent | [SPARC64]: Abstract out mdesc accesses for better MD update handling. (diff) | |
download | linux-83292e0a9c3f1c326b28fbf8cb70a8ce81a98163.tar.xz linux-83292e0a9c3f1c326b28fbf8cb70a8ce81a98163.zip |
[SPARC64]: Fix MD property lifetime bugs.
Property values cannot be referenced outside of
mdesc_grab()/mdesc_release() pairs. The only major
offender was the VIO bus layer, easily fixed.
Add some commentary to mdesc.h describing these rules.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/vio.h')
-rw-r--r-- | include/asm-sparc64/vio.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-sparc64/vio.h b/include/asm-sparc64/vio.h index a8a53e6fc250..83c96422e9d6 100644 --- a/include/asm-sparc64/vio.h +++ b/include/asm-sparc64/vio.h @@ -264,12 +264,15 @@ static inline u32 vio_dring_avail(struct vio_dring_state *dr, ((dr->prod - dr->cons) & (ring_size - 1))); } +#define VIO_MAX_TYPE_LEN 64 +#define VIO_MAX_COMPAT_LEN 64 + struct vio_dev { u64 mp; struct device_node *dp; - const char *type; - const char *compat; + char type[VIO_MAX_TYPE_LEN]; + char compat[VIO_MAX_COMPAT_LEN]; int compat_len; unsigned long channel_id; |