#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.8 development cycle Linux 3.8 /!\ /!\ /!\ '''has not been released''' /!\ /!\ /!\ . While penguins finish the redaction of this page, you can take a look at these articles: * LWN [https://lwn.net/Articles/528893/ Merge window part 1], [https://lwn.net/Articles/529313/ merge window part 2] * H-Online Kernel Log - Coming in 3.8 [http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-8-Part-1-Filesystems-and-storage-1788524.html Part 1: Filesystems and storage] * Phoronix: [http://www.phoronix.com/scan.php?page=news_item&px=MTI2MDg The Feature Overview For The Linux 3.8 Kernel] [[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.8_DriverArch Linux_3.8_DriverArch page] = Various core changes = * modules: add syscall to load module from file descriptor. Contributed by Chrome OS, who wants to be able to enforce that kernel modules are being loaded only from their read-only crypto-hash verified (dm_verity) root filesystem [http://git.kernel.org/linus/34e1169d996ab148490c01b65b4ee371cf8ffba2 (commit)], [http://git.kernel.org/linus/2f3238aebedb243804f58d62d57244edec4149b2 (commit)] * SYSV IPC * Add 3 new variables and sysctls to tune them. This variable can be used to set desired id for next allocated IPC object. Used by [https://ckpt.wiki.kernel.org checkpoint/restart] [http://git.kernel.org/linus/03f595668017f1a1fb971c02fc37140bc6e7bb1c (commit)] * Introduce message queue copy feature, needed by [https://ckpt.wiki.kernel.org checkpoint/restart], as it requires some way to get all pending IPC messages without deleting them from the queue [http://git.kernel.org/linus/4a674f34ba04a002244edaf891b5da7fc1473ae8 (commit)] * [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/cgroups/freezer-subsystem.txt;hb=HEAD freezer cgroup]: implement proper hierarchy support [http://git.kernel.org/linus/ef9fe980c6fcc1821ab955b74b242d2d6585fa75 (commit)] * ptrace: introduce PTRACE_O_EXITKILL. If the tracer exits it sends SIGKILL to every tracee which has this bit set [http://git.kernel.org/linus/992fb6e170639b0849bace8e49bf31bd37c4123c (commit)] * procfs: add VmFlags field in smaps output, as checkpoint/restart needs to get these VMA associated flags [http://git.kernel.org/linus/834f82e2aa9a8ede94b17b656329f850c1471514 (commit)] * tmpfs: support [http://linux.die.net/man/2/lseek SEEK_DATA and SEEK_HOLE] lseek() flags [http://git.kernel.org/linus/220f2ac91353dd8b239b70c4b4cf1615b80c1ff5 (commit)] * tty: Add new ioctl flags for tty flags fetching. TIOCGPKT, TIOCGPTLCK, TIOCGEXCL for fetching pty's packet mode and locking state, and exclusive mode of tty [http://git.kernel.org/linus/c6298038bcfc20710430a4ad069bb1f3f069997c (commit)] * RCU locking: Add a module parameter to force use of expedited RCU primitives [http://git.kernel.org/linus/3705b88db0d7cc4a097c32d9e554054103d3f807 (commit)], add callback-free CPUs, as RCU callback execution can add significant OS jitter and also can degrade both scheduling latency [http://git.kernel.org/linus/3fbfbf7a3b66ec424042d909f14ba2ddf4372ea8 (commit)] = Filesystems = * Ext4 * Disable the ability to disable extended attributes [http://git.kernel.org/linus/939da1084458246d2e29dd921c2012c177000e96 (commit)] * Introduce [http://linux.die.net/man/2/lseek lseek() SEEK_DATA/SEEK_HOLE] support [http://git.kernel.org/linus/c0677e6d0f9d991adff972b8d06cb83de1f8ee8e (commit 1)], [http://git.kernel.org/linus/654598bef3731c9ae9b068ac35e6b69674c02841 2], [http://git.kernel.org/linus/9a26b66175e1c221f39bbe09e2e1d0a31a14ba6d 3], [http://git.kernel.org/linus/c8c0df241cc2719b1262e627f999638411934f60 4], [http://git.kernel.org/linus/51865fda28e585bdcc164474ff6438a9ccdbfada 5)] * XFS * Add CRC checks to the journaling log [http://git.kernel.org/linus/bc02e8693d875c2a9b0037cfd37fe0b726d26403 (commit 1], [http://git.kernel.org/linus/0e446be44806240c779666591bb9e8cb0e86a50d 2)] * Add XFS_IOC_FREE_EOFBLOCKS ioctl, which allows users to invoke an EOFBLOCKS scan. EOFBLOCKS inodes are inodes with speculatively preallocated blocks beyond EOF [http://git.kernel.org/linus/27b52867925e3aaed090063c1c58a7537e6373f3 (commit 1], [http://git.kernel.org/linus/8ca149de80478441352a8622ea15fae7de703ced 2], [http://git.kernel.org/linus/579b62faa5fb16ffeeb88cda5e2c4e95730881af 3)] * GFS2 * Add [http://en.wikipedia.org/wiki/Orlov_block_allocator Orlov] allocator [http://git.kernel.org/linus/9dbe9610b9df4efe0946299804ed46bb8f91dec2 (commit)] * Speed up gfs2_rbm_from_block function, which speeds up the postmark benchmark (see commit) [http://git.kernel.org/linus/a68a0a352a0209467268dfddffe02db08b97ddb4 (commit)] * SMB: Add SMB2.02 dialect support by specifying vers=2.0 on mount [http://git.kernel.org/linus/dd446b16edd74ca525208d924d426f786dd973f8 (commit)] = Block = = Crypto/keyring = * camellia - add AES-NI/AVX/x86_64 assembler implementation of camellia cipher [http://git.kernel.org/linus/d9b1d2e7e10d2e926775b1d3da39da0f51491e54 (commit)] * crc32c: Optimize CRC32C calculation with PCLMULQDQ instruction [http://git.kernel.org/linus/6a8ce1ef3940e0cab5ff5f11e1cff5301f83fef6 (commit)] * keyring: Make the session and process keyrings per-thread rather than per-process, but still inherited from the parent thread to solve [https://bugs.freedesktop.org/show_bug.cgi?id=49211 a problem] with PAM and gdm [http://git.kernel.org/linus/3a50597de8635cd05133bd12c95681c82fe7b878 (commit)] * keyring: Reduce initial permissions on keys, this gives the creator a chance to adjust the permissions mask before other processes can access the new key or create a link to it [http://git.kernel.org/linus/96b5c8fea6c0861621051290d705ec2e971963f1 (commit)] = Security = * Smack: create a sysfs mount point for Smackfs at /sys/fs/smackfs [http://git.kernel.org/linus/e93072374112db9dc86635934ee761249be28370 (commit)] * Add "Seccomp" field at /proc/pid/status, neccesary to examine the state of seccomp for a given process [http://git.kernel.org/linus/2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816 (commit)] = Perf = * Integrate script browser into main browser. Users can press function key 'r' to list all perf scripts and select one of them to run that script, the output will be shown in a separate browser [http://git.kernel.org/linus/66517826664fa910d4bc5f32a5abff6bcd8657c5 (commit 1], [http://git.kernel.org/linus/cdbab7c201ab38f7b8d248ebf289025381166526 2], [http://git.kernel.org/linus/79ee47faa77706f568f0329b7475c123b67a3b4a 3)] * diff: Add -b option for perf diff to display paired entries only [http://git.kernel.org/linus/a06d143e7cfaa10626f3ad0127a9b9169f900add (commit)], add -p option to display period values for hist entries [http://git.kernel.org/linus/61949b212e7f6f8f31891236ba24033f9b7af8c3 (commit)], add option to sort entries based on diff computation [http://git.kernel.org/linus/96c47f19846742bdfa3c153c8d26ccca5945586b (commit)],add -F option to display formula for computation [http://git.kernel.org/linus/ed279da2fc9774b4c0dc9fd513fa89a11cae3f56 (commit)], add ratio computation way to compare hist entries [http://git.kernel.org/linus/7aaf6b35512382329c5b2dd46b42f2bf12a5fff0 (commit)] * inject: "perf inject" can only handle data from pipe. Now it works with files too [http://git.kernel.org/linus/e558a5bd8b74aff4690a8c55b08a1dc91ef50d7c (commit)] * stat: Add --pre and --post command [http://git.kernel.org/linus/1f16c5754d3a4008c29f3bf67b4f1271313ba385 (commit)] * Add gtk. config option for launching GTK browser [http://git.kernel.org/linus/0020ce23864d16f66e5667013b8b43d1df3e142e (commit)] * trace: Add an event duration column [http://git.kernel.org/linus/60c907abc635622964f7862c8f2977182124f89d (commit)], add duration filter [http://git.kernel.org/linus/ae9ed03579c9745e85a88e80522770df7ae5c9b7 (commit)], support interrupted syscalls [http://git.kernel.org/linus/752fde44fd1c4a411d709c7d4ad0f121f427f234 (commit)], use sched:sched_stat_runtime to provide a thread summary [http://git.kernel.org/linus/1302d88e66f12a7b46a5598e641d93f0713007e0 (commit)] * x86: Make hardware event translations available in sysfs /sys/devices/cpu/events/ [http://git.kernel.org/linus/a47473939db20e3961b200eb00acf5fcf084d755 (commit)] * tracing: Add trace_options kernel command line parameter [http://git.kernel.org/linus/7bcfaf54f591a0775254c4ea679faf615152ee3a (commit)] = Virtualization = * KVM: paravirtual clock vsyscall support. It reduces clock_gettime from 500 cycles to 200 cycles in a testbox http://git.kernel.org/linus/3dc4f7cfb7441e5e0fed3a02fc81cdaabd28300a (commit)], [http://git.kernel.org/linus/51c19b4f5927f5a646e93d69f73c7e89ea14e737 (commit)] * virtio-net: multiqueue support [http://git.kernel.org/linus/986a4f4d452dec004697f667439d27c3fda9c928 (commit)], support changing the number of queue pairs through ethtool [http://git.kernel.org/linus/d73bcd2c28e3c77d9f52d42a45a52455488e287e (commit)] * virtio-console: Add support for remoteproc serial [http://git.kernel.org/linus/1b6370463e88b0c1c317de16d7b962acc1dab4f2 (commit)] * vhost-net: enable zerocopy tx by default [http://git.kernel.org/linus/f9611c43ab0ddaf547b395c90fb842f55959334c (commit)] * Add Hyper-V balloon driver [http://git.kernel.org/linus/9aa8b50b2b3d3a70728438a15a0fdd03a6794a84 (commit)] * XEN: ACPI PAD driver [http://git.kernel.org/linus/92e3229dcdc80ff0b6304f14c578d76e7e10e226 (commit)] = Networking = * TCP: RFC 5961 5.2 Blind Data Injection Attack Mitigation [http://git.kernel.org/linus/354e4aa391ed50a4d827ff6fc11e0667d0859b25 (commit)] * TCP: change default tcp hash size [http://git.kernel.org/linus/fd90b29d757827ab12d6669292612308ec249532 (commit)] * [http://www.open-mesh.org/projects/open-mesh/wiki B.A.T.M.A.N. mesh]: Add Distributed ARP Table, a DHT based mechanism that increases ARP reliability on sparse wireless mesh networks [http://git.kernel.org/linus/5c3a0e5535933349a5d6e6bc8b704e0611f21d3f (commit 1], [http://git.kernel.org/linus/0e861a3c4ffef56822e1d51c355e5020deaeaf5a 2], [http://git.kernel.org/linus/172244748204c894864def59133d0133ccfabe30 3], [http://git.kernel.org/linus/33af49ad8ae44de52c0ac30b1a9707dad5e4c418 4], [http://git.kernel.org/linus/c384ea3ec930ef11060a7308fbbd02b4871384f9 5], [http://git.kernel.org/linus/785ea1144182c341b8b85b0f8180291839d176a8 6], [http://git.kernel.org/linus/2f1dfbe185075a50dc8f0490a136377af53a1c62 7)] * [http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge bridge]: add root port blocking [http://git.kernel.org/linus/1007dd1aa50b0403df370834f647abef1722925c (commit)], expose bridge port parameters over netlink [http://git.kernel.org/linus/25c71c75ac87508528db053b818944f3650dd7a6 (commit)], add support of adding and deleting mdb entries over netlink [http://git.kernel.org/linus/cfd567543590f71ca0af397437e2554f9756d750 (commit)] * Wireless * Allow to abort low priority scan requests [http://git.kernel.org/linus/cd2bb512cda58f1efb922ad6dc29013ea5d5d9d0 (commit)] * Allow to flush old scan results [http://git.kernel.org/linus/15d6030b4bec618742b8b9ccae9209c8f9e4a916 (commit)] * Allow drivers to support P2P GO powersave configuration [http://git.kernel.org/linus/339afbf4819e5c7c0a0422af43b8c2eccd059abf (commit)] * Provide partial VHT radiotap information [http://git.kernel.org/linus/5164892184d1b9ce19e45e97e9ca405ea8b9ceb2 (commit)] * Support VHT association [http://git.kernel.org/linus/f2d9d270c15ae0139b54a7e7466d738327e97e03 (commit)] * Allow per interface TX power setting, instead of per device [http://git.kernel.org/linus/c8442118ad9cd05cfe3b993f058e70ab25b1009a (commit)] * Add the NL80211_CMD_SET_MCAST_RATE command, which enables the user to change the rate used to send multicast frames for vif configured as IBSS or MESH_POINT [http://git.kernel.org/linus/f4e583c8935c6f52f9385ee7cfbea8f65c66a737 (commit)] * Support P2P GO powersave configuration [http://git.kernel.org/linus/53cabad70ecf0c245b41285de64a74a6c3ee9933 (commit)] * Add support for offloading in the NIC Tx and Rx checksumming for encapsulated packets (such as VXLAN and IP GRE) [http://git.kernel.org/linus/6a674e9c75b17e7a88ff15b3c2e269eed54f7cfb (commit)] * IPv6 tunnel: add support of link creation via rtnl 'ip link .. type ip6tnl' [http://git.kernel.org/linus/0b112457229d8a17198a02f3cca32922d2e374f1 (commit)] * IPv6: add support of equal cost multipath (ECMP) [http://git.kernel.org/linus/51ebd3181572af8d5076808dab2682d800f6da5d (commit)] * IPIP tunnel: add GSO support [http://git.kernel.org/linus/c3b89fbba339aae533e380839fa078787635356e (commit)], add support of link creation via rtnl 'ip link .. type ipip' [http://git.kernel.org/linus/be42da0e1012bf67d8f6899b7d9162e35527da4b (commit)] * IPvs: Complete IPv6 fragment handling for IPVS [http://git.kernel.org/linus/2f74713d1436b7d2d0506ba1bc5f10915a73bbec (commit)] * Netfilter: ipv6: add getsockopt to retrieve origdst [http://git.kernel.org/linus/121d1e0941e05c64ee4223064dd83eb24e871739 (commit)], xt_CT: recover NOTRACK target support [http://git.kernel.org/linus/10db9069eb5c60195170a4119bdbcbce69a4945f (commit)] * Openvswitch: add ipv6 'set' action [http://git.kernel.org/linus/3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b (commit)] * pkt_sched: turn QFQ into QFQ+, a variant of QFQ that provides some beneficts [http://git.kernel.org/linus/462dbc9101acd38e92eda93c0726857517a24bbd (commit)] * tuntap: multiqueue support [http://git.kernel.org/linus/c8d68e6be1c3b242f1c598595830890b65cea64a (commit)] * Add support of RTM_GETNETCONF [http://git.kernel.org/linus/d900082bd9060dc955b181dae2f2adf86e27d747 (commit)], [http://git.kernel.org/linus/9e5511106f99f293ad4a55e1d35c2e909c0c2e60 (commit)], [http://git.kernel.org/linus/76f8f6cb76b110aaace90b6208b1ceb46bd78b7f (commit)] * SCTP: Add support to per-association statistics via a new SCTP_GET_ASSOC_STATS call [http://git.kernel.org/linus/196d67593439b03088913227093e374235596e33 (commit)] * Add Distributed Overlay Virtual Ethernet (DOVE) extensions for VXLAN [http://git.kernel.org/linus/e4f67addf158f98f8197e08974966b18480dc751 (commit)] * SCTP: Make hmac algorithm selection for cookie generation dynamic [http://git.kernel.org/linus/3c68198e75111a905ac2412be12bf7b29099729b (commit)] * sit: add support of link creation via rtnl 'ip link .. type sit' [http://git.kernel.org/linus/f37234160233561f2a2e3332272ae5b3725b620b (commit)] * sk-filter: Add ability to get socket filter program (v2) [http://git.kernel.org/linus/a8fc92778080c845eaadc369a0ecf5699a03bef0 (commit)] = Other news sites that track the changes of this release = ---- CategoryReleases