[Bug 1012504] New: Under "Repository Management", when adding a local ISO image, making any change prior to exiting YaST produces an error
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504 Bug ID: 1012504 Summary: Under "Repository Management", when adding a local ISO image, making any change prior to exiting YaST produces an error Classification: openSUSE Product: openSUSE Distribution Version: Leap 42.1 Hardware: All OS: openSUSE 42.1 Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 Assignee: yast2-maintainers@suse.de Reporter: antoine.mechelynck@gmail.com QA Contact: jsrain@suse.com Found By: Community User Blocker: --- Steps to reproduce (with openSUSE 42.1 installed and running) 1. Download the Leap 42.2 ISO image (I downloaded it to /boot/iso/openSUSE-Leap-42.2-DVD-x86_64.iso but of course you may decide to put it elsewhere) 2. Start YAST Repository Management 3. Click [Add] then (*) Local ISO Image 4. Enter the path/filename you used at step 1, type in a suitable "name" (I used "Leap-42.2-DVD") into the other box, then click [Next] 5. Accept the license. -----> The DVD is added to your displayed list of repositories, with enabled=yes, refresh=no, priority=99 DOES NOT WORK ------------- 6. Try to untick "Enabled" on the newly added repo, then [OK] -----> Error: Cannot check that the file is mounted WORKS ----- 6. Click OK with NO changes. (The ISO image is successfully added, and Repository Management exits.) 7. zypper mr -d Leap-42.2-DVD; zypper nr Leap-42.2-DVD 42.2-DVD; zypper lr NOW (as shown in the list) the new ISO image is "known but disabled" until such time as you are ready to upgrade (maybe by zypper dup if you feel confident about how to use it). As icing on the cake, it has also received a shorter alias for use with zypper. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c1
--- Comment #1 from Tony Mechelynck
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c3
Tony Mechelynck
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c10
--- Comment #10 from Tony Mechelynck
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c11
Stanislav Brabec
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c12
--- Comment #12 from Tony Mechelynck
Tony Mechelynck: There are two bugs.
One in util-linux libmount that appears if two loop devices are initialized with the same file, and -oloop=/dev/loop? is used.
Second bug is in kernel, and appears if two loop devices are initialized with the same file with btrfs image, and different subvolumes are mounted per each one.
YaST experiences the first bug.
Thanks for the info. In the meantime (see comment #0) the workaround is to exit YaST Repository Management _immediately_ after adding the ISO image, with no changes to the defaults; then if changes are desired compared to the default settings, they can be made in an ulterior run of zypper or YaST. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c13
--- Comment #13 from Stanislav Brabec
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c14
--- Comment #14 from Tony Mechelynck
There are two possible fixes:
- Add a heuristic for detecting of safe conditions for read-only loops overlays, by extension of loopcxt_find_overlap() return codes. (Hopefully it is not part of public API.) I am now checking how complicated it would be.
- YaST level: Make simple changes in the code that prevent requesting of overlaying loop devices.
IIUC, doing both of these two possible fixes wouldn't be hurtful, just redundant. Since (IIUC) the second one is simpler (but wouldn't fix any possible similar error in other programs) why not do it immediately, then see how complicated the other heuristic would be? Then if the full fix seems feasible, and gets applied and successfully tested, the YaST fix may either be removed as unnecessary, or even left in as a "belt and suspenders" additional safety measure. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c15
--- Comment #15 from Stanislav Brabec
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c16
--- Comment #16 from Stanislav Brabec
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c22
--- Comment #22 from Tony Mechelynck
openSUSE-SU-2017:0589-1: An update that solves one vulnerability and has 6 fixes is now available.
Category: security (important) Bug References: 1008965,1012504,1012632,1019332,1020077,1020985,1023041 CVE References: CVE-2017-2616 Sources used: openSUSE Leap 42.2 (src): python-libmount-2.28-10.2, util-linux-2.28-10.1, util-linux-systemd-2.28-10.1
IIUC, this fix has been available for some time as patch 6436 on the 42.2 Update-Test repository. python-libmount is not installed here but YaST tells me I could get version 2.28-10.2 from Update-Test (and lower versions from OSS and Update-OSS). The other two are installed with the versions shown. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c23
--- Comment #23 from Stanislav Brabec
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c24
--- Comment #24 from Tony Mechelynck
util-linux is inherited from SLE 12 SPx to Leap 42.x. Not sure how it goes in Testing repository. (SLE release process requires longer time, as all packages has to pass tests on all platforms.)
The changes references this bug, but in fact I am not sure, whether it is already fixed.
I suppose that it fixes at least part of the bug.
There is still a regression (see comment 13; well, not exactly regression, it just still does not allow some strange things that can be safely allowed). And I am not sure, whether Repository Management worked in a safe way. (If it did not, change in YaST will be required.)
In the meantime, see the workaround described under "WORKS" in comment #0.
When time permits, I can check possibility to allow two conflicting read only loop devices without complicating the code.
:-) -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com