Note : The changelog of the previous kernel release, 3.6, mentioned SMBv2 support, but it was a mistake. SMBv2 support wasn't actually available in Linux 3.6, it was merged but it got turned off before the final release. It is finally available in this release.
The CIFS networking filesystem has added support for the version 2 of the SMB protocol. The SMB2 protocol is the successor to the popular CIFS and SMB network file sharing protocols, and is the native file sharing mechanism for Windows operating systems since it was introduced in Windows Vista in 2006. SMB2 enablement will eventually allow users better performance, security and features, than would not be possible with previous protocols.
Code: (commit)
The support for NFS v4.1 (RFC 5661) has been going on for a long time, and in this release it will get rid of the the "experimental" tag for first time.
The main feature of NFS v4.1 is pNFS, aka "parallel NFS". pNFS can take advantage of clustered server deployments allowing to provide scalable parallel access to a given filesystem or individual files distributed among multiple servers. A single filesystem might be stripped across several servers, either at the file or block level.
Code: (commit)
Linux adds vxlan, a tunneling protocol that allows to transfer Layer 2 Ethernet packets over UDP. vxlan is often used to tunnel virtual network infrastructure in virtualized environments.
The VXLAN protocol itself, which is a RFC draft right now, is a tunnelling protocol that is designed to solve the problem of limited number of available VLANs (4096). With vxlan the identifier is expanded to 24 bits. The protocol runs over UDP using a single destination port. Unlike most tunnels, a VXLAN is a 1 to N network, not just point to point. A VXLAN device can either dynamically learn the IP address of the other end, in a manner similar to a learning bridge, or the forwarding entries can be configured statically. There is also an implantation of VXLAN for Open vSwitch.
Recommended articles: VXLAN for Linux, Typical VXLAN use case
Code: (commit)
Supervisor Mode Access Prevention (SMAP) is a new security feature that will be available in future Intel processors. It forbids kernel access to memory pages used by userspace. This allows to stop some kind of exploits.
Recommended Intel documentation: IntelĀ® Architecture Instruction Set Extensions Programming Reference
Recommended LWN article: Supervisor mode access prevention
All the driver and architecture-specific changes can be found in the Linux_3.7_DriverArch page
Linux 3.6 added some symlink and hardlink restrictions for security purposes, and enabled it by default, but it broke some programs, so it has been disabled by default. Distributions and users can enable it by writing "1" to /proc/sys/fs/protected_symlinks and /proc/sys/fs/protected_hardlinks (commit)
Make core dump functionality optional (commit)
Teach the kernel to load firmware files directly from the filesystem instead of using udev (commit)
Add xattr support to cgroups (commit)
kdb: Implement disable_nmi command to disable NMI-entry (commit)
Add special serial console driver that allows to temporary use NMI debugger port as a normal console (commit)
Control grace-period duration from sysfs (commit)
Make rcutree module parameters visible in sysfs (commit)
Consider userspace as in RCU extended quiescent state: this option sets hooks on kernel / userspace boundaries and puts RCU in extended quiescent state when the CPU runs in userspace. It means that when a CPU runs in userspace, it is excluded from the global RCU state machine and thus doesn't to keep the timer tick on for RCU (commit)
Implement support for the WRITE SAME command supported on some SCSI devices. This command allows the same block to be efficiently replicated throughout a block range. Only a single logical block is transferred from the host and the storage device writes the same data to all blocks described by the I/O (commit)
ioctl to zero block ranges (commit)
UBI (Unsorted Block Images), targeted for flash devices: Fastmap support. Fastmap is a mechanism which allows attaching an UBI device in nearly constant time. Instead of scanning the whole MTD device it only has to locate a checkpoint (called fastmap) on the device. The on-flash fastmap contains all information needed to attach the device (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)
MD: TRIM support for linear (commit), raid 0 (commit), raid 1 (commit), raid 10 (commit), raid5 (commit)
DM RAID: Add rebuild capability for RAID10 (commit)
aesni_intel: improve performance by utilizing parallel AES-NI hardware pipelines (commit)
cast5 - add x86_64/avx assembler implementation (commit)
RSA: Implement signature verification algorithm [PKCS#1 / RFC3447] (commit)
X.509: Add a crypto key parser for binary (DER) X.509 certificates (commit), add an ASN.1 decoder (commit), add simple ASN.1 grammar compiler (commit)
Smack: implement revoking all rules for a subject label (commit)
Allow Yama to be unconditionally stacked (commit)
kvm: Events analysis tool (commit)
perf probe: Add union member access support (commit)
perf tools: Long option completion support for each subcommands (commit)
Add bio-based I/O path for virtio-blk. It reduces the I/O path in guest kernel to achieve high IOPS and lower latency. The downside is that guest can not use the I/O scheduler to merge and sort requests. However, this is not a big problem if the backend disk in host side uses faster disk device (it can be disabled with the use_bio module parameter) (commit)
Add the xen EFI video mode support (commit)
Support Xen in ARM (commit)
Xen backend support for paged out grant targets (commit)
loopback: set default MTU to 64K (commit)
Providing protocol type via system.sockprotoname xattr of /proc/PID/fd entries (commit)
Use a per-task frag allocator (commit)
Add protocol-independent NAT core (commit)
Add IPv6 MASQUERADE target (commit)
Add IPv6 NETMAP target (commit)
Add IPv6 REDIRECT target (commit)
Add IPv6 NAT support (commit)
Support IPv6 in FTP NAT helper (commit)
Support IPv6 in IRC NAT helper (commit)
Support IPv6 in SIP NAT helper (commit)
Support IPv6 in amanda NAT helper (commit)
Add stateless IPv6-to-IPv6 Network Prefix Translation target (commit)
Remove xt_NOTRACK (commit)
Near Field Communication (NFC): Add an Link Layer Control (LLC) Core layer to HCI (commit), add an shdlc llc module to llc core (commit), LLCP raw socket support (commit)
bonding: support for IPv6 transmit hashing (and TCP or UDP over IPv6), bringing IPv6 up to par with IPv4 support in the bonding driver (commit)
team: add support for non-Ethernet devices (commit)
gre: Support GRE over IPv6 (commit), add GSO support (commit), add GRO capability (commit)
packet: Diag core and basic socket info dumping (commit)
ethtool: support for setting MDI/MDI-X state for twisted pair wiring (commit)
ppp: add 64-bit stats (commit)
Add generic netlink support for tcp_metrics (commit)
LWN Merge window part 1, merge window part 2, merge window part 3
H-Online Kernel Log - Coming in 3.7 Part 1: Filesystems & storage, Part 2: Networking, Part 3: Infrastructure, Part 4: Drivers, Part 5: CPU and platform code
Phoronix An Overview Of The Linux 3.7 Kernel
KernelNewbies: Linux_3.7 (last edited 2017-12-30 01:30:08 by localhost)