The 4.5 merge window opens
- The device mapper's dm-verity
subsystem, which is charged with validating the integrity of data
on the underlying storage device, has gained the ability to perform
forward
error correction. This allows for the recovery of data from a
device where "
several consecutive corrupted blocks
" exist. The first consumer for this appears to be Android, which uses dm-verity already. - As usual, there is a long list of improvements to the perf events
subsystem; see this
merge commit for a detailed summary.
- Mandatory file locking is now optional
at configuration time. This is a first step toward the removal
(sometime in the distant future) of this unloved and little-used
feature.
- The copy_file_range() system
call has been merged. It allows for the quick copying of a
portion of a file, with the operation possibly optimized by the
underlying filesystem.
The support code for copy_file_range() has also enabled an
easy implementation of the NFSv4.2 CLONE operation.
- The User-Mode Linux port now supports the seccomp() system
call.
- The SOCK_DESTROY operation,
allowing a system administrator to shut down an open network
connection, is now supported.
- The "clsact" network queueing discipline module has been added; see this
commit changelog for details and usage information.
- The "version 2" control-group interface is now considered official and
non-experimental; it can be mounted with the cgroup2
filesystem type. Not all controllers support this interface yet,
though. See Documentation/cgroup-v2.txt for
details on the new interface.
- New hardware support includes:
- Cryptographic:
Rockchip cryptographic engines and
Intel C3xxx, C3xxxvf, C62x, and C62xvf cryptographic
accelerators.
- Miscellaneous:
HiSilicon MBIGEN interrupt controllers,
Technologic TS-4800 interrupt controllers, and
Cirrus Logic CS3308 audio analog-to-digital converters.
- Networking:
Netronome NFP4000/NFP6000 VF interfaces,
Analog Devices ADF7242 SPI 802.15.4 wireless controllers,
Freescale data-path acceleration architecture frame manager devices,
IBM VNIC virtual interfaces, and
STMicroelectronics ST95HF NFC transceivers.
- Pin control: Qualcomm MSM8996 pin controllers, Marvell PXA27x pin controllers, Broadcom NSP GPIO controllers, and Allwinner H3 pin controllers.
- Cryptographic:
Rockchip cryptographic engines and
Intel C3xxx, C3xxxvf, C62x, and C62xvf cryptographic
accelerators.
Changes visible to kernel developers include:
- The follow_link() method in struct inode_operations
has been replaced with:
const char *(*get_link) (struct dentry *dentry, struct inode *inode, struct delayed_call *done);It differs from follow_link() (which was described in this article) by separating the dentry and inode arguments and, most importantly, being callable in the RCU-walk mode. In that case, dentry will be null, and get_link() is not allowed to block.
Also added in the same patch set was a "poor man's closures" mechanism, represented by struct delayed_call:
struct delayed_call { void (*fn)(void *); void *arg; };See include/linux/delayed_call.h for the (tiny) full interface. In this case, get_link() should set done->fn to its inode destructor function — probably the one that was previously made available as the (now removed) put_link() inode_operations method.
- There is a new memory-barrier primitive:
void smp_cond_acquire(condition);It will spin until condition evaluates to a non-zero value, then insert a read barrier.
- There is a new stall detector for workqueues; if any workqueue fails
to make progress for 30 seconds, the kernel will output a bunch of
information that should help in debugging of problem.
- There is a new helper function:
void *memdup_user_nul(const void __user *src, size_t len);It will copy len bytes from user space, starting at src, allocating memory for the result and adding a null-terminating byte. Over 50 call sites have already shown up in the kernel.
- The configfs virtual filesystem now supports binary attributes; see
the documentation changes at the beginning of this
commit for details.
- Changes to the networking core mean that NAPI network drivers get busy
polling for free, without the need to add explicit support.
- Patches moving toward the removal of protocol-specific checksumming from networking drivers (described in this article) have been merged. See this merge commit for more information.
The 4.5 merge window will probably stay open until January 24, so there is
time for a lot more changes to find their way into the mainline. As usual,
LWN will track those changes and summarize them in the coming weeks; stay
tuned.
| Index entries for this article | |
|---|---|
| Kernel | Releases/4.5 |
