Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1467014
| From | Willy Tarreau <w@1wt.eu> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 3.10 170/180] ubi: Fix race condition between ubi device creation and udev |
| Date | 2016-08-21 17:40 +0200 |
| Message-ID | <s8D0S-26R-51@gated-at.bofh.it> (permalink) |
| References | <s8D0R-26R-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Iosif Harutyunov <iharutyunov@SonicWALL.com> 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. Cc: <stable@vger.kernel.org> Signed-off-by: Iosif Harutyunov <iharutyunov@sonicwall.com> [rw: massaged commit message] Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Willy Tarreau <w@1wt.eu> --- 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 a561335..03331c1 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -997,6 +997,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; @@ -1041,7 +1044,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; @@ -1052,6 +1054,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.8.0.rc2.1.gbe9624a
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH 3.10 170/180] ubi: Fix race condition between ubi device creation and udev Willy Tarreau <w@1wt.eu> - 2016-08-21 17:40 +0200
csiph-web