Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca388059 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds
Browse files

md: lock address when changing attributes of component devices

parent c5d79adb
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -2075,12 +2075,18 @@ rdev_attr_store(struct kobject *kobj, struct attribute *attr,
{
	struct rdev_sysfs_entry *entry = container_of(attr, struct rdev_sysfs_entry, attr);
	mdk_rdev_t *rdev = container_of(kobj, mdk_rdev_t, kobj);
	int rv;

	if (!entry->store)
		return -EIO;
	if (!capable(CAP_SYS_ADMIN))
		return -EACCES;
	return entry->store(rdev, page, length);
	rv = mddev_lock(rdev->mddev);
	if (!rv) {
		rv = entry->store(rdev, page, length);
		mddev_unlock(rdev->mddev);
	}
	return rv;
}

static void rdev_free(struct kobject *ko)