Linux 3.17
kernelnewbies.org
kernelnewbies.org
Finally. Been waiting a while for this. The fact that Apple designed the hotplugging at the OS-level infuriated me for the longest time.
Intel was willing to certify Apple's devices, so clearly the specification doesn't actually require hot-plugging to be implemented in firmware. So I wonder what the author bases that assertion on.
Ah dang! I have an official Thunderbolt to Ethernet adapter on my MacBook Pro that won't be detected in windows 8.1 running in bootcamp* unless I reboot. And now I know why.
* The next Visual Studio looks NICE in high dpi.
On the flip side, if there's an issue with the protocol, it can be easily fixed with an OS update. Consider that in contrast with the recent USB security hoopla.
In fact all the USB security hoopla also affects Thunderbolt devices, which can also be reflashed without physically modification.
Thunderbolt is even less secure than firewire, which at least required some support from the OS to dump memory.
USB is an iron fortress compared to those kinds of attacks.
This is the big one for me. No more directly opening /dev/urandom on Linux and it works in chroot. When will Linux distros begin shipping this kernel?
Considering there isn't even a LTS kernel/system out with it coming anytime soon, I'd suggest you keep your fallback code to check `/dev/urandom`, even if FD exhaustion/chroots are a problem.
However, this isn't really for you. This is for your library; this is what arc4random() is meant to use. (Of course, the name is legacy, you should be using ChaCha20 in that.)
And yes, I understand the implications of what this exact system call is meant to do; explanation much appreciated nonetheless (clearly it could have mislead some people).
My only point is this system call is a step forward, and mitigates some known problematic attacks or edge cases - but nonetheless, we'll need adequate fallbacks for unsupported systems for many, many years to come in our libraries.
Thinking of it this way, I'm somewhat amazed Linux has gone this far /without/ this feature. If I had to hazard a guess, I'd say it was either A) never suggested, which I find unlikely, or B) your typical NIH/"this is nonsense and not needed" response you sometimes see to sane things in the Linux world (despite them implementing a thousand new things every two months, that only 5 people in the world could ever use, and inevitably will result in a handful of CVEs - their priorities are Serious Business, after all.) But maybe I'm just a cynic at this point.
Considering the recent BadUSB exploits that have come to light, is this really something we want? It just seems like the risk could outweigh the benefit.
The protocol uses port 3240 by default, and so you can disable it with a firewall at either end or in between. Though I think this really calls for an encrypted path and some sort of identification and authentication.
If it does end up being in the Big Two (Debian-flavored, RH-flavored) it really doesn't make sense for servers. If it was enabled by default this seems like something that you would need to do some sort of 'handshake' between to prevent someone from just mounting a USB device willy-nilly as they see fit. Complete speculation on my part though.
Anyway, in this situation, you would have one physical, bare-metal linux "usb dongle server", which then shares out its USB devices to one or more other linux VMs. After doing this, VMs can migrate between physical hosts without losing access to their license dongle.
There are purpose-built physical USB->IP devices out out there now, but they're quite expensive. This new functionality would allow admins to emulate this functionality for a fraction of the cost of a purpose-built device.
This had me excited, until I read the linked description and found that
> It’s also important to know that render-nodes are not bound to a specific card. While internally it’s created by the same driver as the legacy node, user-space should never assume any connection between a render-node and a legacy/mode-setting node. Instead, if user-space requires hardware-acceleration, it should open any node and use it
So my program opens a rendernode and it might run on the discrete GPU or it might run on some shitty integrated GPU. That's kind of useless.
Why is support for such thing needed by the kernel?
Also, why are there some things that my CPU can do (virtualization) that require kernel modules?
Isn't virtualization more important than an xbox controller?
Run shell command 'lsmod' to see all the modules you currently have loaded, and check out the .ko files under '/lib/modules' to see the modules provided.
Does this mean df will finally show the correct values for btrfs raid volumes? Does anyone know if the statfs() syscall is what df uses? There is no call to statfs() in the df source I found here [1].
Yes, it looks like df uses that:
# strace -e statfs df /tmp
statfs("/tmp", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=4128490, f_bfree=4084457, f_bavail=3874742, f_files=1048576, f_ffree=1048564, f_fsid={1972973117, 2058115910}, f_namelen=255, f_frsize=4096}) = 0
...===
This has been discussed in thread: http://thread.gmane.org/gmane.comp.file-systems.btrfs/32528
and this patch implements this proposal: http://thread.gmane.org/gmane.comp.file-systems.btrfs/32536
Works fine for "clean" raid profiles where the raid factor correction does the right job. Otherwise it's pessimistic and may show low space although there's still some left.
The df nubmers are lightly wrong in case of mixed block groups, but this is not a major usecase and can be addressed later.
The RAID56 numbers are wrong almost the same way as before and will be addressed separately.
===
I'm most interested in the deadlock fix which finally made it in. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....