[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <b683c6acfdc293120cc53c48169293e01c6f6615.1471589700.git.jslaby@suse.cz>
Date: Fri, 19 Aug 2016 09:11:36 +0200
From: Jiri Slaby <jslaby@...e.cz>
To: stable@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Iosif Harutyunov <iharutyunov@...icWALL.com>,
Iosif Harutyunov <iharutyunov@...icwall.com>,
Richard Weinberger <richard@....at>,
Jiri Slaby <jslaby@...e.cz>
Subject: [PATCH 3.12 097/100] ubi: Fix race condition between ubi device creation and udev
From: Iosif Harutyunov <iharutyunov@...icWALL.com>
3.12-stable review patch. If anyone has any objections, please let me know.
===============
commit 714fb87e8bc05ff78255afc0dca981e8c5242785 upstream.
Install the UBI device object before we arm sysfs.
Otherwise udev tries to read sysfs attributes before UBI is ready and
udev rules will not match.
Signed-off-by: Iosif Harutyunov <iharutyunov@...icwall.com>
[rw: massaged commit message]
Signed-off-by: Richard Weinberger <richard@....at>
Signed-off-by: Jiri Slaby <jslaby@...e.cz>
---
drivers/mtd/ubi/build.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 315dcc6ec1f5..9b89f3dd112c 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -998,6 +998,9 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
goto out_detach;
}
+ /* Make device "available" before it becomes accessible via sysfs */
+ ubi_devices[ubi_num] = ubi;
+
err = uif_init(ubi, &ref);
if (err)
goto out_detach;
@@ -1042,7 +1045,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
wake_up_process(ubi->bgt_thread);
spin_unlock(&ubi->wl_lock);
- ubi_devices[ubi_num] = ubi;
ubi_notify_all(ubi, UBI_VOLUME_ADDED, NULL);
return ubi_num;
@@ -1053,6 +1055,7 @@ out_uif:
ubi_assert(ref);
uif_close(ubi);
out_detach:
+ ubi_devices[ubi_num] = NULL;
ubi_wl_close(ubi);
ubi_free_internal_volumes(ubi);
vfree(ubi->vtbl);
--
2.9.3
Powered by blists - more mailing lists