2008-01-08 08:46:56

by Alexey Dobriyan

[permalink] [raw]
Subject: [PATCH 4/4] Fixup container_of() usage

Using "attr" twice is not OK, because it effectively prohibits such
container_of() on variables not named "attr".

Signed-off-by: Alexey Dobriyan <[email protected]>
---

arch/sh/kernel/cpu/sh4/sq.c | 2 +-
drivers/lguest/lguest_device.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -263,7 +263,7 @@ struct sq_sysfs_attr {
ssize_t (*store)(const char *buf, size_t count);
};

-#define to_sq_sysfs_attr(attr) container_of(attr, struct sq_sysfs_attr, attr)
+#define to_sq_sysfs_attr(a) container_of(a, struct sq_sysfs_attr, attr)

static ssize_t sq_sysfs_show(struct kobject *kobj, struct attribute *attr,
char *buf)
--- a/drivers/lguest/lguest_device.c
+++ b/drivers/lguest/lguest_device.c
@@ -47,7 +47,7 @@ struct lguest_device {
/* Since the virtio infrastructure hands us a pointer to the virtio_device all
* the time, it helps to have a curt macro to get a pointer to the struct
* lguest_device it's enclosed in. */
-#define to_lgdev(vdev) container_of(vdev, struct lguest_device, vdev)
+#define to_lgdev(vd) container_of(vd, struct lguest_device, vdev)

/*D:130
* Device configurations


2008-01-08 10:41:22

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH 4/4] Fixup container_of() usage

On Tuesday 08 January 2008 19:46:29 Alexey Dobriyan wrote:
> Using "attr" twice is not OK, because it effectively prohibits such
> container_of() on variables not named "attr".
>
> Signed-off-by: Alexey Dobriyan <[email protected]>

Thanks, nice catch. Took me a while to understand that you meant "you can't
use to_sq_sysfs_attr() on a variable not named attr".

Acked-by: Rusty Russell <[email protected]>