|
|
Subscribe / Log in / New account

Recently posted comments

Rethinking race-free process signaling

Posted Apr 7, 2019 19:31 UTC (Sun) by jkowalski (guest, #131304)
In reply to: Rethinking race-free process signaling by luto
Parent article: Rethinking race-free process signaling

... which is why if you want to do this with pidfds, you really want CAP_KILL on part of the opener (or cloning entity) in the owning userns.

You could also make it available to things with NNP set, and when cloning children, the PRIV_KILL, then pass it around, send signals. These all checks happen when the flag is used during pidfd_open or clonefd or whatever.

Do you see other cases where it could be a problem?


Rethinking race-free process signaling

Posted Apr 7, 2019 18:19 UTC (Sun) by quotemstr (subscriber, #45331)
In reply to: Rethinking race-free process signaling by meuh
Parent article: Rethinking race-free process signaling

Besides, SCM_RIGHTS doesn't "copy" anything. It's pass-by-reference, not pass-by-value.


Rethinking race-free process signaling

Posted Apr 7, 2019 16:12 UTC (Sun) by luto (guest, #39314)
In reply to: Rethinking race-free process signaling by jkowalski
Parent article: Rethinking race-free process signaling

Capabilities to do things to processes are a great model, and they make sense on Windows, L4-like microkernels, and many other systems. They’re rather busted on POSIX, though, since a process can execute a setuid program or an LSM-labeled program can gain privilege.


The Debian project leader election

Posted Apr 7, 2019 15:57 UTC (Sun) by jschrod (subscriber, #1646)
In reply to: The Debian project leader election by MTecknology
Parent article: The Debian project leader election

Sorry, but could you please explain why you ascribe your comments about Daniel Pocok's DPL rants to Norbert Preining?

AFAIK, the latter didn't run for DPL, did he?

And, btw, as you recommended to nix in another post, I searched through the first two pages of Google search results. No corresponding hits.

Best,
Joachim


Defining "sustainable" for an open-source project

Posted Apr 7, 2019 13:50 UTC (Sun) by ezechiel (guest, #131327)
In reply to: Defining "sustainable" for an open-source project by nilsmeyer
Parent article: Defining "sustainable" for an open-source project

Tidelift seems to be doing just that, you give one subscription and list your dependencies. Their Libraries.io has helped me make more informed decisions on including opensource projects in my work as well.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 7, 2019 13:41 UTC (Sun) by oak (guest, #2786)
In reply to: Schaller: Preparing for Fedora Workstation 30 by Ranguvar
Parent article: Schaller: Preparing for Fedora Workstation 30

What kind of libva load error?

For some reason X connection is sometimes used to check which DRI device driver should use, although in Multi GPU setups GPU used for 3D / display isn’t necessarily the correct one to use for video. It should be straightforward for driver to check directly which of the GPUs it actually supports, but no...

With FFmpeg one can specify the device with -vaapi_device (and with -qsv_device when using QuickSync backend).

Another reason for error could be trying to load wrong libva backend or load it from wrong place. That isn’t Wayland issue either.


Rethinking race-free process signaling

Posted Apr 7, 2019 13:24 UTC (Sun) by geuder (subscriber, #62854)
Parent article: Rethinking race-free process signaling

When building my Yocto image from scratch on my 8 core 16 thread machine PIDs used to wrap around ~100 times during an hour. While I have never explicitly noticed any technical race condition the human race condition was annoying. During debugging I assume that a process with a smaller pid has started first when searching for the root cause of problem. Yocto appends the pid to the names of it log files. With the pids wrapping around so fast, they basically had zero value.

Some what resistingly I changed pid_max to 999999 some months ago. With the 15 bit limit in use for decades I expected something to break. But luckily I have not observed any breakage (although I'm ready to believe those who say they have seen broken SW). Only (command line) user friendliness has suffered a bit. Most of the pids are 6 digits to remember. But hey, that's what I wanted...

It's indeed strange that the 15 bit limit has lived for so long. On the other hand in desktop usage and probably also in many server cases the process creation rate has not increased that drastically as many other performance parameters during the last 20 years.

It can't harm if the kernel hackers fix this issue in any case.When thinking about pid namespaces and mount namespaces involved we can just hope it doesn't get too complicated to be usable in real life...


Rethinking race-free process signaling

Posted Apr 7, 2019 10:42 UTC (Sun) by meuh (guest, #22042)
In reply to: Rethinking race-free process signaling by jkowalski
Parent article: Rethinking race-free process signaling

The whole reparent on fd-passing however is broken. There can be multiple processes keeping it open at a time.
I agree: through fork(), exec(), and SCM_RIGHTS, file descriptor can be duplicated in many processes.


Rethinking race-free process signaling

Posted Apr 7, 2019 10:40 UTC (Sun) by meuh (guest, #22042)
In reply to: Rethinking race-free process signaling by thiago
Parent article: Rethinking race-free process signaling

The problem we faced then was exactly the problem of reparenting when the file descriptor is passed onwards via AF_UNIX.
I think file descriptor sent through SCM_RIGHT should not imply reparenting process to the reader, just like file descriptor inherited through fork() don't imply reparenting process to the newly created one. The semantic of those operations is "copy" ... but "copying" parent relationship doesn't make sense for me: in Unix a process can only have a single parent.


The return of the lockdown patches

Posted Apr 7, 2019 5:48 UTC (Sun) by thestinger (guest, #91827)
In reply to: The return of the lockdown patches by mjg59
Parent article: The return of the lockdown patches

Similarly though, what is the point of secure boot if you can boot an arbitrary userspace, including init and the entirety of the high level security model? An attacker can have full access to all user / application data, full control over everything that's displayed on screen, audio, etc. The kernel just sits there waiting for userspace to ask it to do something for it. A raw Linux kernel without a userspace doesn't actually provide anything to a user. If the attacker has compromised the entirety of userspace, what is there left to defend? They cannot persist with kernel privileges, but they can persist with real uncontained root privileges able to do everything they want outside of the kernel.

If a user decides to format the drive / reinstall the OS in order to get rid of the attacker's persistence, this doesn't help with that, since the kernel is going to be replaced as part of that. At least with incomplete verified boot for only firmware, it's eliminating a form of stealthy attacker persistence where formatting / replacing the drive doesn't purge them presence. I don't think that replacing userspace without touching the kernel is a normal thing to do though, especially if even the initramfs is not verified, so an attacker can still persist via the boot partition alone. If everything in that partition is verified, then at least it reduced what needs to be replaced to purge an attacker from the system, although I just don't see it as reasonable to find an infection and then replace only userspace, since they are usually strongly paired together and there's no disadvantage to doing both at once.

You mention above that an implementation going much further like in Android means it isn't a general purpose computing device anymore, but how is this different? You can turn off verified boot on a Pixel just as you can turn off this feature, and right here is an example of a real world, common use case that is being wiped out in the name of security. I am a big fan of verified boot and attestation and I'm fully in support of having those aggressively implemented for nearly every use case, but I just don't see the gains coming with the loss of control in this case.

Even when people do try to submit code upstream, it's often blocked for arbitrary reasons. For example, an open source kernel driver won't be accepted if there isn't an open source userspace library for using it, and there are often very arbitrary blockers for other things.

So, consider if lockdown wasn't automatically enabled by rather was a sysctl toggled by early userspace, which was verified? And what if it wasn't so coarse, but rather more fine-grained, so that you can expose something to part of the userspace TCB while disabling it everywhere (i.e. like using SELinux). What is the distinction in terms of threat model between the kernel and core userspace processes like init? What does attacker gain by compromising the kernel in terms of harm to the user that they can't by compromising all of userspace? The only thought that comes to mind is the kernel can theoretically defend hardware that is known to be broken from them, but in practice I don't see the Linux kernel actually acting as a gatekeeper in terms of disabling access to hardware until it receives firmware updates fixing the vulnerabilities if that's even possible.


The return of the lockdown patches

Posted Apr 7, 2019 5:29 UTC (Sun) by thestinger (guest, #91827)
In reply to: The return of the lockdown patches by thestinger
Parent article: The return of the lockdown patches

s/meaningful secure boot model /meaningless secure boot model/


The return of the lockdown patches

Posted Apr 7, 2019 5:28 UTC (Sun) by thestinger (guest, #91827)
In reply to: The return of the lockdown patches by thestinger
Parent article: The return of the lockdown patches

Similarly, having firmware including the early boot chain verified with downgrade protection and no way to bypass it (without finding a vulnerability) is standard and doesn't mean it isn't a general purpose computer. Chaining along the trust all the way until init and a base set of processes providing enough high level semantics to enforce something meaningful doesn't make it not general purpose computing. Kernel vs. userspace is an implementation detail. It isn't what matters to end users or any of the high level semantics. The Linux kernel can be running in the userspace of another OS.

There needs to be a clear threat model and purpose behind a security feature for it to be useful. I would say the threat model for Android verified boot is preventing an attacker from persisting access after a compromise in a way that preserves the privileges needed to access data of arbitrary apps, etc. It also prevents them from persisting past the user doing a factory reset as a secondary thing. Users can wipe via recovery or safe mode boot even if the attacker persists as an accessibility service, device manager and all the other privileges accessible to normal apps. It also preserves enough of the application layer integrity for apps to chain from it with attestation, which is still fragile, but it's improving. So, for example, in https://github.com/GrapheneOS/Auditor I can chain trust from the OS in a way that allows meaningfully providing data from the OS about which device managers are enabled, etc. in a way that an attacker can't bypass without a verified boot bypass or re-exploitation of the OS on the next boot. The hardware attestation provides the OS version and patch level so they can't stealthily hold back updates to keep the OS vulnerable to their re-exploitation if a patch is shipped.

All I'm trying to say is that I don't think the boundary being drawn in this precise way as a hard-wired policy makes sense without it enforcing meaningful security properties / defending against a defined threat. It doesn't mean there's not a lot of useful work as part of it, I just don't think the way it's grouped together into coarse, hard-wired high level policies makes sense. I fully support most of the individual pieces of it, but I think it needs to be exposed differently, and without what I think is a meaningful secure boot model as the entire purpose of it.


The return of the lockdown patches

Posted Apr 7, 2019 5:19 UTC (Sun) by thestinger (guest, #91827)
In reply to: The return of the lockdown patches by mjg59
Parent article: The return of the lockdown patches

> Android verifies the base OS, but applications have leeway to run a great deal of native code.

Sure, although the ability to run native code from outside an apk dynamically is going to continue fading away (at least outside isolated_app) and that isn't part of the verified boot security model. It also really doesn't matter if the code is native. It's about reducing trust in persistent state to enforce meaningful security properties. It doesn't matter if the attacker can't inject native code if they can use interpreted code with the same privileges, or other trusted state allowing themselves to get to that point. The security model for verified boot is preventing an attacking from persisting with privileges beyond what a normal sandboxed app can do which preserves the OS security model including protecting apps from each other. It also enforces that a factory reset will purge the attacker's persistence, since that's implemented by wiping userdata. It's quite useful, and apps can chain the trust to themselves with the hardware-based key attestation feature in order to provide application-level security based on the verified boot process. This is being further improved in Android Q with a new property for apps to improve the chaining of security.

> Android can constrain that through significant reduction in attack surface because it's not a general-purpose operating system - you don't need to worry about someone taking advantage of a userland vulnerability in code running as UID 0 and then kexec()ing into a new kernel with an autostarting app if you don't support kexec() in the first place.

It doesn't make any sense to claim that it isn't a general purpose OS because it has a separation between the base OS and third party code with sandboxing for all third party code. It has nothing to do with general purpose computing or a general purpose OS. Someone can just as easily claim that by implementing this lockdown feature you are making it into a non-general-purpose OS by taking away control over the kernel. It's an arbitrary distinction that you're making and people are certainly going to be unhappy with having this feature in place. It's extremely arbitrary and doesn't provide them real security. At least with Android verified boot, you get real security advantages out of it. You're still taking away control over the system when this feature is enabled, but without giving something back. You want to draw a line between the verified base OS, with integrity preserved afterwards, and the non-verified portion, but by drawing the line at the kernel it's unable to enforce meaningful security properties improving actual security. It's only an internal bureaucratic security boundary based on the internal organization of the OS. An attacker controlling the entirety of userspace i.e. completely uncontained real root with no security policies is already a complete loss. The kernel pretty much just serves the needs of userspace. What is the real world use case for the security boundary being drawn this way rather than via policy set up by init?

> The goal here is building infrastructure to allow you to have as secure a boundary between userland and the kernel as possible while still allowing for general purpose computing. At the moment there's no good way to include any userland tooling in the TCB while still maintaining the characteristics of a general purpose Linux distribution.

The kernel doesn't do anything useful without userspace though, and the general purpose computing argument is bogus. If you think verifying and preserving the integrity a small base OS including init takes that away, so does doing it for the kernel. General purpose computing is not about an implementation detail like this. Functionality being inside or outside the kernel is an implementation detail that ultimately doesn't matter to end users. If you think it stops being a general purpose OS when full user control at runtime after it's booted is taken away, you've already done that with this feature.

You need at least some of userspace to be verified so that something is actually being protected. As long as you at least verify the initramfs and load a standard set of SELinux policies there, your policies can be enforced, but it's still unlikely that it will have any use unless you actually verify more of userspace from there. Even Android's verified boot has narrow security goals.

Verified boot can be extended to including the kernel line and initramfs, and from there it can be extended to verifying even a small portion of userspace like init and an initial set of security policies loaded by init which can enforce this kind of boundary without hard-wiring all this policy in the kernel.


Rethinking race-free process signaling

Posted Apr 7, 2019 1:09 UTC (Sun) by stephen.pollei (subscriber, #125364)
In reply to: Rethinking race-free process signaling by smurf
Parent article: Rethinking race-free process signaling

I wonder why distributions don't set limits that work for at least 99% of people.
70% of people would be ok with max login of 3
95% of people would be ok with max login of 8
99% of people would be ok with max login of 13
70% of people should be ok with a max of 89 processes per login
95% of people should be ok with max of 144 processes per login
99% of people should be ok with max of 377 processes per login

4901 processes ought to be enough for most people.
If you raise pid_max to 99999 on small system and set these limits does it strongly reduce the issues?

Lager systems might need to increase pid_max further, and have bigger rlimits.

In either case it seems like it can mostly be solved with saner configuration.


Program names and "pollution"

Posted Apr 7, 2019 0:40 UTC (Sun) by tlw (guest, #31237)
Parent article: Program names and "pollution"

This is what GNU stow is for.


Program names and "pollution"

Posted Apr 7, 2019 0:13 UTC (Sun) by rossmohax (guest, #71829)
In reply to: Program names and "pollution" by kandreas
Parent article: Program names and "pollution"

deprecate gracefully by introducing startup delay of 10 seconds every major release


Working with UTF-8 in the kernel

Posted Apr 6, 2019 21:56 UTC (Sat) by foom (subscriber, #14868)
In reply to: Working with UTF-8 in the kernel by xtifr
Parent article: Working with UTF-8 in the kernel

> It will do case-folding based on the locale of the user who mounted the overlay.

But that behavior would be pretty awful -- which files you can access depending upon your current locale? There's a reason filesystems (including this ext4 proposal) store the mapping used when creating the filesystem...

> without *at least* a user-space proof-of-concept system.

Two have been mentioned already. Android has an overlay filesystem for local access, and samba implements it when exporting the filesystem over the network.


Rethinking race-free process signaling

Posted Apr 6, 2019 20:05 UTC (Sat) by zlynx (guest, #2285)
Parent article: Rethinking race-free process signaling

I have seen software broken by large PIDs. Arguably though they're just doing it wrong, especially in 2019.

There's no purpose in using "short" to store PIDs when we have "pid_t" and using "char[6]" as string storage for a PID has always been a pretty bad idea. The print formatting that assumes six columns is ugly but not dangerous, and apparently people just don't care, as "vmstat" has had broken column widths for at least ten years (block IO per second and memory sizes are much larger than vmstat originally designed for).


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 19:27 UTC (Sat) by marduk (subscriber, #3831)
In reply to: Schaller: Preparing for Fedora Workstation 30 by marduk
Parent article: Schaller: Preparing for Fedora Workstation 30

I think I know why I disabled it. In X11, if you turn off that option then it prevents you from bringing the window to the front just by clicking on something in the window. You have to click on the title bar. I turned off "raise-on-click" so that I can click on things in lower windows without bringing them to the front, but still be able to click on the title bar if I indeed wanted to bring it to the front. In Wayland that option seems to go away. It's all or nothing.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 14:22 UTC (Sat) by marduk (subscriber, #3831)
In reply to: Schaller: Preparing for Fedora Workstation 30 by mgedmin
Parent article: Schaller: Preparing for Fedora Workstation 30

Indeed, I created a new user an logged in though Wayland and when I switched to sloppy focus, the click-to-bring-to-front behavior worked. I tried disabling all extensions as my regular user but that did not fix the issue. Finally I searched dconf and found

/org/gnome/desktop/wm/preferences/raise-on-click

It was set to false (non-default value). I don't know how/when that got changed but setting it to default fixes my issue.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 14:13 UTC (Sat) by Conan_Kudo (subscriber, #103240)
In reply to: Schaller: Preparing for Fedora Workstation 30 by Uraeus
Parent article: Schaller: Preparing for Fedora Workstation 30

My understanding that Zoom will handle screen sharing on Wayland, but only with GNOME. At least my coworker using Zoom on Fedora Workstation 29 seems to be able to do it.

I use Fedora with KDE, so.... Xorg it is, because KDE's Wayland support is in a very poor state. 😭


The return of the lockdown patches

Posted Apr 6, 2019 12:28 UTC (Sat) by mjthayer (guest, #39183)
In reply to: The return of the lockdown patches by mjg59
Parent article: The return of the lockdown patches

Thanks for commenting.
1) That is the "doable but not ideal" solution I was talking about. I don't think we can get our main virtualisation code into the kernel, and if we can, probably not with less effort than just using KVM. Might be worth looking at our other components, especially networking, but it is the usual thing with small teams and spare developer time.
2) Yes, that definitely makes sense, if tying lockdown to secure boot turns out to be a long-term thing. Thank you.

For the rest, as long as there is no easier way of taking over the kernel than loading wicked modules, agree. Though given the way people love to stuff things into the kernel which could be done in user-space - with perhaps a bit more effort - I think that there will usually be other ways available with not much extra effort.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 8:50 UTC (Sat) by evad (subscriber, #60553)
In reply to: Schaller: Preparing for Fedora Workstation 30 by mgedmin
Parent article: Schaller: Preparing for Fedora Workstation 30

It is still happening on 3.32 so I doubt it is that bug :( Plus this is within one 'workspace'.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 7:08 UTC (Sat) by mgedmin (subscriber, #34497)
In reply to: Schaller: Preparing for Fedora Workstation 30 by marduk
Parent article: Schaller: Preparing for Fedora Workstation 30

This is very interesting, because the scenario you describe works fine for me! Maximized browser (Chromium, i.e. an Xorg app) in the backgound, gnome-terminal (i.e. a Wayland app) in the foreground, focus switching works fine as I mouse between them, Chromium gets raised when I click its title bar.

I've just tried this with Epiphany (a Wayland app) in the background, and it works too! I've no idea why it doesn't work for you -- I don't think there are any options that could tweak this. Bug? Some shell extension (I have only one -- Transparent OSD)?

The annoyances I spoke of were more of the sort where a new window appearing under the mouse cursor gains focus. I think focus should always stay where it is while I'm not moving the mouse pointer. (This is fun when the Alt-Tab dialog appears under the mouse pointer -- when it disappears, the window under the pointer gets focus instead of whatever window I selected with Alt-Tab.)


Automated payola

Posted Apr 6, 2019 6:17 UTC (Sat) by mbg (subscriber, #4940)
Parent article: Security quotes of the week

A captivating illustration of how automation can let your amorality operate on a grander scale.

No need to wonder why it's impossible to get useful restaurant recommendations these days.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 5:38 UTC (Sat) by marduk (subscriber, #3831)
In reply to: Schaller: Preparing for Fedora Workstation 30 by mgedmin
Parent article: Schaller: Preparing for Fedora Workstation 30

Like the current problem I have now, and perhaps this has more to do with GNOME Shell than Wayland, but I have a larger browser window in back of a smaller terminal window. Mousing over either window will put it in focus. This works with both X11 and Wayland. However in X I can click on the title bar of the browser window to bring it to the front. But this doesn't work with GNOME on Wayland. Instead I must Alt-Tab or use some other method.

Perhaps this is more of a feature than a bug but I much prefer the behavior of sloppy focus in X11.

Not related to sloppy focus, but another weird (annoying) thing that I haven't figured out is that when I start an app the icon doesn't immediately appear in the dock. It takes a few seconds (up to a minute) in Wayland. I'm using the "Dash to dock" extension, so perhaps this is a bug in the extension but, again, it works fine in X11.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 6, 2019 2:39 UTC (Sat) by gdamjan (subscriber, #33634)
Parent article: Schaller: Preparing for Fedora Workstation 30

I wonder what platforms does Silverblue support (plus, Atomic was a better name). I'd like to try it on my arm64 tablet with rk3399 soc.


Rethinking race-free process signaling

Posted Apr 5, 2019 21:49 UTC (Fri) by roc (subscriber, #30627)
In reply to: Rethinking race-free process signaling by Fowl
Parent article: Rethinking race-free process signaling

One use-case for pidfds that isn't just "avoid pid reuse" occurs in the rr debugger: the ability to `waitpid` on a selected subset of rr's ptraced processes.

When a traced process is killed by signal or `exit_group`, or does an `execve`, its threads exit in some unknown order. rr wants to clean them all up at once by `wait`ing for those specific threads but NOT receiving notifications for other threads it may be tracing. We currently have no way to do that. AIUI with pidfds we would be able to use, say, `poll` to wait for the exit notifications of a specific set of threads.

You might think we could handle`SIGCHLD` to know when notifications are pending for a traced thread, and use `waitpid` to grab the results for each traced thread after it exits, but that isn't reliable because multiple pending `SIGCHLD`s can be coalesced. Even with `signalfd` :-(.

This is a problem for libraries in general. If you have a library that wants to manage some child processes without interfering with other code (including on other threads) managing other child processes, that's really hard without pidfds.


Rethinking race-free process signaling

Posted Apr 5, 2019 20:24 UTC (Fri) by jkowalski (guest, #131304)
In reply to: Rethinking race-free process signaling by NYKevin
Parent article: Rethinking race-free process signaling

> So the only "interesting" functionality we would be adding via a pidfd-that-holds-a-PID-open is the ability to transfer stewardship of a possibly-zombie process to a new "owner"(via SCM_RIGHTS over an AF_UNIX socket, or via fd inheritance), but without changing its PPID.

You don't do anything like this really, you can actually set the process cloned using CLONE_PIDFD to deliver no signal to the parent on termination (by setting it to null), which means everyone having a copy of the same file descriptor can poll on it to know when it dies. That also means the process cannot be waited upon, which is what you want when you use this API from inside libraries.

It happens as a side effect of using descriptors, since the parent will get a readable instance (however it is still not clear to me this is something the patch author will support, here's to hoping that), it can pass a copy of its descriptor to others, then perhaps close it, and allow the other process to essentially poll on it, know when the process is gone, and get back the exit status.

The same could be done using references to external processes using pidfd_open, you pass a flag that requests the kernel to give you a readable instance, and if you're a real_parent or parent (as in ptrace terms), you get one. It also has the nice property of the mount namespace not being the one where you acquire pidfds, but limited to the scope of your PID namespace (which I think is a very important point that has been overlooked thus far).

Scoping the opening and adding a system call with extendable flags would allow you to lift checks in pidfd_send_signal to signall across namespaces, exactly because without userspace doing it on its own, a process can only open a pidfd to something it can address inside its PID namespace. It is otherwise a layering violation (literally) that I can use the mount namespace to circumvent this, if iy is opened up in the future. I also object to being able to peek into process state through such descriptors, that capability should be orthogonal, not bound to the pidfd, even if I have the authority to read through. *Therefore, using /proc dir fds comes with a big downside to all of this.*

The nice delegation model allows you to extend pidfd_open with, say, PRIV_KILL that allows you to bind CAP_KILL privs to a pidfd, assuming you have CAP_KILL in the owning userns, which would allow you to pass this pidfd and let the receiver signal across namespace boundaries without restrictions (it has to be opt-in as this is not what you want by default).

You could add a similar flag to bind ptrace privs of the opener, though that is a lot more involved and I have not mentioned it anywhere thus far.

Thus, you can think of the pidfd as a stable reference to the process, and such flags depending on the authority of the opener (if parent, readable, if CAP_KILL, killable, if CAP_SYS_PTRACE, ptraceable, etc) allow you to open up methods to operate on it, and since they are bound to the descriptor, it is limited in scope to the said process only. Such intent cannot be expressed when using /proc. It also does not play well with hidepid=2 (invisible dirs mean you cannot take a reference), and hidepid=1 (dirs you cannot enter mean you cannot reference threads you can see).

The whole reparent on fd-passing however is broken. There can be multiple processes keeping it open at a time.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 20:12 UTC (Fri) by mgedmin (subscriber, #34497)
In reply to: Schaller: Preparing for Fedora Workstation 30 by marduk
Parent article: Schaller: Preparing for Fedora Workstation 30

Could you elaborate?

I've used sloppy focus for many years, and I've switched to Wayland maybe a year or two ago. There are situations where it doesn't work the way I think it should work, but I think I remember them annoying me on X11 too?


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 20:10 UTC (Fri) by mgedmin (subscriber, #34497)
In reply to: Schaller: Preparing for Fedora Workstation 30 by evad
Parent article: Schaller: Preparing for Fedora Workstation 30

The focus issue sounds like https://gitlab.gnome.org/GNOME/gtk/issues/624, which was fixed only recently.

One regression from Xorg that remains and is personally annoying to me is middle-click on the title bar doesn't reliably lower windows. (It works for legacy Xorg apps using Xwayland; doesn't for native Wayland apps.)


Case-insensitive ext4

Posted Apr 5, 2019 20:01 UTC (Fri) by Wol (subscriber, #4433)
In reply to: Case-insensitive ext4 by flussence
Parent article: Case-insensitive ext4

I'd be inclined to copy the Windows trick, actually, where they have two file names.

Seeing as it seems it can only be activated on an empty directory, the i-nodes would have to have space for two entries - the canonical form and the user form. Any file-system access converts to canonical and searches on both, but a collision on the canonical name will take the appropriate behaviour.

That might also provide a way for switching a used directory to case-insensitive - the canonical field would start out empty, but writing to the directory would do a canonical search and return an error if there was a collision. Be a bit messy though possibly.

Cheers,
Wol


Rethinking race-free process signaling

Posted Apr 5, 2019 18:32 UTC (Fri) by pbonzini (subscriber, #60935)
In reply to: Rethinking race-free process signaling by jgg
Parent article: Rethinking race-free process signaling

It can double fork and when the parent exits the child is reparented to init (or to the subreaper if it exists). init is very quick at reaping zombies, and that can cause PID reuse.


Rethinking race-free process signaling

Posted Apr 5, 2019 16:40 UTC (Fri) by smurf (subscriber, #17840)
In reply to: Rethinking race-free process signaling by Cyberax
Parent article: Rethinking race-free process signaling

How is that different from just accumulating 32700 zombie child processes, which you can do right now anyway?


Rethinking race-free process signaling

Posted Apr 5, 2019 16:27 UTC (Fri) by thiago (guest, #85680)
In reply to: Rethinking race-free process signaling by NYKevin
Parent article: Rethinking race-free process signaling

When Josh and I first proposed the pidfd from clone (then called "clonefd") a few years ago, our objective had nothing to do with PID reuse, though we knew that issue. Our biggest problem was the inherent race conditions related to signal handling and the absolute impossibility of getting it right inside userspace libraries. So getting a file descriptor from clone() is an absolute necessity, as is the ability to select()/poll() on that file descriptor and get the information wait() would have given us. Configuring the child process not to send SIGCHLD is already part of the clone() API -- set the notification signal to 0.

The problem we faced then was exactly the problem of reparenting when the file descriptor is passed onwards via AF_UNIX. Especially when that is coupled with ptrace(), which appears to do a fake-reparenting to the tracer process. No one could explain to us back then what the issue was, so we couldn't fix and the matter was dropped.

Here's to hoping this feature is useful for userspace.


Linux Foundation Welcomes LVFS Project (Linux.com)

Posted Apr 5, 2019 15:29 UTC (Fri) by mgedmin (subscriber, #34497)
In reply to: Linux Foundation Welcomes LVFS Project (Linux.com) by hughsient
Parent article: Linux Foundation Welcomes LVFS Project (Linux.com)


Linux Foundation Welcomes LVFS Project (Linux.com)

Posted Apr 5, 2019 15:22 UTC (Fri) by hughsient (subscriber, #52199)
In reply to: Linux Foundation Welcomes LVFS Project (Linux.com) by mgedmin
Parent article: Linux Foundation Welcomes LVFS Project (Linux.com)

Can you file that as an issue here please: https://github.com/hughsie/lvfs-website/issues


Rethinking race-free process signaling

Posted Apr 5, 2019 14:58 UTC (Fri) by walters (subscriber, #7396)
Parent article: Rethinking race-free process signaling

Clearly we've been moving to a world where fds are the general way to refer to kernel objects, away from integer approach for PIDs.

However there's an interesting thing here...you still really want a "human readable" and persistent identifier. With regular files, fds are obviously retrieved via...file names.

But this proposal is adding no such equivalent - /proc/<pid> doesn't solve the problem because it uses integers.

Now one of the core innovations of systemd was using cgroups as a way to just *group* processes. That model has further extended into modern container systems - e.g. in the model popularized by Docker, a "container" is a grouping of an image with cgroups, namespaces etc. Put another way...no one using e.g. Kubernetes really ends up thinking in terms of pids - you `kubectl delete pod/X`.

Back to cgroups...I think we can push admins and userspace more to thinking in terms of the cgroups. What if our identifiers for processes were more like (cgroup ID, u64)? And we had a system call that took that pair? It'd greatly ameliorate issues with pid reuse - at least you'd never end up killing a process in another cgroup.

We'd have /usr/bin/kill httpd.service/42 or so.


Rethinking race-free process signaling

Posted Apr 5, 2019 14:54 UTC (Fri) by amarao (guest, #87073)
Parent article: Rethinking race-free process signaling

I understand the problem they want to solve, but I feel the whole 'reuse' is a core problem here. Let's for a second imagine reading article on 'UUID reuse'. Sounds creepy, isn't it?

The proper way would be to assure userspace that pids (process uuids, process atoms, you name it) are never reused for system lifetime. If you have id, it's guaranteed to be the ID.

Whole 'pid' thing sounds more like hotel room numbers instead of guest identity.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 14:02 UTC (Fri) by Ranguvar (subscriber, #56734)
Parent article: Schaller: Preparing for Fedora Workstation 30

For me the worst thing about Wayland - I use sway and Plasma both - is broken video decode acceleration in Chromium with Intel's VA-API (Intel UHD 620).

This is on Arch with latest packages, the same VA-API patchset for Chromium as Fedora uses I believe.

mpv works fine under Wayland with acceleration, but Chrome fails to load libva and reports errors under chrome://gpu Log Messages at the very bottom.


Rethinking race-free process signaling

Posted Apr 5, 2019 13:44 UTC (Fri) by mezcalero (subscriber, #45103)
In reply to: Rethinking race-free process signaling by corbet
Parent article: Rethinking race-free process signaling

Ah, indeed, I read 4 billion when you correctly wrote 4 million, and in my mind 2^32 formed. Ignore me then. Sorry for the confusion. Still weird though that this is capped at 2^22. (And the MAXINT reference is misleading still, as you couldn't set that without reworking the kernel substantially.)


Rethinking race-free process signaling

Posted Apr 5, 2019 13:15 UTC (Fri) by Villemoes (subscriber, #91911)
In reply to: Rethinking race-free process signaling by mezcalero
Parent article: Rethinking race-free process signaling

Yup, the robust futex implementation means one cannot use all 32 bits for a tid.

/*
* A maximum of 4 million PIDs should be enough for a while.
* [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.]
*/
#define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \
(sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))

though uapi/linux/futex.h seems to imply that the actual limit is 30 bits

/*
* The rest of the robust-futex field is for the TID:
*/
#define FUTEX_TID_MASK 0x3fffffff


Rethinking race-free process signaling

Posted Apr 5, 2019 13:05 UTC (Fri) by mjthayer (guest, #39183)
Parent article: Rethinking race-free process signaling

What about a system call to send a signal to a (pid, timestamp) pair, where the timestamp is for a time when the process in question was definitely known to be running?


Rethinking race-free process signaling

Posted Apr 5, 2019 13:03 UTC (Fri) by corbet (editor, #1)
In reply to: Rethinking race-free process signaling by mezcalero
Parent article: Rethinking race-free process signaling

That's the four million mentioned in the text; it is indeed explicitly capped at that size.


Rethinking race-free process signaling

Posted Apr 5, 2019 12:56 UTC (Fri) by jgg (subscriber, #55211)
In reply to: Rethinking race-free process signaling by NYKevin
Parent article: Rethinking race-free process signaling

I had the same feeling, what is the race here? clone -> zombie -> wait is the usual way UNIX has avoided races with PIDs. Is there some way the sub process can skip being zombie'd?


How to (not) fix a security flaw

Posted Apr 5, 2019 12:48 UTC (Fri) by ceplm (subscriber, #41334)
In reply to: How to (not) fix a security flaw by mebrown
Parent article: How to (not) fix a security flaw

Don't be racist! Besides, I really think it is more problem of idiotic management (as described above) than fault of one poor engineering sod, who might be force to write such disaster.


How to (not) fix a security flaw

Posted Apr 5, 2019 12:18 UTC (Fri) by dsommers (subscriber, #55274)
Parent article: How to (not) fix a security flaw

And now ponder on that CISCO acquired Duo Security in October 2018 ... https://duo.com/about/press/releases/cisco-completes-acqu...

... will that help CISCO understand security issues better, or reduce the security in Duo?

This issue is a good example why public peer-review makes sense. You can't hide behind anyone else; marketing pushing for a poor solution can be pushed back more vocally. Which is why security products shouldn't be proprietary with a closed source code.


How to (not) fix a security flaw

Posted Apr 5, 2019 11:56 UTC (Fri) by NAR (subscriber, #1313)
In reply to: How to (not) fix a security flaw by mebrown
Parent article: How to (not) fix a security flaw

My first idea too :-(


Rethinking race-free process signaling

Posted Apr 5, 2019 11:33 UTC (Fri) by mezcalero (subscriber, #45103)
Parent article: Rethinking race-free process signaling

The kernel.pid_max sysctl appears to be capped at 2^22, not at 2^31 or 2^32 as the text suggests. At least I couldn't write any value higher than 2^22 into it, without getting EINVAL.

Lennart


Working with UTF-8 in the kernel

Posted Apr 5, 2019 8:11 UTC (Fri) by dgm (subscriber, #49227)
In reply to: Working with UTF-8 in the kernel by dvdeug
Parent article: Working with UTF-8 in the kernel

> practical compatibility with other operating systems seems more important.

So Linux cannot exchange data with MacOS and Windows?! PANIC!

Or put another way: if I show you that less than 1% of the population really wants or needs a case-insensitive filesystem, can I disregard your claims?


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 7:12 UTC (Fri) by mageta (subscriber, #89696)
In reply to: Schaller: Preparing for Fedora Workstation 30 by SEJeff
Parent article: Schaller: Preparing for Fedora Workstation 30

No they don't, not from what I see around me in my workplace (which involves 300k+ employees).


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 5:56 UTC (Fri) by juhah (subscriber, #32930)
In reply to: Schaller: Preparing for Fedora Workstation 30 by josh
Parent article: Schaller: Preparing for Fedora Workstation 30

There are plenty of pure HTML5 web confrerencing solutions. And some come with source code and all:
https://jitsi.org/jitsi-meet/
https://about.riot.im/


Rethinking race-free process signaling

Posted Apr 5, 2019 4:24 UTC (Fri) by NYKevin (subscriber, #129325)
In reply to: Rethinking race-free process signaling by Fowl
Parent article: Rethinking race-free process signaling

You would still need a race-free way to acquire a pidfd, so the changes to clone() are still required at an absolute minimum. But if you're going to be handing out a pidfd-like-thing from clone(), then you don't have the original PID. So now you need an ioctl() to convert the pidfd back into a PID. Then, this would be just about as powerful, at the expense of consuming an extra PID slot until you close the fd, and at the expense of userspace needing to juggle two opaque integers instead of one. Both of those are mild drawbacks, but not necessarily fatal on their own; Linux already has issues with PID exhaustion and userspace already juggles lots of opaque kernel nonsense anyway.

But wait! If you want to prevent the PID from being reused, and you're the one calling clone() in the first place, all you have to do is *not* call wait(), and then the PID will zombify in an entirely race-free fashion. That doesn't require the use of a pidfd at all. So the only "interesting" functionality we would be adding via a pidfd-that-holds-a-PID-open is the ability to transfer stewardship of a possibly-zombie process to a new "owner"(via SCM_RIGHTS over an AF_UNIX socket, or via fd inheritance), but without changing its PPID. That is such a niche usage that I'm not certain it's actually helpful, especially since you can create a subreaper via prctl(), and thereby actually reparent the process as needed.

(TL;DR: Because then it wouldn't be complicated and/or "interesting" enough to be worth doing.)


How to (not) fix a security flaw

Posted Apr 5, 2019 4:12 UTC (Fri) by mebrown (subscriber, #7960)
In reply to: How to (not) fix a security flaw by sorokin
Parent article: How to (not) fix a security flaw

It was almost certainly some just-barely-out-of-college hire in India tasked with fixing this without any code review or oversight.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 5, 2019 3:45 UTC (Fri) by marduk (subscriber, #3831)
In reply to: Schaller: Preparing for Fedora Workstation 30 by evad
Parent article: Schaller: Preparing for Fedora Workstation 30

I have similar gripes with Wayland (sloppy focus still doesn't work the same way it does in X).


How to (not) fix a security flaw

Posted Apr 5, 2019 2:09 UTC (Fri) by sml (guest, #75391)
In reply to: How to (not) fix a security flaw by NYKevin
Parent article: How to (not) fix a security flaw

> 3. Somebody gets assigned the bug to "Block curl."
> 4. They protest that blocking curl is ridiculous and impractical. They get told that this is a mandate and they have to do it anyway. At no point is the word "security" used.
> 5. Engineer shrugs and codes a simple UA check, figuring that if the user is spoofing the UA, then blocking them is basically impossible anyway.

ugh this is too real...


Rethinking race-free process signaling

Posted Apr 5, 2019 1:45 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)
In reply to: Rethinking race-free process signaling by Fowl
Parent article: Rethinking race-free process signaling

Might be a DDoS vector. Even with the low 1024 file descriptor limit just 32 processes can eat up the whole default PID namespace.


Working with UTF-8 in the kernel

Posted Apr 5, 2019 1:24 UTC (Fri) by xtifr (guest, #143)
In reply to: Working with UTF-8 in the kernel by nim-nim
Parent article: Working with UTF-8 in the kernel

If the case-insensitive FS is a user-space overlay on an existing filesystem, then you don't *need* to guess anything. It will do case-folding based on the locale of the user who mounted the overlay.

This means *all* the overheads will truly need to be present only for those who actively *use* the system.

I honestly don't know how this is all going forward without *at least* a user-space proof-of-concept system.


Rethinking race-free process signaling

Posted Apr 5, 2019 0:24 UTC (Fri) by Fowl (subscriber, #65667)
Parent article: Rethinking race-free process signaling

Instead of creating a whole new set of syscalls that deal with PIDFDs, couldn't having an open PIDFD just prevent the PID from being reused? Then all the existing tools would "just work".


Rethinking race-free process signaling

Posted Apr 4, 2019 22:57 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
In reply to: Rethinking race-free process signaling by mathstuf
Parent article: Rethinking race-free process signaling

No, they read the sysctl setting. They probably can be broken if it changes when the program is launched, but nobody really does that.

I'm not saying that such a design is a good idea, it's just that I've seen it used.


Rethinking race-free process signaling

Posted Apr 4, 2019 22:52 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: Rethinking race-free process signaling by Cyberax
Parent article: Rethinking race-free process signaling

Aren't they already broken on systems with a raised sysctl setting?


Rethinking race-free process signaling

Posted Apr 4, 2019 22:33 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
Parent article: Rethinking race-free process signaling

I've seen software using bitmasks for processes. 4 million processes is just 512kb, bumping this by 1024 times might cause issues.


So CISCO is finally a recursive acronym now:

Posted Apr 4, 2019 21:35 UTC (Thu) by tglx (subscriber, #31301)
Parent article: How to (not) fix a security flaw

CISCO Internet Security through Curl Obfuscation


Bottomley: A Roadmap for Eliminating Patents in Open Source

Posted Apr 4, 2019 21:03 UTC (Thu) by marcH (subscriber, #57642)
In reply to: Bottomley: A Roadmap for Eliminating Patents in Open Source by cpitrat
Parent article: Bottomley: A Roadmap for Eliminating Patents in Open Source

Patent lawsuits involving big companies seem to always make it to the mainstream media because of the figures involved. Trolls aside, I don't remember any that wasn't initiated by some other, non-patent related conflict. That's why nuclear disuassion is a good analogy.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 20:25 UTC (Thu) by SEJeff (guest, #51588)
In reply to: Schaller: Preparing for Fedora Workstation 30 by josh
Parent article: Schaller: Preparing for Fedora Workstation 30


How to (not) fix a security flaw

Posted Apr 4, 2019 20:23 UTC (Thu) by mtaht (subscriber, #11087)
In reply to: How to (not) fix a security flaw by smurf
Parent article: How to (not) fix a security flaw

years and years after we wrote this in response to the FCC's attempt to lock down home routers,

http://fqcodel.bufferbloat.net/~d/fcc_saner_software_prac... still seems like the best option, for anyone that cares about security and reliability, which I wish multiple governments and corporations recognized.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 20:15 UTC (Thu) by evad (subscriber, #60553)
Parent article: Schaller: Preparing for Fedora Workstation 30

Thats great, I hope Zoom will eventually add support.

The main reason I stay on Xorg though is something much simpler: When I'm in a file manager, such as in nautlius, and I open a file in my IDE, I want the IDE to gain focus (so the IDE opens and appears on screen, or the IDE already being open appears on top). In wayland this doesn't work and I'm left in the file manager wondering why double clicking the file didn't work...before I realise it did open the file in the IDE, its just not in focus. :(


Bottomley: A Roadmap for Eliminating Patents in Open Source

Posted Apr 4, 2019 20:11 UTC (Thu) by cpitrat (subscriber, #116459)
In reply to: Bottomley: A Roadmap for Eliminating Patents in Open Source by marcH
Parent article: Bottomley: A Roadmap for Eliminating Patents in Open Source

What is said internally is not necessary true. A good datapoint would be actual law suits. Do big company attack other big companies? Do they attack small companies?


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 20:04 UTC (Thu) by josh (subscriber, #17465)
In reply to: Schaller: Preparing for Fedora Workstation 30 by SEJeff
Parent article: Schaller: Preparing for Fedora Workstation 30

I haven't found the HTML5 client, only a "web" client that pushes downloading a proprietary browser extension. Where is the HTML5 client?


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 20:03 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: Schaller: Preparing for Fedora Workstation 30 by SEJeff
Parent article: Schaller: Preparing for Fedora Workstation 30

Also very useful is the "hands up" feature to indicate having something to say rather than trying to get in edgewise. Still needs FIFO policy to be applied manually though, but it's an improvement.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 19:24 UTC (Thu) by SEJeff (guest, #51588)
In reply to: Schaller: Preparing for Fedora Workstation 30 by eru
Parent article: Schaller: Preparing for Fedora Workstation 30

A lot of webex users are switching to zoom, which works perfectly with a thick client or html5 client on windows/linux/os x. I was pleasantly surprised when it worked perfectly on my Fedora laptop.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 19:19 UTC (Thu) by eru (subscriber, #2753)
In reply to: Schaller: Preparing for Fedora Workstation 30 by Uraeus
Parent article: Schaller: Preparing for Fedora Workstation 30

Another common screen sharing app is Webex. In the company I work in, practically every meeting involves it. I wonder how it fares in Wayland land.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 19:02 UTC (Thu) by iabervon (subscriber, #722)
In reply to: Schaller: Preparing for Fedora Workstation 30 by Uraeus
Parent article: Schaller: Preparing for Fedora Workstation 30

It might be possible to have Skype run under an X server that doesn't have your other Wayland clients, but does have a window with what you're sharing via PipeWire.

Alternatively, it would be an amusing hack to tell Skype that you've got an extra camera that's actually PipeWire. That would probably be a surprising UI, but I'm not sure it wouldn't be nicer than screen sharing normally is.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 17:57 UTC (Thu) by Uraeus (guest, #33755)
In reply to: Schaller: Preparing for Fedora Workstation 30 by patrakov
Parent article: Schaller: Preparing for Fedora Workstation 30

Our ability to influence a closed source application like Skype is of course a lot more limited than projects like Firefox and Chrome where we can provide patches, but we will for sure try to reach out to Microsoft and see what can be done about Skype.


The return of the lockdown patches

Posted Apr 4, 2019 17:54 UTC (Thu) by mjg59 (subscriber, #23239)
In reply to: The return of the lockdown patches by mjthayer
Parent article: The return of the lockdown patches

1) Get the VirtualBox drivers upstream. It doesn't solve all your problems in the short term, but it reduces them. Alternatively, rearchitect Virtualbox to use KVM rather than its own hypervisor.
2) For guests - you control db, so inject a Virtualbox certificate into it from the host and then figure out a mechanism to sign the guest drivers (eg, by building and signing them yourself for all popular guest targets)

There's no real point in having secure boot enabled if you can load arbitrary drivers, so having users disable secure boot in order to load unsigned drivers is entirely aligned with the aim of the patches - the user has to actively acknowledge that they're disabling security functionality in order to achieve their goal. Users should definitely have the freedom to make that choice.


The return of the lockdown patches

Posted Apr 4, 2019 17:49 UTC (Thu) by mjg59 (subscriber, #23239)
In reply to: The return of the lockdown patches by thestinger
Parent article: The return of the lockdown patches

Android verifies the base OS, but applications have leeway to run a great deal of native code. Android can constrain that through significant reduction in attack surface because it's not a general-purpose operating system - you don't need to worry about someone taking advantage of a userland vulnerability in code running as UID 0 and then kexec()ing into a new kernel with an autostarting app if you don't support kexec() in the first place.

The goal here is building infrastructure to allow you to have as secure a boundary between userland and the kernel as possible while still allowing for general purpose computing. At the moment there's no good way to include any userland tooling in the TCB while still maintaining the characteristics of a general purpose Linux distribution.


How to (not) fix a security flaw

Posted Apr 4, 2019 17:29 UTC (Thu) by NYKevin (subscriber, #129325)
In reply to: How to (not) fix a security flaw by foom
Parent article: How to (not) fix a security flaw

Oh, but that stack of people is quite possibly the *reason* this was such a clusterfuck. It's like a game of telephone:

1. Somebody, probably in PR, gets told that "the software is vulnerable to an attack... here's an example using curl."
2. Over repeated rounds of transoceanic communication between PR and eng, this gradually mutates into "Our software must block curl."
3. Somebody gets assigned the bug to "Block curl."
4. They protest that blocking curl is ridiculous and impractical. They get told that this is a mandate and they have to do it anyway. At no point is the word "security" used.
5. Engineer shrugs and codes a simple UA check, figuring that if the user is spoofing the UA, then blocking them is basically impossible anyway.
6. QA confirms that curl is blocked.
7. PR is pleased to see that eng has "finally" "fixed" the "bug" and announces it.


Program names and "pollution"

Posted Apr 4, 2019 17:28 UTC (Thu) by zdzichu (subscriber, #17118)
In reply to: Program names and "pollution" by rfunk
Parent article: Program names and "pollution"

pgctl


Program names and "pollution"

Posted Apr 4, 2019 17:23 UTC (Thu) by perennialmind (guest, #45817)
In reply to: Program names and "pollution" by cortana
Parent article: Program names and "pollution"

Those people are already having to adapt. It's been deprecated in util-linux since util-linux v2.23, released in 2013 and hasn't been built by default since v2.29, released in 2016. After 2016, Debian, Ubuntu and Slackware were the outliers still shipping /usr/bin/pg. After Buster is releases as as Debian 10 this year, it'll just be Slackware.


How to (not) fix a security flaw

Posted Apr 4, 2019 17:23 UTC (Thu) by mm7323 (subscriber, #87386)
In reply to: How to (not) fix a security flaw by foom
Parent article: How to (not) fix a security flaw

Having worked with some ex-cisco software devs, this doesn't surprise me from their description of the development process.

It sounded like they had loads of devs churning out garbage to loads of QA teams who repeatedly knocked things back until enough 'quality' had been tested into the code that it could be released... QA looked good for finding lots of bugs, and development looked good for fixing them all quickly, even though it was the same junk going round and round.


Courtès: Connecting reproducible deployment to a long-term source code archive

Posted Apr 4, 2019 17:20 UTC (Thu) by mpr22 (subscriber, #60784)
In reply to: Courtès: Connecting reproducible deployment to a long-term source code archive by robbe
Parent article: Courtès: Connecting reproducible deployment to a long-term source code archive

As far as copypaste from both my browser's rendered view and my browser's View Source window go, the hex dump is 66 75 63 6b 2a 2a 2a 2a 0a.


Case-insensitive ext4

Posted Apr 4, 2019 17:09 UTC (Thu) by Wol (subscriber, #4433)
In reply to: Case-insensitive ext4 by Karellen
Parent article: Case-insensitive ext4

> Where would calls to open() be getting these correctly named but incorrectly capitalised/normalised filenames from?

The user, maybe?

What about the use case where I type in a name in a picker, and it displays a bunch of matches?

Or what about the case where I typed in the name on the command line? Some of us still use a command line, you know ...

Cheers,
Wol


Linux Foundation Welcomes LVFS Project (Linux.com)

Posted Apr 4, 2019 16:52 UTC (Thu) by kpfleming (subscriber, #23250)
In reply to: Linux Foundation Welcomes LVFS Project (Linux.com) by hughsient
Parent article: Linux Foundation Welcomes LVFS Project (Linux.com)

This will need to 'flow down', in some fashion, to tools which are consuming content from LVFS and making it available to users. In my case I'm running Fedora 29 on two Lenovo laptops, both of which receive firmware updates from LVFS, but that interaction is completely hidden from my view. The "GNOME Software" tool alerts me when a new firmware release has appeared and prompts me to install it; that's it.


Schaller: Preparing for Fedora Workstation 30

Posted Apr 4, 2019 16:51 UTC (Thu) by patrakov (subscriber, #97174)
Parent article: Schaller: Preparing for Fedora Workstation 30

Browsers are not enough. Please wake me up when Pipewire-based screen sharing starts working in Skype and Zoom. Until then, I will use Xorg.

Having said that, it's great that progress is made.


Chef becomes 100% free software

Posted Apr 4, 2019 16:45 UTC (Thu) by kpfleming (subscriber, #23250)
In reply to: Chef becomes 100% free software by kiko
Parent article: Chef becomes 100% free software

It is absolutely legal (within the bounds of the relevant copyright licenses) to distribute RHEL binaries.

Doing so may have a negative effect on your ability to obtain support service from Red Hat, though.


Program names and "pollution"

Posted Apr 4, 2019 16:42 UTC (Thu) by perennialmind (guest, #45817)
In reply to: Program names and "pollution" by cortana
Parent article: Program names and "pollution"

Well that's just awful. pg would otherwise be the obvious choice. It's certainly the first thing I'd try tabbing at the console. Actually, thinking back, I think I did exactly that years ago and was peeved to realize what I'd stepped in. Postgres deserves a two-letter namespace prefix. Thankfully most distros have cleared the stinking pile off the path long ago and Debian derivatives will soon.

Whatever anchor they choose, I'll add an alias of my own. pg createuser just feels right.


Courtès: Connecting reproducible deployment to a long-term source code archive

Posted Apr 4, 2019 15:34 UTC (Thu) by robbe (guest, #16131)
In reply to: Courtès: Connecting reproducible deployment to a long-term source code archive by cpitrat
Parent article: Courtès: Connecting reproducible deployment to a long-term source code archive

The u, c, and k characters were zero-width combining characters in the OP. Did your browser not show them correctly?

> I'm not sure you understood the purpose of the *

I've yet to meet someone who does. This looks like some pre-enlightenment practise where mentioning the name of a demon or deity conjures it.


The return of the lockdown patches

Posted Apr 4, 2019 14:41 UTC (Thu) by bluca (subscriber, #118303)
In reply to: The return of the lockdown patches by mjthayer
Parent article: The return of the lockdown patches

No, I'm just a user.


The return of the lockdown patches

Posted Apr 4, 2019 14:31 UTC (Thu) by mjthayer (guest, #39183)
In reply to: The return of the lockdown patches by bluca
Parent article: The return of the lockdown patches

Actually, looking at 0009-Add-support-for-UEFI-Secure-Boot-validation-toggling.patch it looks like something we could use. I suppose Ubuntu is important enough to justify duplicating a few lines of shell to get module signing working there. Out of interest, are you the author of that and/or update-secureboot-policy?


How to (not) fix a security flaw

Posted Apr 4, 2019 14:01 UTC (Thu) by smurf (subscriber, #17840)
In reply to: How to (not) fix a security flaw by pwfxq
Parent article: How to (not) fix a security flaw

*Usually*. "Another two months on, nearly six months after the original disclosure"… makes one wonder, though.

Yet another reason not to buy a router that can't be re-purposed with OpenWRT.



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds