/srv/irclogs.ubuntu.com/2017/08/02/#ubuntu-devel.txt

fossfreedom_hi all - anyone around who can have a look at a couple of patches I'm proposing on behalf of Ubuntu Budgie please? https://bugs.launchpad.net/ubuntu/+source/gnome-desktop3/+bug/170369009:53
ubottuLaunchpad bug 1703690 in gnome-screensaver (Ubuntu) "Add support for Budgie Desktop using GNOME Screensaver" [Undecided,In progress]09:53
tsimonq2sil2100: Hi there, I've fixed bug 1641912, if you could take a look again, that would be wonderful. :)10:24
ubottubug 1641912 in gtk+2.0 (Ubuntu Zesty) "Please backport two recent-manager patches" [Critical,In progress] https://launchpad.net/bugs/164191210:24
sil2100tsimonq2: sure thing! Looking much better now, should be able to take care of this in around ~15 minutes10:25
tsimonq2sil2100: Excellent :)10:25
LaibschCan a kind soul please help me understand what is going on in bug 991471?  I don't know udisks2 enough and it seems at least I have another disk monitoring daemon running somehow (udev-based?)12:08
ubottubug 991471 in udisks2 (Ubuntu) "multi-device btrfs filesystem automatically mounted once for each device" [Medium,Confirmed] https://launchpad.net/bugs/99147112:08
smoserbdrung_work, http://paste.ubuntu.com/25226575/ <-- that is probably enough to get you what you're after13:36
smoserit doesnt do the download for you, but gets you probably what you're after before downloading.13:36
bdrung_workthat's a good starting point13:44
popeycyphermox or xnox can you help with hanging ubiquity hanging on my laptop while booted from ubuntu 17.10 usb stick to upgrade 16.04 install.14:15
popeyIt seems to have hung during "Removing conflicting operating system files", and isn't doing anything14:15
popeyhttp://paste.ubuntu.com/25226720/ - copy and pasted that out of the ubiquity window14:15
xnoxpopey, we don't really support "upgrade with ubiquity" path. But I am assuming you are testing things, and found a bug, which we may be able to fix.14:29
xnoxcurrently supported paths are for 16.04 -> 17.04 upgrade + upgrade from 17.04->devel(17.10)14:30
popeyif we dont support it, we should remove it14:30
xnoxwe will support it from 16.04->18.0414:30
popeyoh, okay14:30
popeyi see14:30
xnoxjust not _during_ devel.14:30
popeyok, I'll nuke it then.14:30
xnoxpopey, but most likely you found something we will need to fix.14:30
popeywhat debug info do i need to file for the bug report?14:30
xnoxpopey, could you first dump the logs for me?14:31
popeysure thing14:31
xnoxpopey, either $ ubuntu-bug ubiquity -> whilst that is running or copy/attach/publish14:31
xnox/var/log/* /var/log/installer/*14:31
xnoxfrom the live system, and/or the installed system.14:31
popeydoing14:31
xnoxtah14:33
xnoxpopey, also that log is very helpful. I'm drowning in the snapd and gtk pointless messages without seeing anything useful *sigh*14:34
xnoxit smells like a lot of things are emitting loads of warnings, no idea if any are actually relevant / critical.14:34
xnoxor as in caused the failure you have.14:34
popeythe "send problem report to the developers" seems to be taking an age14:35
popeyhaha, it's waiting for me, but has a mouse spinner making me think it's busy :)14:40
popeylulz14:40
xnoxpopey, we try hard for people to give up submitting bug reports?! =)14:43
popeyxnox: bug 1708182 - anything you need before I nuke this laptop?14:46
ubottubug 1708182 in ubiquity (Ubuntu) "Ubiquity hung when upgrading to artful from 16.04" [Undecided,New] https://launchpad.net/bugs/170818214:46
cyphermoxcould this be some upgrade of GLib breaking things hard?14:47
cyphermoxoh, but no, nevermind14:47
cyphermoxupgrading from a live CD there should be no reason for whatever happens on the target filesystem to hang ubiquity.14:49
popeyso it's not hung in the process-locked-up sense, but hung in the its-doing-nothing sense14:50
cyphermoxok14:52
cyphermoxeven so, seems to me like it's mostly just a replace-files job (when you simplify things to the spherical cows level) and you're running things in an unaffected environment14:53
cyphermoxpopey: I'll look at your bug later :)14:53
popeyok, any more logs you think you mihght need, or does the bug have it all?14:53
cyphermoxoh, that's interesting14:55
cyphermoxit's hung much earlier than I expected14:55
cyphermoxpopey: I think it has all I need14:57
bdmurraytjaalton: What does this mean? https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati-hwe-16.04/+bug/1707884/comments/714:57
ubottuLaunchpad bug 1707884 in xserver-xorg-video-ati-hwe-16.04 (Ubuntu) "GTK3 tooltips are corrupted after latest update" [High,Confirmed]14:57
cyphermoxpartman blew up for some reason14:57
ograso not in the in the "grep -q popey /target/etc/passwd && sleep 1000000000" ?14:58
ogra:)14:58
popeymy password is neopi :รพ14:58
ogratouche !14:59
popeycyphermox: ok, thanks. nuke time! :D15:02
* cyphermox replaces that popey grep with ogra next15:02
ogra:P15:02
naccxnox: fyi, i see why the open-iscsi tests are failing, it's actually because of the systemd change (open-iscsi won't start unless it needs to now (condition failed for there being configured iscsi nodes)), working on a fix for it15:25
naccsmoser: --^15:25
bdmurraytjaalton: I suspect the real problem is you haven't created an apport package hook for xserver-xorg-video-ati-hwe-16.04 this would live in xdiagnose not apport.15:27
smosernacc, cool thank you.15:27
jbichais it ok if I merge base-files from Debian?15:38
jbichaI want to get the MPLs in common-licenses and I suppose deriving from buster is more accurate now too15:38
infinityjbicha: It's not a trivial merge.  I have it on my TODO for later this week.15:38
jbichaok, thanks15:39
xnoxstgraber, tyhicks, pitti: https://github.com/systemd/systemd/issues/6519 systemd-journald-audit.socket comes up degraded in the default lxd container on ubuntu. It fails at bind() with EPERM due to apparmor deny from the host. Systemd already does mariad of checks and is sensitive to having audit capability (such lxd container does) and ability to open audit socket (also passes as ok).16:45
xnoxshould something filter out audit capability for the guest?16:45
xnoxshould apparmor deny _opening_ the fd?16:45
xnoxmy naive attempt to add ConditionVirtualization=!private-users -> meaning do not start systemd-jounrnald-audit.socket got reverted upstream, as this is not a user-namespace issue per-se.16:46
tjaaltonbdmurray: yep, i'll fix that for xenial, and prpbably move the apport stuff from xdiagnose to xorg16:47
xnoxhere systemd checks for EPERM to open a NETLINK_AUDIT socket https://github.com/systemd/systemd/blob/master/src/basic/audit-util.c#L8816:47
xnoxmaybe jdstrand ^^^^^16:48
stgraberxnox: so, right now root in an unprivileged container can't access the audit log. But audit namespacing is being worked on and this will eventually work, so dropping the capability or denying it at the apparmor level seems wrong to me.16:48
xnoxright. but is it reasonable to get EPERM on bind() instead of earlier on fd creation with socket()? what good is an audit socket fd, which one will not be able to bind()?16:50
stgraberyou'd have to ask whoever wrote the kernel code for that :)16:51
xnoxROLF16:52
xnoxis it kernel that is giving me EPERM, or apparmor. I got the impression it is apparmor.16:53
xnox(and I guess /first/ as in without apparmor, kernel would have EPERMed the bind too)16:53
stgrabershould be the kernel, I don't think we restrict any of the socket stuff for containers16:54
stgraberlxc config set container-name raw.lxc lxc.aa_profile=unconfined && lxc restart container-name16:54
stgraberthat way you won't have apparmor applied at all16:54
xnoxnspawn does seccomp filter of NETLINK_AUDIT.16:54
xnoxI have a lot of16:54
xnox[2957842.913010] audit: type=1400 audit(1501692226.648:2259): apparmor="DENIED" operation="file_lock" profile="lxd-normal_</var/lib/lxd>" pid=13199 comm="(t-daemon)" family="unix" sock_type="dgram" protocol=0 addr=none16:54
xnoxbut i have no idea if this is related or not.16:54
xnoxoh, actually red herring - wrong sock_type, no? audit sockets should netlink sock_type or some such?!16:55
stgraberhmm, that looks like apparmor being a bit confused indeed, but shouldn't be related since that's family=unix16:55
xnoxstgraber, hypothetically something unpriviledged could open audit socket, pass it to something priviledged, for the priviledged to bind it.16:59
xnoxbut it sounds so wrong for something priviledged, to be binding something unpriviledged. Sounds like a great backdoor.16:59
xnoxstgraber, so i'm guessing if i say "please seccomp filter-out audit socket in lxd by default because of this one silly cosmetic issue with one thing?" you will simply say "no?" right?17:00
xnoxcause i'm inclined to simply carry the patch ConditionVirtualisation=!private-users in the distro for now, to not start audit socket in containers.17:01
xnoxdespite it being rejected upstream.17:02
stgraberxnox: yeah, also, liblxc doesn't yet have argument filtering for seccomp, so we'd need to write more code in liblxc, get a new lxc release out, then have that be used in lxd. distro patching the unit seems easier :)17:07
stgraberxnox: we could take the approach that people don't need audit in LXD containers and drop the 3 audit caps which would fix it too, but again, once audit namespacing lands, we'd have to revert and then things will work or break depending on your kernel version, so not ideal17:07
xnoxstgraber, i think there is more to that, as i think when audit namespacing lands, systemd/journald will too need to learn stuff about audit namespaces potentially17:15
xnoxbut the host, can never know if something inside is new or old.17:15
xnoxmeh.17:15
stgraberthe patchsets I've seen so far wouldn't require any special knowledge from systemd in the container17:15
stgraberjournald on the host could be extended to know what namespace an audit entry came from too (but not required)17:16
xnoxack.17:16
xnoxso hypothetically 16.04 with hwe kernel from 18.04 things would just work(tm)17:17
xnoxso ideally I need a check for "i am namespaced, i am not privileged, i have _no_ audit namespace"17:17
stgraberassuming it's in the 18.04 kernel, yes. audit namespacing has been going very slowly :)17:17
xnoxis the audit namespace already known?17:17
xnoxi guess it will be "audit" subsys_name in cgroups?! right.17:18
xnox/proc/cgroups17:18
stgrabernope, it's going to be a namespace, not a cgroup17:18
stgraberit "may" end up having its own entry in /proc/self/ns/ but right now it looks like it'd just be tied to the user namespace, so the only way to detect support would be to see if you get EPERM17:19
xnoxle sigh17:20
stgraberI don't suppose there's a way to tell systemd to just try to do its thing and if it gets EPERM to give up without considering it a full blown failure? (anything but EPERM should be considered a failure obviously)17:20
stgraberthat's the logic we have in a bunch of places now (oom adj score, sysctl, ...)17:20
xnoxfor a socket unit, failing to bind, given the whole point of socket activation, sounds like a non-ignorable thing to do.17:20
xnoxi guess i could exetend the socket.unit with FailBind=ignore17:20
xnoxor something17:20
xnoxor I could add a Condition binary that tries to open & bind quickly. and that way condition would fail and the unit will not be started.17:21
xnoxyeah [Socket] supports ExecStartPre17:24
xnoxhuh, but that would still fail the unit.17:25
xnoxstgraber, in the kernel it does: if (!capable(CAP_AUDIT_READ)) return -EPERM17:43
* xnox head desk17:43
xnoxwhat's the point of capabilities, if they are declared as being there, yet there is no way to know if they are actually available or not.17:44
stgraberxnox: right, capable(CAP_AUDIT_READ) is the same as ns_capable(CAP_AUDIT_READ, 0), so checks against the initial namespace. If the check was done against the container's user namespace, then it would have the capability.17:52
* xnox ponders if i can move it from audit_bind() to audit_net_init() instead. har har. in the kernel.18:02
xnoxstgraber, is there a way to test, from userspace, against the initial namespace somehow? systemd reads /proc/self/status and read the CapBnd: off there18:08
stgraberhallyn: ^18:09
xnoxas in test if i do have un-user-namespaced capability or not.18:10
hallynxnox: not exactly.  but you can parse /proc/self/uid_map - if you're not in the initial ns then you have no caps against the initial ns18:11
hallynso if it looks like '0     100000      65536' then you have no global caps18:12
xnoxand if it lookslike '0 0 4294967295' i do?18:12
xnoxwhat does uid_map mean?18:12
stgraberxnox: oh and that wouldn't actually help you with the audit namespace as once it's there, you still won't have the cap against the initial ns, it's just that the in-kernel check will now check against your userns cap set rather than init ns cap set18:12
* xnox will look for documentation on its format.18:12
hallynxnox: right.  uid_map means "container_uid host_uid range",18:13
hallynsee 'man subuid'18:13
xnoxack thanks.18:13
hallyn\o18:13
xnoxstgraber, i am expecting that kernel will change from capable -> ns_capable when audit namespace is implemented.18:13
stgraberxnox: right, which will be entirely invisible from userspace18:14
stgraberxnox: except that you will now be able to bind()18:14
xnoxstgraber, i'm trying to add code in systemd, such that ConditionCapability=CAP_AUDIT_READ at the moment also requires initial ns.18:14
xnoxstgraber, i'm trying to add code in systemd, such that ConditionCapability=CAP_AUDIT_READ at the moment also requires initial user ns.18:14
xnoxalternatively, send patch to kernel to _move_ the capable check from bind() to init(), and I believe from reading linux source code should make the EPERM return on socket(), rather than on bind() or connect()18:15
xnoxhm, yeah doesn't help18:16
xnoxif i mimic kernel check in systemd, i will not magically get everything working when the kernel changes, sigh.18:16
xnoxbasically systemd should bind, and be done with it.18:17
jdstrandxnox: in order to talk to the audit subsystem, you probably need 'network netlink ...'. that log message is a unix socket. I'm not sure what it is connecting to18:19
jdstrandprobably 'network netlink raw,'18:22
jdstrand(that is what useradd needed (it uses libaudit))18:22
xnoxjdstrand, is there a quick check if there is anything like that, in apparmor denies for unprivileged lxd vs privileged one? at the moment I am assuming that I'm not getting an apparmor deny, and it's simply just the kernel giving me an EPERM upon bind().18:25
xnoxi will look for useradd profiles, and check lxd profiles.18:25
xnoxso never mind.18:25
xnox(low priority)18:25
jdstrandxnox: you should see a denial in the kernel log if it is apparmor. you probably want to sudo sysctl -w kernel.printk_ratelimit=018:26
jdstrandxnox: and the log would be very clear if it is a netlink denial. that said, DAC is evaluated first so if you aren't root (or have sufficient caps) and trying to access NETLINK_AUDIT, then the kernel will give you EPERM. iirc, apparmor normally gives EACCES, but not sure for networking18:29
jdstrandso, everything in backscroll suggests DAC, not apparmor18:30
jdstrand(well, except the unix denial, which would need to be investigated)18:30
tyhicksjdstrand: thanks for taking a look18:31
xnoxi am on the verge of my comfort zone. but i understand everything that was said so far =)18:34
xnoxand things match source code of linux/systemd so far. will check apparmor configs etc next.18:34
=== JanC is now known as Guest87139
=== JanC_ is now known as JanC
=== masACC is now known as maswan

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!