#pragma section-numbers on #pragma keywords Linux, kernel, operating system, changes, changelog, file system, Linus Torvalds, open source, device drivers #pragma description Summary of the changes and new features merged in the Linux kernel during the 3.7 development cycle Linux 3.7 /!\ /!\ /!\ '''has not been released''' /!\ /!\ /!\ . While the penguins finish the redaction of this page, you can take a look at these articles: * LWN [https://lwn.net/Articles/518275/ Merge window part 1], [https://lwn.net/Articles/518711/ merge window part 2], [https://lwn.net/Articles/519883/ merge window part 3] * H-Online Kernel Log - Coming in 3.7 [http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-1-Filesystems-storage-1750000.html Part 1: Filesystems & storage], [http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-2-Networking-1752099.html Part 2: Networking], [http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-3-Infrastructure-1755953.html Part 3: Infrastructure] [[TableOfContents()]] = Prominent features in Linux 3.7 = = Driver and architecture-specific changes = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.7_DriverArch Linux_3.7_DriverArch page] = Various core changes = * Linux 3.6 added some [https://lwn.net/Articles/503660/ symlink and hardlink restrictions] for security purposes, and enabled it by default, but it broke some programs, so it has been disabled by default. Distros and users can enable it by writting "1" to /proc/sys/fs/protected_symlinks and /proc/sys/fs/protected_hardlinks [http://git.kernel.org/linus/561ec64ae67ef25cac8d72bb9c4bfc955edfd415 (commit)] * Make core dump functionality optional [http://git.kernel.org/linus/046d662f481830e652ac34cd112249adde16452a (commit)] * Teach the kernel to load firmware files directly from the filesystem instead of using udev [http://git.kernel.org/linus/abb139e75c2cdbb955e840d6331cb5863e409d0e (commit)] * Add xattr support to cgroups [http://git.kernel.org/linus/03b1cde6b22f625ae832b939bc7379ec1466aec5 (commit)] * kdb: Implement disable_nmi command to disable NMI-entry [http://git.kernel.org/linus/ad394f66fa57ae66014cb74f337e2820bac4c417 (commit)] * Add special serial console driver that allows to temporary use NMI debugger port as a normal console [http://git.kernel.org/linus/0c57dfcc6c1d037243c2f8fbf62eab3633326ec0 (commit)] * Read-Copy-Update locking * Control grace-period duration from sysfs [http://git.kernel.org/linus/d40011f601b450396104de42c631981502946cf0 (commit)] * Make rcutree module parameters visible in sysfs [http://git.kernel.org/linus/7e5c2dfb4de15e21f62c956ec32cda9372ca993b (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 [http://git.kernel.org/linus/2b1d5024e17be459aa6385763ca3faa8f01c52d9 (commit)] = Filesystems = * Ext4 * Add online resizing support for meta_bg and 64-bit file systems [http://git.kernel.org/linus/01f795f9e0d67adeccc61a8b20c28acb45fa5fd8 (commit)] * Add max_dir_size_kb mount option, that allows to ensure that directories never get larger than a sane size [http://git.kernel.org/linus/df981d03eeff7971ac7e6ff37000bfa702327ef1 (commit)] * Re-enable -o discard functionality in no-journal mode [http://git.kernel.org/linus/b5e2368baeddf401bf3da9e364fc1c96676279cd (commit)] * Speed up truncate/unlink [http://git.kernel.org/linus/18888cf0883c286f238d44ee565530fe82752f06 (commit)] * XFS * Make inode32 a remountable option [http://git.kernel.org/linus/2ea0392983a82f7dc3055568ae0f2558724d119b (commit)], make inode64 a remountable option [http://git.kernel.org/linus/c3a58fecdd1934a8538ada9073107625f5151687 (commit)] * Make inode64 as the default allocation mode [http://git.kernel.org/linus/08bf540412ed82a15cb9068249ad49b410a7b082 (commit)] * UDF * Add support for O_DIRECT [http://git.kernel.org/linus/5eec54fcde7e065eb3d8a6e70e61d90673ca706b (commit)] * Add "writepages" support for udf for improved write performance [http://git.kernel.org/linus/378b8e1ad18e7c97832aa3771e295153c4cd2a55 (commit)] * JFS: TRIM support [http://git.kernel.org/linus/b40c2e665cd552eae5fbdbb878bc29a34357668e (commit)] * NFS: Introduce "migration" mount option [http://git.kernel.org/linus/896526174ce2b6a773e187ebe5a047b68230e2c4 (commit)] = Block = * 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 [http://git.kernel.org/linus/4363ac7c13a9a4b763c6e8d9fdbfc2468f3b8ca4 (commit)] * ioctl to zero block ranges [http://git.kernel.org/linus/66ba32dc167202c3cf8c86806581a9393ec7f488 (commit)] * UBI (Unsorted Block Images), targetted 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 [http://git.kernel.org/linus/dbb7d2a88d2a7bd3624e090bee42cdee048d9290 (commit 1], [http://git.kernel.org/linus/1c865749999efdae63ddfb73b911ee04e1d4e1c8 2], [http://git.kernel.org/linus/dac6e2087a4143cfc3fc1017bf24b9d4be3055b7 3], [http://git.kernel.org/linus/5638b33abffd967dda4f984a247925b7af38b23d 4], [http://git.kernel.org/linus/8199b901a31b6e89b63842643f644fc05b403b20 5], [http://git.kernel.org/linus/00abf3041590da6ad7533bf592e8dd452820109f 6], [http://git.kernel.org/linus/a7306653705e456c8affeb4efe9542b9f6b757ad 7], [http://git.kernel.org/linus/8974b15c6e84e686201d382c7d459aa9c8c96572 8], [http://git.kernel.org/linus/76ac66e469f084d41742ba08923de76fbdc7dce3 9)] * MD: TRIM support for linear [http://git.kernel.org/linus/f1cad2b68ed12c0f82d3f56e150691f62b6f5edf (commit)], raid 0 [http://git.kernel.org/linus/c83057a1f4f987327c49448b046d9625c612ed8e (commit)], raid 1 [http://git.kernel.org/linus/2ff8cc2c6d4e323de71a42affeb3041fa17d5b10 (commit)], raid 10 [http://git.kernel.org/linus/532a2a3fba8df076d65fdf17518eeb327b37a313 (commit)], raid5 [http://git.kernel.org/linus/620125f2bf8ff0c4969b79653b54d7bcc9d40637 (commit)] * DM RAID: Add rebuild capability for RAID10 [http://git.kernel.org/linus/4ec1e369af83f7ecdfbd48a905e44fc9910115ba (commit)] = Crypto = * aesni_intel: improve performance by utilizing parallel AES-NI hardware pipelines [http://git.kernel.org/linus/023af608254add7ba037cd634cc5f2fb21ff6420 (commit)] * Add IPsec ESN support to caam [http://git.kernel.org/linus/891104ed008e8646c7860fe5bc70b0aac55dcc6c (commit)] and talitos [http://git.kernel.org/linus/e763eb699be723fb41af818118068c6b3afdaf8d (commit)] * cast5 - add x86_64/avx assembler implementation [http://git.kernel.org/linus/4d6d6a2c850f89bc9283d02519cb536baba72032 (commit)] * RSA: Implement signature verification algorithm [PKCS#1 / RFC3447] [http://git.kernel.org/linus/612e0fe99965a4028359cd1da5af56b7f6caf7f6 (commit)] * X.509: Add a crypto key parser for binary (DER) X.509 certificates [http://git.kernel.org/linus/c26fd69fa00916a31a47f5f096fd7be924106df8 (commit)], add an ASN.1 decoder [http://git.kernel.org/linus/42d5ec27f873c654a68f7f865dcd7737513e9508 (commit)], add simple ASN.1 grammar compiler [http://git.kernel.org/linus/4520c6a49af833c83de6c74525ce8e07bbe6d783 (commit)] = Security = * Smack: implement revoking all rules for a subject label [http://git.kernel.org/linus/449543b0436a9146b855aad39eab76ae4853e88d (commit)] * Allow Yama to be unconditionally stacked [http://git.kernel.org/linus/c6993e4ac002c92bc75379212e9179c36d4bf7ee (commit)] * Integrity Measurement Architecture * audit log hashes [http://git.kernel.org/linus/e7c568e0fd0cf6d9c8ab8ea537ba8f3a3ae7c3d8 (commit)] * digital signature verification support [http://git.kernel.org/linus/8606404fa555c2ee691376fcc640ab89fe752035 (commit)] * integrity appraisal extension [http://git.kernel.org/linus/2fe5d6def1672ae6635dd71867bf36dcfaa7434b (commit)] = Perf = * kvm: Events analysis tool [http://git.kernel.org/linus/bcf6edcd6fdb8965290f0b635a530fa3c6c212e1 (commit)] * perf probe: Add union member access support [http://git.kernel.org/linus/7b0295b3db20a89b3296673871858b9ab6b68404 (commit)] * perf tools: Long option completion support for each subcommands [http://git.kernel.org/linus/4d8061faca7a50010f037374410f0c3647c3ecf8 (commit)] * perf trace: New tool [http://git.kernel.org/linus/514f1c67c2fdae7b334fdc5adee63a484781241a (commit)] = Virtualization = * Add bio-based IO path for virtio-blk. It reduces the IO path in guest kernel to achieve high IOPS and lower latency. The downside is that guest can not use the IO 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) [http://git.kernel.org/linus/a98755c559e0e944a44174883b74a97019e3a367 (commit)] * Add the xen EFI video mode support [http://git.kernel.org/linus/aa387d630cfed1a694a9c8c61fba3877ba8d4f07 (commit)] * Support Xen in ARM [http://git.kernel.org/linus/eff8d6447d5fac2995ffa5c1f0ea2da5bd7074c9 (commit)] * Xen backend support for paged out grant targets [http://git.kernel.org/linus/c571898ffc24a1768e1b2dabeac0fc7dd4c14601 (commit)] = Networking = * loopback: set default MTU to 64K [http://git.kernel.org/linus/0cf833aefaa85bbfce3ff70485e5534e09254773 (commit)] * Providing protocol type via system.sockprotoname xattr of /proc/PID/fd entries [http://git.kernel.org/linus/600e177920df936d03b807780ca92c662af98990 (commit)] * Use a per task frag allocator [http://git.kernel.org/linus/5640f7685831e088fe6c2e1f863a6805962f8e81 (commit)] * Netfilter * Add protocol independent NAT core [http://git.kernel.org/linus/c7232c9979cba684c50b64c513c4a83c9aa70563 (commit)] * Add IPv6 MASQUERADE target [http://git.kernel.org/linus/b3f644fc8232ca761da0b5c5ccb6f30b423c4302 (commit)] * Add IPv6 NETMAP target [http://git.kernel.org/linus/ed72d9e294a66fce8f4b4a2f6c8c011b22f1a87c (commit)] * Add IPv6 REDIRECT target [http://git.kernel.org/linus/115e23ac78f87b632b5406e9d504fd56d17ffef1 (commit)] * Add IPv6 NAT support [http://git.kernel.org/linus/58a317f1061c894d2344c0b6a18ab4a64b69b815 (commit)] * Support IPv6 in FTP NAT helper [http://git.kernel.org/linus/d33cbeeb1a46a7dc82fe9f53e40a742ce0c67c79 (commit)] * Support IPv6 in IRC NAT helper [http://git.kernel.org/linus/5901b6be885e2c9a30fd94803b846b3d33e351dd (commit)] * Support IPv6 in SIP NAT helper [http://git.kernel.org/linus/9a664821068739dbc8eac13770e28167b46a0c0f (commit)] * Support IPv6 in amanda NAT helper [http://git.kernel.org/linus/ee6eb96673704225164f0ba7462e1973ce10885c (commit)] * Add stateless IPv6-to-IPv6 Network Prefix Translation target [http://git.kernel.org/linus/8a91bb0c304b0853f8c59b1b48c7822c52362cba (commit)] * Remove xt_NOTRACK [http://git.kernel.org/linus/965505015beccc4ec900798070165875b8e8dccf (commit)] * Near Field Communication (NFC): Add an Link Layer Control(LLC) Core layer to HCI [http://git.kernel.org/linus/67cccfe17d1b3da1ed6c79e643c9be95ebde9642 (commit)], add an shdlc llc module to llc core [http://git.kernel.org/linus/4a61cd6687fc6348d08724676d34e38160d6cf9b (commit)], LLCP raw socket support [http://git.kernel.org/linus/4463523bef98ff827a89cf8219db7dfac4350241 (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 [http://git.kernel.org/linus/6b923cb7188d46905f43fa84210c4c3e5f9cd8fb (commit)] * team: add support for non-ethernet devices [http://git.kernel.org/linus/1d76efe1577b4323609b1bcbfafa8b731eda071a (commit)] * gre: Support GRE over IPv6 [http://git.kernel.org/linus/c12b395a46646bab69089ce7016ac78177f6001f (commit)], add GSO support [http://git.kernel.org/linus/6b78f16e4bdde3936b11690bdb970be423e07a07 (commit)], add GRO capability [http://git.kernel.org/linus/60769a5dcd8755715c7143b4571d5c44f01796f1 (commit)] * packet: Diag core and basic socket info dumping [http://git.kernel.org/linus/96ec6327144e1ac9e6676e34fae8b49c2102fa5a (commit)] * ethtool: support for setting MDI/MDI-X state for twisted pair wiring [http://git.kernel.org/linus/6f6bbc186dc8e4e0c628db7decbd1a5e02cb5fd8 (commit)] * ppp: add 64 bit stats [http://git.kernel.org/linus/e51f6ff396eac38582eb583d16c5d9be05a848d2 (commit)] * Add generic netlink support for tcp_metrics [http://git.kernel.org/linus/d23ff701643a4a725e2c7a8ba2d567d39daa29ea (commit)] ---- CategoryReleases