4.8 merge window part 1
- The Storage, Filesystem, and
Memory-Management Summit held in April included an extensive debate over which of two
transparent huge-page cache patch sets should be merged. Both extend
transparent huge pages to file-backed memory and make the
tmpfs filesystem use it. The debate appears to be resolved,
as Kirill Shutemov's implementation was quietly merged via the -mm
tree for 4.8. This
commit contains the documentation changes that, among other
things, show how to control the use of huge pages with tmpfs.
- The kernel has a new formatted-documentation system, based on the Sphinx system. See this article for how this change came to
be, and this article for details on
how the new scheme works. Over time, the hope is, this change will
lead to better, more integrated kernel documentation.
- As usual, a lot has happened within the perf events subsystem; see
this
pull request for a detailed list.
- Some support code for the virtually mapped
kernel stacks feature has been merged, but the feature itself has
been deferred until 4.9 for further testing.
- The kernel address-space layout
randomization feature has been
extended on the x86_64 architecture; the range of randomization has
been increased, and more regions of kernel memory will have their
placement randomized. With luck, users will not notice anything
beyond a failure of exploit scripts to work as reliably as before.
- The NVMe-over-fabrics subsystem allows the kernel to export NVM Express
storage devices over networks and using protocols like RDMA.
- The device-mapper subsystem now supports direct access to underlying
persistent-memory devices via the DAX mechanism. The dm-raid target
has also seen a number of improvements, including support for
reshaping of arrays and device takeover.
- The new ACPI overlay mechanism allows the updating of ACPI tables from
firmware or via configfs.
- The GPIO subsystem has a new user-space ABI for the management of
general-purpose I/O lines; it is based on char devices and replaces
the long-deprecated sysfs interface. In the absence of any sort of
documentation, interested readers can see the gpio-hammer
and gpio-event-mon
examples added to the tools directory.
- New hardware support includes:
- Industrial I/O:
Freescale MMA7660FC 3-axis accelerometers,
Bosch BMA220 3-axis accelerometers,
Maxim MAX5487/MAX5488/MAX5489 digital potentiometers, and
Broadcom iProc analog-to-digital converters.
- Media:
Sony HELENE Sat/Ter (CXD2858ER) tuners,
Renesas R-Car video-input controllers (replacement driver),
Mediatek video processor units and video codecs,
Pulse Eight HDMI CEC controllers, and
Renesas frame compression processors.
- Miscellaneous:
TI DA8xx USB PHYs,
Sensirion SHT3x-DIS humidity and temperature sensors,
Texas Instruments INA3221 triple power monitors,
Fujitsu Technology Solutions Teutates sensor chips,
Oxford Semiconductor OXNAS RPS timers,
Amlogic Meson random number generators,
Maxim MAX77620 and MAX20024 GPIO controllers, and
MediaTek MT6323 power-management controllers.
- Networking KeyStream KS7010 based SDIO WIFI cards.
- Industrial I/O:
Freescale MMA7660FC 3-axis accelerometers,
Bosch BMA220 3-axis accelerometers,
Maxim MAX5487/MAX5488/MAX5489 digital potentiometers, and
Broadcom iProc analog-to-digital converters.
Changes visible to kernel developers include:
- There is a new set of atomic_fetch_*() primitives for
performing operations on atomic_t variables and returning the
previous value. See this article for
more information.
- The reimplementation of the kernel's timer
wheel has been merged. The new code provides better performance,
in particular avoiding the latency-inducing "cascade" operations
required by its predecessor. The cost is that far-future events will
happen with less accuracy than before, but nobody could come up with a
scenario where that mattered.
- The crypto subsystem has a new "key agreement" mechanism to support
the implementation of key-exchange protocols like Diffie-Hellman. It
is rigorously undocumented; the best information available is in this
commit and the associated source.
- The SLUB memory allocator now implements free-list randomization,
adding a bit of unpredictability to allocations.
- Ranges of memory allocated by device drivers (or other subsystems) are typically not relocatable by the memory-management code. That can interfere with the compaction code in tight-memory situations. To make things better, there is a new API that allows drivers to cooperate with the memory-management code in the relocation of their pages when needed. The balloon driver and zram subsystem both use this feature in 4.8, but there should be benefits to moving some other drivers over as well.
By the usual schedule, the 4.8 merge window should close on August 7,
and the final 4.8 release can be expected on September 25.
Index entries for this article | |
---|---|
Kernel | Releases/4.8 |
Posted Jul 28, 2016 13:15 UTC (Thu)
by clugstj (subscriber, #4020)
[Link]
Posted Jul 29, 2016 23:48 UTC (Fri)
by PaXTeam (guest, #24616)
[Link]
has something changed since we posted https://forums.grsecurity.net/viewtopic.php?f=7&t=3367 or is this just more wishful thinking without any evidence? showing a few bugs which are provably exploitable without KASLR *and* provably not exploitable with KASLR would be a good start to prove its usefulness.
4.8 merge window part 1
4.8 merge window part 1