26827
Comment:
|
← Revision 35 as of 2017-12-30 01:30:21 ⇥
45838
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Linux 4.0 [https://lkml.org/lkml/2015/4/12/178 has been released] on Sun, 12 Apr 2015. This page is not complete. It will be completed in the next few days. Meanwhile, you can read about Linux 4.0 in other sites: * LWN: [http://lwn.net/Articles/632761/ The merge window opens], [http://lwn.net/Articles/633096/ merge window part 2], [http://lwn.net/Articles/634471/ The end of the 4.0 merge window] |
Linux 4.0 [[https://lkml.org/lkml/2015/4/12/178|has been released]] on Sun, 12 Apr 2015. Summary: This release adds support for live patching the kernel code, aimed primarily at fixing security updates without rebooting; DAX, a way to avoid using the kernel cache when filesystems run on systems with persistent memory storage; kasan, a dynamic memory error detector that allows to find use-after-free and out-of-bounds bugs; lazytime, an alternative to relatime, which causes access, modified and changed time updates to only be made in the cache and written to the disk opportunistically; allow overlayfs to have multiple lower layers, support of Parallel NFS server architecture; and dm-crypt CPU scalability improvements. There are also new drivers and many other small improvements. <<TableOfContents>> |
Line 14: | Line 14: |
This release increases the version to 4.0. This switch from 3.x to 4.0 version numbers is, however, entirely meaningless and it should not be associated to any important changes in the kernel. This release could have been 3.20, but Linus Torvalds just got tired of the old number, [https://plus.google.com/+LinusTorvalds/posts/jmtzzLiiejc made a poll], and changed it. Yes, it is frivolous. The less you think about it, the better. | This release increases the version to 4.0. This switch from 3.x to 4.0 version numbers is, however, entirely meaningless and it should not be associated to any important changes in the kernel. This release could have been 3.20, but Linus Torvalds just got tired of the old number, [[https://plus.google.com/+LinusTorvalds/posts/jmtzzLiiejc|made a poll]], and changed it. Yes, it is frivolous. The less you think about it, the better. |
Line 18: | Line 18: |
This release introduces "livepatch", a feature for live patching the kernel code, aimed primarily at systems who want to get security updates without needing to reboot. This feature has been born as result of merging kgraft and kpatch, two attempts by SuSE and Red Hat that where started to replace the now propietary ksplice. It's relatively simple and minimalistic, as it's making use of existing kernel infrastructure (namely ftrace) as much as possible. It's also self-contained and it doesn't hook itself in any other kernel subsystems. In this release livepatch is not feature complete, yet it provides a basic infrastructure for function "live patching" (i.e. code redirection), including API for kernel modules containing the actual patches, and API/ABI for userspace to be able to operate on the patches (look up what patches are applied, enable/disable them, etc). Most CVEs should be safe to apply this way. Only the x86 architecture is supported in this release, others will follow. For more details see the [http://git.kernel.org/linus/1d9c5d79e6e4385aea6f69c23ba543717434ed70 merge commit] Sample live patching module: [http://git.kernel.org/linus/13d1cf7e702596e0cd8ec62afa6bd49c431f2d0c commit] Code [http://git.kernel.org/linus/b700e7f03df5d92f85fa5247fe1f557528d3363d commit] |
This release introduces "livepatch", a feature for live patching the kernel code, aimed primarily at systems who want to get security updates without needing to reboot. This feature has been born as result of merging kgraft and kpatch, two attempts by SuSE and Red Hat that where started to replace the now propietary ksplice. It's relatively simple and minimalistic, as it's making use of existing kernel infrastructure (namely ftrace) as much as possible. It's also self-contained and it doesn't hook itself in any other kernel subsystems. In this release livepatch is not feature complete, yet it provides a basic infrastructure for function "live patching" (i.e. code redirection), including API for kernel modules containing the actual patches, and API/ABI for userspace to be able to operate on the patches (look up what patches are applied, enable/disable them, etc). Most CVEs should be safe to apply this way. Only the x86 architecture is supported in this release, others will follow. For more details see the [[https://git.kernel.org/linus/1d9c5d79e6e4385aea6f69c23ba543717434ed70|merge commit]] Sample live patching module: [[https://git.kernel.org/linus/13d1cf7e702596e0cd8ec62afa6bd49c431f2d0c|commit]] Code [[https://git.kernel.org/linus/b700e7f03df5d92f85fa5247fe1f557528d3363d|commit]] |
Line 32: | Line 32: |
Linux has had, in fact, support for this kind of setups [http://kernelnewbies.org/Linux_2_6_13 since 2.6.13]. But the code wasn't maintaned and only supported ext2. In this release, Linux adds DAX (Direct Access, the X is for eXciting). DAX removes the extra copy incurred by the bugger by performing reads and writes directly to the persistent-memory storage device. For file mappings, the storage device is mapped directly into userspace. Support for ext4 has been added. Recommended LWN article: [http://lwn.net/Articles/610174/ Supporting filesystems in persistent memory] Code: [http://git.kernel.org/linus/283307c7607de2a06d3bfae4cfbf5a566d457090 commit], [http://git.kernel.org/linus/fbbbad4bc2101e452b24e6e65d3d5e11314a0b5f commit], [http://git.kernel.org/linus/d475c6346a38aef3058eba96867bfa726a3cc940 commit], [http://git.kernel.org/linus/289c6aedac981533331428bc933fff21ae332c9e commit], [http://git.kernel.org/linus/f7ca90b160307d63aaedab8bd451c24a182db20f commit], [http://git.kernel.org/linus/4c0ccfef2e9f7418a6eb0bf07a2fc8f216365b18 commit], [http://git.kernel.org/linus/95ec8daba310b44302d2977dd54b16886527b681 commit], [http://git.kernel.org/linus/6cd176a51e52e5218b1aa97e1ec916bac25a9b7e commit], [http://git.kernel.org/linus/9c3ce9ec58716733232b97771b10f31901caf62e commit], [http://git.kernel.org/linus/25726bc15731d42112b579cf73f30edbc43d3973 commit], [http://git.kernel.org/linus/a7a97fc9ff6c2fcec00feb34d9b87b94452b0b78 commit], [http://git.kernel.org/linus/d92576f1167cacf7844e5993f343eed4a6d8a147 commit], [http://git.kernel.org/linus/923ae0ff9250430133b3310fe62c47538cf1cbc1 commit] |
Linux has had, in fact, support for this kind of setups [[http://kernelnewbies.org/Linux_2_6_13|since 2.6.13]]. But the code wasn't maintaned and only supported ext2. In this release, Linux adds DAX (Direct Access, the X is for eXciting). DAX removes the extra copy incurred by the buffer by performing reads and writes directly to the persistent-memory storage device. For file mappings, the storage device is mapped directly into userspace. Support for ext4 has been added. Recommended LWN article: [[http://lwn.net/Articles/610174/|Supporting filesystems in persistent memory]] Code: [[https://git.kernel.org/linus/283307c7607de2a06d3bfae4cfbf5a566d457090|commit]], [[https://git.kernel.org/linus/fbbbad4bc2101e452b24e6e65d3d5e11314a0b5f|commit]], [[https://git.kernel.org/linus/d475c6346a38aef3058eba96867bfa726a3cc940|commit]], [[https://git.kernel.org/linus/289c6aedac981533331428bc933fff21ae332c9e|commit]], [[https://git.kernel.org/linus/f7ca90b160307d63aaedab8bd451c24a182db20f|commit]], [[https://git.kernel.org/linus/4c0ccfef2e9f7418a6eb0bf07a2fc8f216365b18|commit]], [[https://git.kernel.org/linus/95ec8daba310b44302d2977dd54b16886527b681|commit]], [[https://git.kernel.org/linus/6cd176a51e52e5218b1aa97e1ec916bac25a9b7e|commit]], [[https://git.kernel.org/linus/9c3ce9ec58716733232b97771b10f31901caf62e|commit]], [[https://git.kernel.org/linus/25726bc15731d42112b579cf73f30edbc43d3973|commit]], [[https://git.kernel.org/linus/a7a97fc9ff6c2fcec00feb34d9b87b94452b0b78|commit]], [[https://git.kernel.org/linus/d92576f1167cacf7844e5993f343eed4a6d8a147|commit]], [[https://git.kernel.org/linus/923ae0ff9250430133b3310fe62c47538cf1cbc1|commit]] |
Line 45: | Line 45: |
Code: [http://git.kernel.org/linus/0b24becc810dc3be6e3f94103a866f214c282394 commit], [http://git.kernel.org/linus/bebf56a1b176c2e1c9efe44e7e6915532cc682cf commit], [http://git.kernel.org/linus/c420f167db8c799d69fe43a801c58a7f02e9d57c commit], [http://git.kernel.org/linus/ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2 commit] | Code: [[https://git.kernel.org/linus/0b24becc810dc3be6e3f94103a866f214c282394|commit]], [[https://git.kernel.org/linus/bebf56a1b176c2e1c9efe44e7e6915532cc682cf|commit]], [[https://git.kernel.org/linus/c420f167db8c799d69fe43a801c58a7f02e9d57c|commit]], [[https://git.kernel.org/linus/0316bec22ec95ea2faca6406437b0b5950553b7c|commit]], [[https://git.kernel.org/linus/ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2|commit]] |
Line 54: | Line 54: |
Recommended LWN article: [http://lwn.net/Articles/621046/ Introducing lazytime] Code: [http://git.kernel.org/linus/0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8 commit], [http://git.kernel.org/linus/1efff914afac8a965ad63817ecf8861a927c2ace commit], [http://git.kernel.org/linus/a26f49926da938f47561f386be56a83dd37a496d commit] |
Recommended LWN article: [[http://lwn.net/Articles/621046/|Introducing lazytime]] Code: [[https://git.kernel.org/linus/0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8|commit]], [[https://git.kernel.org/linus/1efff914afac8a965ad63817ecf8861a927c2ace|commit]], [[https://git.kernel.org/linus/a26f49926da938f47561f386be56a83dd37a496d|commit]] |
Line 60: | Line 60: |
In overlayfs, multiple lower layers can now be given using the the colon (":") as a separator character between the directory names. For example: | In overlayfs, multiple lower layers can now be given using the the colon (":") as a separator character between the directory names. For example: |
Line 67: | Line 67: |
Code: [http://git.kernel.org/linus/53a08cb9b8bccfe58f1228c7c27baf34a83da78b commit], [http://git.kernel.org/linus/a78d9f0d5d5ca9054703376c7c23c901807ddd87 commit] |
Code: [[https://git.kernel.org/linus/53a08cb9b8bccfe58f1228c7c27baf34a83da78b|commit]], [[https://git.kernel.org/linus/a78d9f0d5d5ca9054703376c7c23c901807ddd87|commit]] == Support Parallel NFS server, default to NFS v4.2 == Parallel NFS (pNFS) is a part of the NFS v4.1 standard that allows compute clients to access storage devices directly and in parallel. The pNFS architecture eliminates the scalability and performance issues associated with NFS servers deployed today. This is achieved by the separation of data and metadata, and moving the metadata server out of the data path. This release adds support for pNFS server, and drivers for the block layout with XFS support to use XFS filesystems as a block layout target, and the flexfiles layout. Also, in this release the NFS server defaults to NFS v4.2. Code: [[https://git.kernel.org/linus/c5c707f96fc9a6e5a57ca5baac892673270abe3d|commit]], [[https://git.kernel.org/linus/9cf514ccfacb301f3b1b4509a8ce25dffad55880|commit]], [[https://git.kernel.org/linus/8650b8a058502d6957ba13dfb5544724fa038118|commit]], [[https://git.kernel.org/linus/527851124d10f9c50b1c578e0a56fcd49922422d|commit]], [[https://git.kernel.org/linus/d67ae825a59d639e4d8b82413af84d854617a87e|commit]], [[https://git.kernel.org/linus/c23ae6017835b5bc9b9ec9d5d9c2b1523053f503|commit]] == dm-crypt scalability improvements == This release significantly increases the dm-crypt CPU scalability performance thanks to changes that enable effective use of an unbound workqueue across all available CPUs. A large battery of tests were performed to validate these changes, summary of results is available [[https://www.redhat.com/archives/dm-devel/2015-February/msg00106.html|here]] Merge: [[https://git.kernel.org/linus/a911dcdba190ddf77e9199b9917156f879f42d4b|commit]] = Drivers and architectures = All the driver and architecture-specific changes can be found in the [[http://kernelnewbies.org/Linux_4.0-DriversArch|Linux_4.0-DriversArch]] page |
Line 73: | Line 91: |
* Adds support for sys_renameat2() [http://git.kernel.org/linus/d31a1825450062b85282b4afed1c840fd306d012 commit] * Remove deprecated sysctls xfsbufd_centisecs and age_buffer_centisecs [http://git.kernel.org/linus/64af7a6ea5a4c7e12ae79415250d054424b7e0c2 commit] |
* Adds support for sys_renameat2() [[https://git.kernel.org/linus/d31a1825450062b85282b4afed1c840fd306d012|commit]] * Remove deprecated sysctls xfsbufd_centisecs and age_buffer_centisecs [[https://git.kernel.org/linus/64af7a6ea5a4c7e12ae79415250d054424b7e0c2|commit]] |
Line 78: | Line 96: |
* Support "readonly" filesystem flag to mark a FS image as read-only, tunable with tune2fs. It prevents the kernel and e2fsprogs from changing the image [http://git.kernel.org/linus/2cb5cc8b09c939c77826635956c35995b15c9331 commit] | * Support "readonly" filesystem flag to mark a FS image as read-only, tunable with tune2fs. It prevents the kernel and e2fsprogs from changing the image [[https://git.kernel.org/linus/2cb5cc8b09c939c77826635956c35995b15c9331|commit]] * Btrfs * Add code to support file creation time [[https://git.kernel.org/linus/9cc97d646216b6f2473fa4ab9f103514b86c6814|commit]] * NFSv4.1 * Allow parallel LOCK/LOCKU calls [[https://git.kernel.org/linus/b4019c0e219bb1301865f8b2efedb4773526ed91|commit]] * Allow parallel OPEN/OPEN_DOWNGRADE/CLOSE [[https://git.kernel.org/linus/63f5f796af613898669b23ccfc091ec77de7591c|commit]] |
Line 81: | Line 107: |
* Add security.* XATTR support for the UBIFS [https://git.kernel.org/linus/d7f0b70d30ffb9bbe6b8a3e1035cf0b79965ef53 commit] * Add xattr support for symlinks [https://git.kernel.org/linus/895d9db253a0b0b1f8a6e635fb2460d80bf72d5a commit] |
* Add security.* XATTR support for the UBIFS [[https://git.kernel.org/linus/d7f0b70d30ffb9bbe6b8a3e1035cf0b79965ef53|commit]] * Add xattr support for symlinks [[https://git.kernel.org/linus/895d9db253a0b0b1f8a6e635fb2460d80bf72d5a|commit]] |
Line 85: | Line 111: |
* Add a mount option journal_async_commit on ocfs2 filesystem. When this feature is opened, journal commit block can be written to disk without waiting for descriptor blocks, which can improve journal commit performance. Using the fs_mark benchmark, using journal_async_commit shows a 50% improvement [https://git.kernel.org/linus/1dfeb768475dfded66bba03a1744c2e8141d3429 commit] * Currently in case of append O_DIRECT write (block not allocated yet), ocfs2 will fall back to buffered I/O. This has some disadvantages. In this version, the direct I/O write doesn't fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now [https://git.kernel.org/linus/026749a86ebff68cb2accdcd29872d36ac148920 commit], [https://git.kernel.org/linus/160cc266639d4213c15c103074561c1b44ffe691 commit], [https://git.kernel.org/linus/18d585f0f2d4c9dc7dfe6e69dcae4933d5a428c9 commit] |
* Add a mount option journal_async_commit on ocfs2 filesystem. When this feature is opened, journal commit block can be written to disk without waiting for descriptor blocks, which can improve journal commit performance. Using the fs_mark benchmark, using journal_async_commit shows a 50% improvement [[https://git.kernel.org/linus/1dfeb768475dfded66bba03a1744c2e8141d3429|commit]] * Currently in case of append O_DIRECT write (block not allocated yet), ocfs2 will fall back to buffered I/O. This has some disadvantages. In this version, the direct I/O write doesn't fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now [[https://git.kernel.org/linus/026749a86ebff68cb2accdcd29872d36ac148920|commit]], [[https://git.kernel.org/linus/160cc266639d4213c15c103074561c1b44ffe691|commit]], [[https://git.kernel.org/linus/18d585f0f2d4c9dc7dfe6e69dcae4933d5a428c9|commit]] |
Line 89: | Line 116: |
* Introduce a batched trim [http://git.kernel.org/linus/bba681cbb231920a786cd7303462fb2632af6f36 commit] * Support "norecovery" mount option, which is mostly same as "disable_roll_forward". The only difference is that "norecovery" should be activated with read-only mount option. This can be used when user wants to check whether f2fs is mountable or not without any recovery process [http://git.kernel.org/linus/2d834bf9ac8e40d9ae2a2dcde2348bd028f87ec4 commit] * Add F2FS_IOC_GETVERSION ioctl for getting i_generation from inode, after that, users can list file's generation number by using "lsattr -v [http://git.kernel.org/linus/d49f3e890290bd1db047d02335401026d1886472 commit] |
* Introduce a batched trim [[https://git.kernel.org/linus/bba681cbb231920a786cd7303462fb2632af6f36|commit]] * Support "norecovery" mount option, which is mostly same as "disable_roll_forward". The only difference is that "norecovery" should be activated with read-only mount option. This can be used when user wants to check whether f2fs is mountable or not without any recovery process [[https://git.kernel.org/linus/2d834bf9ac8e40d9ae2a2dcde2348bd028f87ec4|commit]] * Add F2FS_IOC_GETVERSION ioctl for getting i_generation from inode, after that, users can list file's generation number by using "lsattr -v [[https://git.kernel.org/linus/d49f3e890290bd1db047d02335401026d1886472|commit]] |
Line 95: | Line 122: |
* blk-multiqueue: Add support for tag allocation policies and make libata use this blk-mq tagging, instead of rolling their own [http://git.kernel.org/linus/24391c0dc57c3756a219defaa781e68637d6ab7d commit], [http://git.kernel.org/linus/12cb5ce101abfaf74421f8cc9f196e708209eb79 commit] | |
Line 97: | Line 123: |
* loop: Add blk-mq support, which greatly improves performance for sequential and random reads [https://git.kernel.org/linus/b5dd2f6047ca108001328aac0e8588edd15f1778 commit] * Device-mapper [https://git.kernel.org/e5863d9ad754926e7d3f38b43ac8bd48ef73b097 commit] * rbd [https://git.kernel.org/linus/7ad18afad02f9802f1eeade91cf880b97e7a9902 commit] * UBI [https://git.kernel.org/linus/ff1f48ee3bb3af226f1f8993af0103794b4d4eab commit] * UBI: Implement UBI_METAONLY, a new open mode for UBI volumes, it indicates that only meta data is being changed [https://git.kernel.org/linus/fafdd2bf2638157670f28462b641150d16dbaeca commit] |
* loop: Add blk-mq support, which greatly improves performance for sequential and random reads [[https://git.kernel.org/linus/b5dd2f6047ca108001328aac0e8588edd15f1778|commit]] * Device-mapper [[https://git.kernel.org/e5863d9ad754926e7d3f38b43ac8bd48ef73b097|commit]] * rbd [[https://git.kernel.org/linus/7ad18afad02f9802f1eeade91cf880b97e7a9902|commit]] * UBI [[https://git.kernel.org/linus/ff1f48ee3bb3af226f1f8993af0103794b4d4eab|commit]] * blk-multiqueue: Add support for tag allocation policies and make libata use this blk-mq tagging, instead of rolling their own [[https://git.kernel.org/linus/24391c0dc57c3756a219defaa781e68637d6ab7d|commit]], [[https://git.kernel.org/linus/12cb5ce101abfaf74421f8cc9f196e708209eb79|commit]] * UBI: Implement UBI_METAONLY, a new open mode for UBI volumes, it indicates that only meta data is being changed [[https://git.kernel.org/linus/fafdd2bf2638157670f28462b641150d16dbaeca|commit]] |
Line 105: | Line 132: |
* rcu: Optionally run grace-period kthreads at real-time priority. Recent testing has shown that under heavy load, running RCU's grace-period kthreads at real-time priority can improve performance and reduce the incidence of RCU CPU stall warnings [https://git.kernel.org/linus/a94844b22a2e2b9155bbc0878c507850477221c2 commit] * GDB scripts for debugging the kernel. If you load vmlinux into gdb with the option enabled, the helper scripts will be automatically imported by gdb as well, and additional functions are available to analyze a Linux kernel instance. See [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/gdb-kernel-debugging.txt Documentation/gdb-kernel-debugging.txt] for further details [https://git.kernel.org/linus/3ee7b3fa2cd0182628cca8d9bb5ce2d4722e8dc5 commit] * Remove CONFIG_INIT_FALLBACK [http://git.kernel.org/linus/5125991c9a9360fbdb717e22783c970bbd140660 commit] |
* pstore: Add pmsg - user-space accessible pstore object [[https://git.kernel.org/linus/9d5438f462abd6398cdb7b3211bdcec271873a3b|commit]] * rcu: Optionally run grace-period kthreads at real-time priority. Recent testing has shown that under heavy load, running RCU's grace-period kthreads at real-time priority can improve performance and reduce the incidence of RCU CPU stall warnings [[https://git.kernel.org/linus/a94844b22a2e2b9155bbc0878c507850477221c2|commit]] * GDB scripts for debugging the kernel. If you load vmlinux into gdb with the option enabled, the helper scripts will be automatically imported by gdb as well, and additional functions are available to analyze a Linux kernel instance. See [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/gdb-kernel-debugging.txt|Documentation/gdb-kernel-debugging.txt]] for further details [[https://git.kernel.org/linus/3ee7b3fa2cd0182628cca8d9bb5ce2d4722e8dc5|commit]] * Remove CONFIG_INIT_FALLBACK [[https://git.kernel.org/linus/5125991c9a9360fbdb717e22783c970bbd140660|commit]] |
Line 111: | Line 139: |
* cgroups: Per memory cgroup slab shrinkers [https://git.kernel.org/linus/cb731d6c62bbc2f890b08ea3d0386d5dad887326 commit] * slub: optimize memory alloc/free fastpath by removing preemption on/off [https://git.kernel.org/linus/9aabf810a67cd97e2d1a48f0bab338b7680f1929 commit] * Make /dev/mem an optional device [https://git.kernel.org/linus/73f0718e74e25ac7381450a7a21257b8f26f43f0 commit] * Add support for resetting peak RSS, which can be retrieved from the VmHWM field in /proc/pid/status, by writing "5" to /proc/pid/clear_refs [http://git.kernel.org/linus/695f055936938c674473ea071ca7359a863551e7 commit] * Show page size in /proc/<pid>/numa_maps as "kernelpagesize_kB" field to help identifying the size of pages that are backing memory areas mapped by a given task. This is specially useful to help differentiating between HUGE and GIGANTIC page backed VMAs [http://git.kernel.org/linus/198d1597cc5a12d04af18b69338a5b1d66ee7020 commit] * geneve: Add Geneve GRO support [http://git.kernel.org/linus/a4c9ea5e8fec680134d22aa99b54d1cd8c226ebd commit] * zsmalloc: add statistics support [https://git.kernel.org/linus/0f050d997e275cf0e47ddc7006284eaa3c6fe049 commit] * Incorporate read-only pages into transparent huge pages [https://git.kernel.org/linus/10359213d05acf804558bda7cc9b8422a828d1cd commit] * memcontrol cgroup: Introduce the basic control files to account, partition, and limit memory using cgroups in default hierarchy mode. The old interface will be maintained, but a clearer model and improved workload performance should encourage existing users to switch over to the new one eventually [https://git.kernel.org/linus/241994ed8649f7300667be8b13a9e04ae04e05a1 commit] * Replace remap_file_pages() syscall with emulation [https://git.kernel.org/linus/c8d78c1823f46519473949d33f0d1d33fe21ea16 commit] |
* cgroups: Per memory cgroup slab shrinkers [[https://git.kernel.org/linus/cb731d6c62bbc2f890b08ea3d0386d5dad887326|commit]] * slub: optimize memory alloc/free fastpath by removing preemption on/off [[https://git.kernel.org/linus/9aabf810a67cd97e2d1a48f0bab338b7680f1929|commit]] * Add KPF_ZERO_PAGE flag for zero_page, so that userspace processes can detect zero_page in /proc/kpageflags, and then do memory analysis more accurately [[https://git.kernel.org/linus/56873f43abdcd574b25105867a990f067747b2f4|commit]] * Make /dev/mem an optional device [[https://git.kernel.org/linus/73f0718e74e25ac7381450a7a21257b8f26f43f0|commit]] * Add support for resetting peak RSS, which can be retrieved from the VmHWM field in /proc/pid/status, by writing "5" to /proc/pid/clear_refs [[https://git.kernel.org/linus/695f055936938c674473ea071ca7359a863551e7|commit]] * Show page size in /proc/<pid>/numa_maps as "kernelpagesize_kB" field to help identifying the size of pages that are backing memory areas mapped by a given task. This is specially useful to help differentiating between HUGE and GIGANTIC page backed VMAs [[https://git.kernel.org/linus/198d1597cc5a12d04af18b69338a5b1d66ee7020|commit]] * geneve: Add Geneve GRO support [[https://git.kernel.org/linus/a4c9ea5e8fec680134d22aa99b54d1cd8c226ebd|commit]] * zsmalloc: add statistics support [[https://git.kernel.org/linus/0f050d997e275cf0e47ddc7006284eaa3c6fe049|commit]] * Incorporate read-only pages into transparent huge pages [[https://git.kernel.org/linus/10359213d05acf804558bda7cc9b8422a828d1cd|commit]] * memcontrol cgroup: Introduce the basic control files to account, partition, and limit memory using cgroups in default hierarchy mode. The old interface will be maintained, but a clearer model and improved workload performance should encourage existing users to switch over to the new one eventually [[https://git.kernel.org/linus/241994ed8649f7300667be8b13a9e04ae04e05a1|commit]] * Replace remap_file_pages() syscall with emulation [[https://git.kernel.org/linus/c8d78c1823f46519473949d33f0d1d33fe21ea16|commit]] |
Line 126: | Line 155: |
* KVM: Add generic support for page modification logging, a new feature in Intel "Broadwell" Xeon CPUs that speeds up dirty page tracking [https://git.kernel.org/linus/ba0513b5b8ffbcb0cc89e2f172c0bcb70497ba2e commit] * vfio: Add device request interface indicating that the device should be released [https://git.kernel.org/linus/6140a8f5623820cec7f56c63444b9551d8d35775 commit] * vmxnet3: Make Rx ring 2 size configurable by adjusting rx-jumbo parameter of ethtool -G [https://git.kernel.org/linus/53831aa12538f8753fb77b7ab6408cce54973b30 commit] * virtio_net: add software timestamp support [https://git.kernel.org/linus/074c3582192b6cb340510b2a6e4579e78f671dcf commit] * virtio_pci: modern driver [https://git.kernel.org/linus/1fcf0512c9c870e78e1c9898ecb9458593403466 commit], add an options to disable legacy driver [https://git.kernel.org/linus/46506da5f365efe7fe3e4c9da73ab679c0382fac commit], [https://git.kernel.org/linus/ac399d8f39a860655961660efa5c67e7f3c47912 commit] |
* KVM: Add generic support for page modification logging, a new feature in Intel "Broadwell" Xeon CPUs that speeds up dirty page tracking [[https://git.kernel.org/linus/ba0513b5b8ffbcb0cc89e2f172c0bcb70497ba2e|commit]] * vfio: Add device request interface indicating that the device should be released [[https://git.kernel.org/linus/6140a8f5623820cec7f56c63444b9551d8d35775|commit]] * vmxnet3: Make Rx ring 2 size configurable by adjusting rx-jumbo parameter of ethtool -G [[https://git.kernel.org/linus/53831aa12538f8753fb77b7ab6408cce54973b30|commit]] * virtio_net: add software timestamp support [[https://git.kernel.org/linus/074c3582192b6cb340510b2a6e4579e78f671dcf|commit]] * virtio_pci: modern driver [[https://git.kernel.org/linus/1fcf0512c9c870e78e1c9898ecb9458593403466|commit]], add an options to disable legacy driver [[https://git.kernel.org/linus/46506da5f365efe7fe3e4c9da73ab679c0382fac|commit]], [[https://git.kernel.org/linus/ac399d8f39a860655961660efa5c67e7f3c47912|commit]] |
Line 135: | Line 164: |
* aesni: Add support for 192 & 256 bit keys to AES-NI RFC4106 [https://git.kernel.org/linus/e31ac32d3bc27c33f002e0c9ffd6ae08b65474e6 commit] * algif_rng: add random number generator support [https://git.kernel.org/linus/5afdfd22e6ba2260129a2a7113ab0916339c4205 commit] * octeon: add MD5 module [https://git.kernel.org/linus/1953c22f53747035b28c36dbb337ac3c10902644 commit] * qat: add support for CBC(AES) ablkcipher [https://git.kernel.org/linus/338e84f3a9740ab3582c8b6bc5a1a027794dac72 commit] |
* aesni: Add support for 192 & 256 bit keys to AES-NI RFC4106 [[https://git.kernel.org/linus/e31ac32d3bc27c33f002e0c9ffd6ae08b65474e6|commit]] * algif_rng: add random number generator support [[https://git.kernel.org/linus/5afdfd22e6ba2260129a2a7113ab0916339c4205|commit]] * octeon: add MD5 module [[https://git.kernel.org/linus/1953c22f53747035b28c36dbb337ac3c10902644|commit]] * qat: add support for CBC(AES) ablkcipher [[https://git.kernel.org/linus/338e84f3a9740ab3582c8b6bc5a1a027794dac72|commit]] |
Line 141: | Line 170: |
* Add security hooks to the Android Binder that enable security modules such as SELinux to implement controls over Binder IPC. The security hooks include support for controlling what process can become the Binder context manager, invoke a binder transaction/IPC to another process, transfer a binder reference to another process , transfer an open file to another process. These hooks have been included in the Android kernel trees since Android 4.3 [https://git.kernel.org/linus/79af73079d753b2d04e46f7445716d3b5f914dbd commit] * Smack: secmark support for netfilter [https://git.kernel.org/linus/69f287ae6fc8357e0bc561353a2d585b89ee8cdc commit] * TPM 2.0 support [https://git.kernel.org/linus/7a1d7e6dd76a2070e2d86826391468edc33bb6d6 commit], [https://git.kernel.org/linus/30fc8d138e9123f374a3c3867e7c7c5cd4004941 commit], [https://git.kernel.org/linus/aec04cbdf7231c1b0da76172de82dfa2388a80d7 commit] * Device class for TPM, sysfs files are moved from /sys/class/misc/tpmX/device/ to /sys/class/tpm/tpmX/device/ [https://git.kernel.org/linus/313d21eeab9282e01fdcecd40e9ca87e0953627f commit] = Tracing & perf = * perf mem: Enable sampling loads and stores simultaneously, it could only do one or the other before yet there was no hardware restriction preventing simultaneous collection [[https://git.kernel.org/linus/67121f85e464d66596f99afd8d188c1ae892f8fb commit] * perf tools: Support parameterized and symbolic events. See links for documentation [http://git.kernel.org/linus/688d4dfcdd624192cbf03c08402e444d1d11f294 commit], [http://git.kernel.org/linus/f9ab9c196d015f3bd8f6bd1c30785c5a49542323 commit] * AMD range breakpoints support: breakpoints are extended to support address range through perf event with initial backend support for AMD extended breakpoints. For example set write breakpoint from 0x1000 to 0x1200 (0x1000 + 512): perf record -e mem:0x1000/512:w [http://git.kernel.org/linus/3741eb9f8c3be3ec59583881c1f49980dad844e0 commit], [http://git.kernel.org/linus/d6d55f0b9d900673548515614b56ab55aa2c51f8 commit] |
* SELinux : Add security hooks to the Android Binder that enable security modules such as SELinux to implement controls over Binder IPC. The security hooks include support for controlling what process can become the Binder context manager, invoke a binder transaction/IPC to another process, transfer a binder reference to another process , transfer an open file to another process. These hooks have been included in the Android kernel trees since Android 4.3 ([[https://git.kernel.org/linus/79af73079d753b2d04e46f7445716d3b5f914dbd|commit]]). * SMACK: secmark support for netfilter ([[https://git.kernel.org/linus/69f287ae6fc8357e0bc561353a2d585b89ee8cdc|commit]]). * TPM 2.0 support (commits: [[https://git.kernel.org/linus/7a1d7e6dd76a2070e2d86826391468edc33bb6d6|1]], [[https://git.kernel.org/linus/30fc8d138e9123f374a3c3867e7c7c5cd4004941|2]], [[https://git.kernel.org/linus/aec04cbdf7231c1b0da76172de82dfa2388a80d7|3]]). * Device class for TPM, sysfs files are moved from /sys/class/misc/tpmX/device/ to /sys/class/tpm/tpmX/device/ ([[https://git.kernel.org/linus/313d21eeab9282e01fdcecd40e9ca87e0953627f|commit]]). = Tracing & perf = * perf mem: Enable sampling loads and stores simultaneously, it could only do one or the other before yet there was no hardware restriction preventing simultaneous collection [[https://git.kernel.org/linus/67121f85e464d66596f99afd8d188c1ae892f8fb|commit]] * perf tools: Support parameterized and symbolic events. See links for documentation [[https://git.kernel.org/linus/688d4dfcdd624192cbf03c08402e444d1d11f294|commit]], [[https://git.kernel.org/linus/f9ab9c196d015f3bd8f6bd1c30785c5a49542323|commit]] * AMD range breakpoints support: breakpoints are extended to support address range through perf event with initial backend support for AMD extended breakpoints. For example set write breakpoint from 0x1000 to 0x1200 (0x1000 + 512): perf record -e mem:0x1000/512:w [[https://git.kernel.org/linus/3741eb9f8c3be3ec59583881c1f49980dad844e0|commit]], [[https://git.kernel.org/linus/d6d55f0b9d900673548515614b56ab55aa2c51f8|commit]] |
Line 155: | Line 185: |
* TCP: Add the possibility to define a per route/destination congestion control algorithm. This opens up the possibility for a machine with different links to enforce specific congestion control algorithms with optimal strategies for each of them based on their network characteristics [https://git.kernel.org/linus/81164413ad096bafe8ad1068f3f095a7dd081d8b commit] * Mitigate TCP "ACK loop" DoS scenarios by rate-limiting outgoing duplicate ACKs sent in response to incoming "out of window" segments. For more details, see [https://git.kernel.org/linus/f06535c599354816cfbc653ce8965804c7385c61 merge]. Code: [https://git.kernel.org/linus/032ee4236954eb214651cb9bfc1b38ffa8fd7a01 commit], [https://git.kernel.org/linus/a9b2c06dbef48ed31cff1764c5ce824829106f4f commit], [https://git.kernel.org/linus/f2b2c582e82429270d5818fbabe653f4359d7024 commit], [https://git.kernel.org/linus/4fb17a6091674f469e8ac85dc770fbf9a9ba7cc8 commit] * udpv6: Add lockless sendmsg() support, thus allowing multiple threads to send to a single socket more efficiently [https://git.kernel.org/linus/03485f2adcde0c2d4e9228b659be78e872486bbb commit] * ipv4: Automatically bring up DSA master network devices, which allows DSA slave network devices to be used as valid interfaces for e.g: NFS root booting by allowing kernel IP auto-configuration to succeed on these interfaces [https://git.kernel.org/linus/728c02089a0e3eefb02e9927bfae50490f40e72e commit] * ipv6: Add sysctl entry(accept_ra_mtu) to disable MTU updates from router advertisements [https://git.kernel.org/linus/c2943f14534bdc4230f4da6dcd4ea03c5d8c8162 commit] * vxlan: Implement supports for the [https://tools.ietf.org/html/draft-smith-vxlan-group-policy Group Policy VXLAN extension] to provide a lightweight and simple security label mechanism across network peers based on VXLAN. It allows further mapping to a SELinux context using SECMARK, to implement ACLs directly with nftables, iptables, OVS, tc, etc [https://git.kernel.org/linus/3511494ce2f3d3b77544c79b87511a4ddb61dc89 commit] * vxlan: Add support for remote checksum offload in VXLAN. It is described [https://tools.ietf.org/html/draft-herbert-vxlan-rco-00 here]. [https://git.kernel.org/linus/dfd8645ea1bd91277f841e74c33e1f4dbbede808 commit] * net: openvswitch: Support masked set actions. [https://git.kernel.org/linus/83d2b9ba1abca241df44a502b6da950a25856b5b commit] * Infiniband: Add support for extensible query device capabilities verb to allow adding new features [https://git.kernel.org/linus/02d1aa7af17ef0e0655745ce32cab369ed040a67 commit] * Layer 2 Tunneling Protocol (l2tp): multicast notification to the registered listeners when the tunnels/sessions are created/modified/deleted [https://git.kernel.org/linus/33f72e6f0c67f673fd0c63a8182dbd9ffb8cf50b commit] * SUNRPC: Set SO_REUSEPORT socket option for TCP connections to bind multiple TCP connections to the same source address+port combination [https://git.kernel.org/linus/4dda9c8a5e34773b290c6b5938ccb36e7fcdf35c commit] * tipc: involve namespace infrastructure [https://git.kernel.org/linus/c93d3baa24095887005647984cff5de8c63d3611 commit] * 802.15.4: introduce support for cca settings [https://git.kernel.org/linus/ba2a9506a76450568cbc0d51626d94cf8528c0c7 commit] |
* TCP: Add the possibility to define a per route/destination congestion control algorithm. This opens up the possibility for a machine with different links to enforce specific congestion control algorithms with optimal strategies for each of them based on their network characteristics [[https://git.kernel.org/linus/81164413ad096bafe8ad1068f3f095a7dd081d8b|commit]] * Mitigate TCP "ACK loop" DoS scenarios by rate-limiting outgoing duplicate ACKs sent in response to incoming "out of window" segments. For more details, see [[https://git.kernel.org/linus/f06535c599354816cfbc653ce8965804c7385c61|merge]]. Code: [[https://git.kernel.org/linus/032ee4236954eb214651cb9bfc1b38ffa8fd7a01|commit]], [[https://git.kernel.org/linus/a9b2c06dbef48ed31cff1764c5ce824829106f4f|commit]], [[https://git.kernel.org/linus/f2b2c582e82429270d5818fbabe653f4359d7024|commit]], [[https://git.kernel.org/linus/4fb17a6091674f469e8ac85dc770fbf9a9ba7cc8|commit]] * udpv6: Add lockless sendmsg() support, thus allowing multiple threads to send to a single socket more efficiently [[https://git.kernel.org/linus/03485f2adcde0c2d4e9228b659be78e872486bbb|commit]] * ipv4: Automatically bring up DSA master network devices, which allows DSA slave network devices to be used as valid interfaces for e.g: NFS root booting by allowing kernel IP auto-configuration to succeed on these interfaces [[https://git.kernel.org/linus/728c02089a0e3eefb02e9927bfae50490f40e72e|commit]] * ipv6: Add sysctl entry(accept_ra_mtu) to disable MTU updates from router advertisements [[https://git.kernel.org/linus/c2943f14534bdc4230f4da6dcd4ea03c5d8c8162|commit]] * vxlan: Implement supports for the [[https://tools.ietf.org/html/draft-smith-vxlan-group-policy|Group Policy VXLAN extension]] to provide a lightweight and simple security label mechanism across network peers based on VXLAN. It allows further mapping to a SELinux context using SECMARK, to implement ACLs directly with nftables, iptables, OVS, tc, etc [[https://git.kernel.org/linus/3511494ce2f3d3b77544c79b87511a4ddb61dc89|commit]] * vxlan: Add support for remote checksum offload in VXLAN. It is described [[https://tools.ietf.org/html/draft-herbert-vxlan-rco-00|here]]. [[https://git.kernel.org/linus/dfd8645ea1bd91277f841e74c33e1f4dbbede808|commit]] * net: openvswitch: Support masked set actions. [[https://git.kernel.org/linus/83d2b9ba1abca241df44a502b6da950a25856b5b|commit]] * Infiniband: Add support for extensible query device capabilities verb to allow adding new features [[https://git.kernel.org/linus/02d1aa7af17ef0e0655745ce32cab369ed040a67|commit]] * Layer 2 Tunneling Protocol (l2tp): multicast notification to the registered listeners when the tunnels/sessions are created/modified/deleted [[https://git.kernel.org/linus/33f72e6f0c67f673fd0c63a8182dbd9ffb8cf50b|commit]] * SUNRPC: Set SO_REUSEPORT socket option for TCP connections to bind multiple TCP connections to the same source address+port combination [[https://git.kernel.org/linus/4dda9c8a5e34773b290c6b5938ccb36e7fcdf35c|commit]] * tipc: involve namespace infrastructure [[https://git.kernel.org/linus/c93d3baa24095887005647984cff5de8c63d3611|commit]] * 802.15.4: introduce support for cca settings [[https://git.kernel.org/linus/ba2a9506a76450568cbc0d51626d94cf8528c0c7|commit]] |
Line 174: | Line 204: |
* Add new GCMP, GCMP-256, CCMP-256, BIP-GMAC-128, BIP-GMAC-256, and BIP-CMAC-256 cipher suites. These new cipher suites were defined in IEEE Std 802.11ac-2013 [https://git.kernel.org/linus/cfcf1682c4ca8f601a4702255958e0b1c9aa12cc commit], [https://git.kernel.org/linus/56c52da2d554f081e8fce58ecbcf6a40c605b95b commit], [https://git.kernel.org/linus/8ade538bf39b1ee53418528fdacd36b8e65621b9 commit], [https://git.kernel.org/linus/2b2ba0db1c820d04d5143452d70012cd44d7b578 commit], [https://git.kernel.org/linus/00b9cfa3ff38401bd70c34b250ca13e5ea347b4a commit] * New NL80211_ATTR_NETNS_FD which allows to set namespace via nl80211 by fd [https://git.kernel.org/linus/4b681c82d2f9bef121c912ffcaac89a004af3f2c commit] * Support per-TID station statistics [https://git.kernel.org/linus/6de39808cf1dd7b02bf42e7d8695d80f5eaf645d commit] * Allow including station info in delete event [https://git.kernel.org/linus/cf5ead822d5db2d276616ccca91f00eb3b855db2 commit], [https://git.kernel.org/linus/6f7a8d26e2668e00de524d3da0122a4411047dd2 commit] * Allow usermode to query wiphy specific regdom [https://git.kernel.org/linus/ad30ca2c03cecfb1b0749874bdceead269542de6 commit] |
* Add new GCMP, GCMP-256, CCMP-256, BIP-GMAC-128, BIP-GMAC-256, and BIP-CMAC-256 cipher suites. These new cipher suites were defined in IEEE Std 802.11ac-2013 [[https://git.kernel.org/linus/cfcf1682c4ca8f601a4702255958e0b1c9aa12cc|commit]], [[https://git.kernel.org/linus/56c52da2d554f081e8fce58ecbcf6a40c605b95b|commit]], [[https://git.kernel.org/linus/8ade538bf39b1ee53418528fdacd36b8e65621b9|commit]], [[https://git.kernel.org/linus/2b2ba0db1c820d04d5143452d70012cd44d7b578|commit]], [[https://git.kernel.org/linus/00b9cfa3ff38401bd70c34b250ca13e5ea347b4a|commit]] * New NL80211_ATTR_NETNS_FD which allows to set namespace via nl80211 by fd [[https://git.kernel.org/linus/4b681c82d2f9bef121c912ffcaac89a004af3f2c|commit]] * Support per-TID station statistics [[https://git.kernel.org/linus/6de39808cf1dd7b02bf42e7d8695d80f5eaf645d|commit]] * Allow including station info in delete event [[https://git.kernel.org/linus/cf5ead822d5db2d276616ccca91f00eb3b855db2|commit]], [[https://git.kernel.org/linus/6f7a8d26e2668e00de524d3da0122a4411047dd2|commit]] * Allow usermode to query wiphy specific regdom [[https://git.kernel.org/linus/ad30ca2c03cecfb1b0749874bdceead269542de6|commit]] |
Line 181: | Line 211: |
* offload bridge port attributes to switch ASIC if feature flag set [https://git.kernel.org/linus/68e331c785b85b78f4155e2ab6f90e976b609dc1 commit] * Support for allowing userspace to pack multiple vlans and VLAN ranges in setlink and dellink requests for improved performance [https://git.kernel.org/linus/bdced7ef7838c1c4aebe9f295e44b7f0dcae2109 commit] * Add ability to enable TSO [https://git.kernel.org/linus/f902e8812ef657c6cf744ac25e21865217155460 commit] |
* offload bridge port attributes to switch ASIC if feature flag set [[https://git.kernel.org/linus/68e331c785b85b78f4155e2ab6f90e976b609dc1|commit]] * Support for allowing userspace to pack multiple vlans and VLAN ranges in setlink and dellink requests for improved performance [[https://git.kernel.org/linus/bdced7ef7838c1c4aebe9f295e44b7f0dcae2109|commit]] * Add ability to enable TSO [[https://git.kernel.org/linus/f902e8812ef657c6cf744ac25e21865217155460|commit]] |
Line 186: | Line 216: |
* HCI over NCI protocol support (Some secure elements only understand HCI and thus we need to send them HCI frames) [https://git.kernel.org/linus/11f54f228643d0248ec00ce8c9fb8d872f87e7b8 commit] * NCI NFCEE (NFC Execution Environment, typically an embedded or external secure element) discovery and enabling/disabling support [https://git.kernel.org/linus/8277f6937ae97c51ced5b54faa4934613c76999c commit], [https://git.kernel.org/linus/af9c8aa67d07adcd3b41fb2934af7af056eabecf commit], [https://git.kernel.org/linus/f7f793f31378d5e83276871339c2a8374b0e8657 commit], [https://git.kernel.org/linus/a41bb8448ebaebe1d0d9a268d340fad73c247e09 commit], [https://git.kernel.org/linus/4aeee6871e8c3b043ef02996db8ac70a1af8be92 commit], [https://git.kernel.org/linus/6095b0f07d9b1abd98484bc33b329e06a684115b commit], [https://git.kernel.org/linus/736bb9577407d3556d81c3c3cd57581cd3ae10ea commit] * NFC_EVT_TRANSACTION userspace API addition, it is sent through netlink in order for a specific application running on a secure element to notify userspace of an event [https://git.kernel.org/linus/447b27c4f29b510b98e99395120d635f009ed563 commit] * Tx timestamps are looped onto the error queue on top of an skb. This mechanism leaks packet headers to processes unless the no-payload options SOF_TIMESTAMPING_OPT_TSONLY is set. A new sysctl (tstamp_allow_data) optionally drops looped timestamp with data. This only affects processes without CAP_NET_RAW [https://git.kernel.org/linus/b245be1f4db1a0394e4b6eb66059814b46670ac3 commit], [https://git.kernel.org/linus/49ca0d8bfaf3bc46d5eef60ce67b00eb195bd392 commit], [https://git.kernel.org/linus/2368592365bc97e941d0c641a3ba24b06d2c469b commit] |
* HCI over NCI protocol support (Some secure elements only understand HCI and thus we need to send them HCI frames) [[https://git.kernel.org/linus/11f54f228643d0248ec00ce8c9fb8d872f87e7b8|commit]] * NCI NFCEE (NFC Execution Environment, typically an embedded or external secure element) discovery and enabling/disabling support [[https://git.kernel.org/linus/8277f6937ae97c51ced5b54faa4934613c76999c|commit]], [[https://git.kernel.org/linus/af9c8aa67d07adcd3b41fb2934af7af056eabecf|commit]], [[https://git.kernel.org/linus/f7f793f31378d5e83276871339c2a8374b0e8657|commit]], [[https://git.kernel.org/linus/a41bb8448ebaebe1d0d9a268d340fad73c247e09|commit]], [[https://git.kernel.org/linus/4aeee6871e8c3b043ef02996db8ac70a1af8be92|commit]], [[https://git.kernel.org/linus/6095b0f07d9b1abd98484bc33b329e06a684115b|commit]], [[https://git.kernel.org/linus/736bb9577407d3556d81c3c3cd57581cd3ae10ea|commit]] * NFC_EVT_TRANSACTION userspace API addition, it is sent through netlink in order for a specific application running on a secure element to notify userspace of an event [[https://git.kernel.org/linus/447b27c4f29b510b98e99395120d635f009ed563|commit]] * Tx timestamps are looped onto the error queue on top of an skb. This mechanism leaks packet headers to processes unless the no-payload options SOF_TIMESTAMPING_OPT_TSONLY is set. A new sysctl (tstamp_allow_data) optionally drops looped timestamp with data. This only affects processes without CAP_NET_RAW [[https://git.kernel.org/linus/b245be1f4db1a0394e4b6eb66059814b46670ac3|commit]], [[https://git.kernel.org/linus/49ca0d8bfaf3bc46d5eef60ce67b00eb195bd392|commit]], [[https://git.kernel.org/linus/2368592365bc97e941d0c641a3ba24b06d2c469b|commit]] |
Line 192: | Line 222: |
* Enable LE Data Length Extension feature from Bluetooth 4.2 specification [https://git.kernel.org/linus/a9f6068e0072839594d246089204644bffd2c988 commit] * Expose information in debugfs: Secure Simple Pairing [https://git.kernel.org/linus/6e07231a80de33a3721c971e560316d04db16de8 commit], debug keys usage setting [https://git.kernel.org/linus/0886aea6acd27006888c36bad1fa5f80dac1e171 commit], hardware error code [https://git.kernel.org/linus/5789f37cbc560aff45ff4d00673705eac92d3b4d commit], remote OOB information [https://git.kernel.org/linus/6858bcd073c9ff36f5d341dc6da011a53954fa9a commit] * HCI Read Stored Link Keys [https://git.kernel.org/linus/cb9627806ce898c436dc74252718e4a757b33bc3 commit], [https://git.kernel.org/linus/c2f0f979276fc4911cef5da2fc113f0daeda3ebc commit] * HCI Delete Stored Link Key [https://git.kernel.org/linus/48ce62c4fae7e817d9018020345bbe30a6b9c446 commit], [https://git.kernel.org/linus/a93661203641eb5e8aa9bbed8d9689e5d5dbe6b1 commit] * Support static address when BR/EDR has been disabled [https://git.kernel.org/linus/50b5b952b7c2bf2c75c257a62a6c456a0bbfdfa3 commit] * tc: add BPF-based action. This action provides a possibility to execute custom BPF code [https://git.kernel.org/linus/d23b8ad8ab23f5a18b91e2396fb63d10f66b08d6 commit] * net: sched: Introduce connmark action [https://git.kernel.org/linus/22a5dc0e5e3e8fef804230cd73ed7b0afd4c7bae commit] * Add Transparent Ethernet Bridging GRO support [https://git.kernel.org/linus/9b174d88c257150562b0101fcc6cb6c3cb74275c commit] * netdev: introduce new NETIF_F_HW_SWITCH_OFFLOAD feature flag for switch device offloads [https://git.kernel.org/linus/aafb3e98b27977148c8c86499684f8f5c3decfbb commit] * netfilter: nft_compat: add ebtables support [https://git.kernel.org/linus/5191f4d82daf22b7ee9446f83527d2795e225974 commit] * network namespace: Add rtnl cmd to add and get peer netns ids. A user can define an id for a peer netns by providing a FD or a PID. These ids are local to the netns where it is added (i.e. valid only into this netns) [https://git.kernel.org/linus/0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218 commit], [https://git.kernel.org/linus/d37512a277dfb2cef8a578e25a3246f61399a55a commit] * openvswitch: Add support for checksums on UDP tunnels. [https://git.kernel.org/linus/b8693877ae016ac525d674d5d7a84ea0ea68ba60 commit] * openvswitch: Support VXLAN Group Policy extension [https://git.kernel.org/linus/1dd144cf5b4b47e12438c2c6883925ce1a9b499f commit] |
* Enable LE Data Length Extension feature from Bluetooth 4.2 specification [[https://git.kernel.org/linus/a9f6068e0072839594d246089204644bffd2c988|commit]] * Expose information in debugfs: Secure Simple Pairing [[https://git.kernel.org/linus/6e07231a80de33a3721c971e560316d04db16de8|commit]], debug keys usage setting [[https://git.kernel.org/linus/0886aea6acd27006888c36bad1fa5f80dac1e171|commit]], hardware error code [[https://git.kernel.org/linus/5789f37cbc560aff45ff4d00673705eac92d3b4d|commit]], remote OOB information [[https://git.kernel.org/linus/6858bcd073c9ff36f5d341dc6da011a53954fa9a|commit]] * HCI Read Stored Link Keys [[https://git.kernel.org/linus/cb9627806ce898c436dc74252718e4a757b33bc3|commit]], [[https://git.kernel.org/linus/c2f0f979276fc4911cef5da2fc113f0daeda3ebc|commit]] * HCI Delete Stored Link Key [[https://git.kernel.org/linus/48ce62c4fae7e817d9018020345bbe30a6b9c446|commit]], [[https://git.kernel.org/linus/a93661203641eb5e8aa9bbed8d9689e5d5dbe6b1|commit]] * Support static address when BR/EDR has been disabled [[https://git.kernel.org/linus/50b5b952b7c2bf2c75c257a62a6c456a0bbfdfa3|commit]] * tc: add BPF-based action. This action provides a possibility to execute custom BPF code [[https://git.kernel.org/linus/d23b8ad8ab23f5a18b91e2396fb63d10f66b08d6|commit]] * net: sched: Introduce connmark action [[https://git.kernel.org/linus/22a5dc0e5e3e8fef804230cd73ed7b0afd4c7bae|commit]] * Add Transparent Ethernet Bridging GRO support [[https://git.kernel.org/linus/9b174d88c257150562b0101fcc6cb6c3cb74275c|commit]] * netdev: introduce new NETIF_F_HW_SWITCH_OFFLOAD feature flag for switch device offloads [[https://git.kernel.org/linus/aafb3e98b27977148c8c86499684f8f5c3decfbb|commit]] * netfilter: nft_compat: add ebtables support [[https://git.kernel.org/linus/5191f4d82daf22b7ee9446f83527d2795e225974|commit]] * network namespace: Add rtnl cmd to add and get peer netns ids. A user can define an id for a peer netns by providing a FD or a PID. These ids are local to the netns where it is added (i.e. valid only into this netns) [[https://git.kernel.org/linus/0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218|commit]], [[https://git.kernel.org/linus/d37512a277dfb2cef8a578e25a3246f61399a55a|commit]] * openvswitch: Add support for checksums on UDP tunnels. [[https://git.kernel.org/linus/b8693877ae016ac525d674d5d7a84ea0ea68ba60|commit]] * openvswitch: Support VXLAN Group Policy extension [[https://git.kernel.org/linus/1dd144cf5b4b47e12438c2c6883925ce1a9b499f|commit]] = List of merges = * [[https://git.kernel.org/linus/5c30c3cc6d5de71f1248875e9213e6c109dda963|Pull hwmon updates ]] * [[https://git.kernel.org/linus/f381f906955a2b0619b5557cc53aafcc7ef27be8|Pull regmap updates ]] * [[https://git.kernel.org/linus/b0c1936c4497d7f06b143241614d85a41fec12cd|Pull spi updates ]] * [[https://git.kernel.org/linus/30d46827c2744f56bb31460007f2d16455f10720|Pull regulator updates ]] * [[https://git.kernel.org/linus/23e8fe2e16587494268510c1bc9f6952f50f0311|Pull RCU updates ]] * [[https://git.kernel.org/linus/8308756f45a12e2ff4f7749c2694fc83cdef0be9|Pull core locking updates ]] * [[https://git.kernel.org/linus/a4cbbf549a9be10b7583c44249efccd64839533d|Pull perf updates ]] * [[https://git.kernel.org/linus/5b9b28a63f2e47dac5ff3a2503bfe3ade8796aa0|Pull scheduler updates ]] * [[https://git.kernel.org/linus/0ba97bc4b4b054b71cd348dab838a7545a27b893|Pull timer updates ]] * [[https://git.kernel.org/linus/9d43bade347143b96671b38a7f81c39a81206675|Pull x86 APIC updates ]] * [[https://git.kernel.org/linus/7453311d68f16a5c587c3cbf19563c9a4fbbd41a|Pull x86 asm changes ]] * [[https://git.kernel.org/linus/80f33a5fdf66d4338789e8aa80589bda088cb35d|Pull x86 cleanups ]] * [[https://git.kernel.org/linus/072bc448cc796c4d2d3519795f38e13a6c2a14a5|Pull EFI updates ]] * [[https://git.kernel.org/linus/c93ecedab35f5305542a9fe5cfbd37377189589e|Pull x86 fpu updates ]] * [[https://git.kernel.org/linus/a8f76842142890883f46b8e7f57f87cf224a832a|Pull x86 SoC updates ]] * [[https://git.kernel.org/linus/57d3629410599a1074b02f9b2139c2a6aa2b787e|Pull x86 mm cleanups ]] * [[https://git.kernel.org/linus/e07e0d4cb0c4bfe822ec8491cc06269096a38bea|Pull x86 RAS update ]] * [[https://git.kernel.org/linus/ed824a625006e47d2584ee0bba9227a34cc06671|Pull EDAC updates ]] * [[https://git.kernel.org/linus/c2189e3a3d67e94941c568ee8fab1b86983cd024|Pull percpu changes ]] * [[https://git.kernel.org/linus/15763db134dd60504dbd93137e6654f06d639acf|Pull cgroup changes ]] * [[https://git.kernel.org/linus/44dbf058de9f46cf112518c99bb1352e8350ceb3|Pull workqueue changes ]] * [[https://git.kernel.org/linus/3e8c04eb117445d67ae2b83e08bec4005129356a|Pull libata changes ]] * [[https://git.kernel.org/linus/ab0475df5ce45d80a9e5f056cbad3a58e4930206|Pull m68k updates ]] * [[https://git.kernel.org/linus/98368ab436538103a557fc1f15f54afd8aab6712|Pull Microblaze pupdates ]] * [[https://git.kernel.org/linus/bdccc4edeb03ad68c55053b0260bdaaac547bbd9|Pull xen features and fixes ]] * [[https://git.kernel.org/linus/c08f8467939e7d2eebcba7cf2330242c4f53f2f7|Pull PCI changes ]] * [[https://git.kernel.org/linus/872912352c5be930e9568e5f3b6d73107d9f278d|Pull ACPI and power management updates ]] * [[https://git.kernel.org/linus/4b4f8580a4b77126733db8072862793d4deae66a|Pull file locking related changes #1 ]] * [[https://git.kernel.org/linus/c5452a58db9bbcb331ee92afa99a6f42e39085c7|Pull quota interface unification and misc cleanups ]] * [[https://git.kernel.org/linus/ae90fb14206efda2c2ea6d61e14f14bf0132f676|Pull xfs update ]] * [[https://git.kernel.org/linus/b2718bffb4088faf13092db30c1ebf088ddee52e|Pull gfs2 updates ]] * [[https://git.kernel.org/linus/992de5a8eca7cbd3215e3eb2c439b2c11582a58b|Merge misc updates ]] * [[https://git.kernel.org/linus/870fd0f5df4e131467612cc46db46fc3b69fd706|Pull HID updates ]] * [[https://git.kernel.org/linus/1d9c5d79e6e4385aea6f69c23ba543717434ed70|Pull live patching infrastructure ]] * [[https://git.kernel.org/linus/29afc4e9a408f2304e09c6dd0dbcfbd2356d0faa|Pull trivial tree changes ]] * [[https://git.kernel.org/linus/c5ce28df0e7c01a1de23c36ebdefcd803f2b6cbb|Pull networking updates ]] * [[https://git.kernel.org/linus/13c071907b237058b38ac85b35742a543e522059|Pull power supply and reset changes ]] * [[https://git.kernel.org/linus/6fc26fc5783add961533c819995bd97db05990f0|Pull HSI fix ]] * [[https://git.kernel.org/linus/3e63430a5cc26bc90a6e33ab33f901196b7b63ac|Pull media updates ]] * [[https://git.kernel.org/linus/a323ae93a74f669d890926187c68c711895e3454|Pull sound updates ]] * [[https://git.kernel.org/linus/e0c8453769fcaec654cd5870e84c63175658c842|Pull fbdev changes ]] * [[https://git.kernel.org/linus/718749d56214aa97015fe01b76b6d6dd0c171796|Pull input updates ]] * [[https://git.kernel.org/linus/540a7c5061f10a07748c89b6741af90db1a07252|Pull first round of SCSI updates ]] * [[https://git.kernel.org/linus/aa7ed01f93ff7e149cad46f13f66b269d59c9bc0|Pull MMC updates ]] * [[https://git.kernel.org/linus/a1df7efedab047a8ea4d5850737f03d3679726a7|Pull GPIO changes ]] * [[https://git.kernel.org/linus/ce01e871a1d44cc97cdd7e5ba6cb0c3613c15552|Pull pincontrol updates ]] * [[https://git.kernel.org/linus/bfe9183fdcc0575a648d1401facc649888a1f49a|Pull mailbox framework updates ]] * [[https://git.kernel.org/linus/73b4f63aebd6d57db4ca1d31fa6f8516651207b0|Pull documentation updates ]] * [[https://git.kernel.org/linus/6f83e5bd3e96228ee0caff0b103addb5f4e95459|Pull NFS client updates ]] * [[https://git.kernel.org/linus/07f80d41cf24b7e6e76cd97d420167932c9a7f82|Pull pstore update ]] * [[https://git.kernel.org/linus/b3d6524ff7956c5a898d51a18eaecb62a60a2b84|Pull s390 updates ]] * [[https://git.kernel.org/linus/6b00f7efb5303418c231994c91fb8239f5ada260|Pull arm64 updates ]] * [[https://git.kernel.org/linus/d3f180ea1a44aecba1b0dab2a253428e77f906bf|Pull powerpc updates ]] * [[https://git.kernel.org/linus/59d53737a8640482995fea13c6e2c0fd016115d6|Merge second set of updates ]] * [[https://git.kernel.org/linus/7184487f14eb7c2fcf8337bb16c6a63b6db1252e|Pull audit fix ]] * [[https://git.kernel.org/linus/8cc748aa76c921d8834ef00f762f31acd2c93aa8|Pull security layer updates ]] * [[https://git.kernel.org/linus/12df4289ee8e4dccf932b7186b391bb6d2b915fa|Pull ktest updates ]] * [[https://git.kernel.org/linus/41cbc01f6e49e48bc3d78158cec0a2d4ff6c906d|Pull tracing updates ]] * [[https://git.kernel.org/linus/a2f0bb03f7c499e3db72c70a62b1aa5c55d6a82b|Pull AVR32 update ]] * [[https://git.kernel.org/linus/42cf0f203e877cc7e502883d43b3f72149033d86|Pull ARM updates ]] * [[https://git.kernel.org/linus/cdd305454ebd181fa35b648c0921fe7df27d6f3b|Pull DeviceTree changes ]] * [[https://git.kernel.org/linus/a26be149facb22d30cd92cadb26f651d6fe802c9|Pull IOMMU updates ]] * [[https://git.kernel.org/linus/61845143febe6b88349acad4732adc54894009a3|Pull nfsd updates ]] * [[https://git.kernel.org/linus/87c9172f71e3f729729aad27fa6592bb795137fd|Pull jfs updates ]] * [[https://git.kernel.org/linus/5d8e7fb6916556e9b476de33404e8c9e2c9aee61|Pull md updates ]] * [[https://git.kernel.org/linus/6bec0035286119eefc32a5b1102127e6a4032cb2|Pull backing device changes ]] * [[https://git.kernel.org/linus/3e12cefbe143b4947171ff92dd50024c4841e291|Pull core block IO changes ]] * [[https://git.kernel.org/linus/8494bcf5b7c4b2416687e233dd34d4c6b6fe5653|Pull block driver changes ]] * [[https://git.kernel.org/linus/802ea9d8645d33d24b7b4cd4537c14f3e698bde0|Pull device mapper changes ]] * [[https://git.kernel.org/linus/818099574b04c5301eacbbcd441022b353a65466|Merge third set of updates ]] * [[https://git.kernel.org/linus/c7d7b98671552abade78834c522b7308bda73c0d|Pull f2fs updates ]] * [[https://git.kernel.org/linus/b9085bcbf5f43adf60533f9b635b2e7faeed0fe9|Pull KVM update ]] * [[https://git.kernel.org/linus/f1252515d901ee2a184a9d49a7f29ae14da823eb|Pull arch/tile changes ]] * [[https://git.kernel.org/linus/a42cf70eb81558082e9a26fe8541d160b6c2a694|Pull module update ]] * [[https://git.kernel.org/linus/db3ecdee1cf0538f11832f7ef66945c4dd903918|Pull LED subsystem update ]] * [[https://git.kernel.org/linus/18320f2a6871aaf2522f793fee4a67eccf5e131a|Pull more ACPI and power management updates ]] * [[https://git.kernel.org/linus/83e047c104aa95a8a683d6bd421df1551c17dbd2|Merge fourth set of updates ]] * [[https://git.kernel.org/linus/fee5429e028c414d80d036198db30454cfd91b7a|Pull crypto update ]] * [[https://git.kernel.org/linus/c833e17e276bd5d5f174aa924c4f102754ebc2be|Pull ACCESS_ONCE() rule tightening ]] * [[https://git.kernel.org/linus/8c988ae787af4900bec5410658e8a82844185c85|Pull UBI and UBIFS updates ]] * [[https://git.kernel.org/linus/e29876723f7cb7728f0d6a674d23f92673e9f112|Pull USB patches ]] * [[https://git.kernel.org/linus/4ba63072b998cc31515cc6305c25f3b808b50c01|Pull char / misc patches ]] * [[https://git.kernel.org/linus/9682ec9692e5ac11c6caebd079324e727b19e7ce|Pull driver core patches ]] * [[https://git.kernel.org/linus/46f7b635569731ff81a3b72d1bcd4415b293b637|Pull staging drivers patches ]] * [[https://git.kernel.org/linus/a9724125ad014decf008d782e60447c811391326|Pull tty/serial driver patches ]] * [[https://git.kernel.org/linus/1fa185ebcbcefdc5229c783450c9f0439a69f0c1|Pull CRIS changes ]] * [[https://git.kernel.org/linus/ea44a160e6dc5d3d7c680ea72dfbabef80343839|Pull m68knommu fixes ]] * [[https://git.kernel.org/linus/a68fb48380bb993306dd62a58cbd946b4348222a|Pull ARC updates ]] * [[https://git.kernel.org/linus/37507717de51a8332a34ee07fd88700be88df5bf|Pull x86 perf updates ]] * [[https://git.kernel.org/linus/3c6847eaa3da59f3bbe15eb3004ddab41ae6a201|Pull irqchip updates ]] * [[https://git.kernel.org/linus/8c334ce8f0fec7122fc3059c52a697b669a01b41|Pull clocksource updates ]] * [[https://git.kernel.org/linus/796e1c55717e9a6ff5c81b12289ffa1ffd919b6f|Pull drm updates ]] * [[https://git.kernel.org/linus/c397f8fa4379040bada53256c848e62c8b060392|Merge fifth set of updates ]] * [[https://git.kernel.org/linus/4025fa97ff39db054b47b9cdb9f3980480637668|Pull ARM SoC non-critical fixes ]] * [[https://git.kernel.org/linus/ea7531ac4a9d0b39edce43472147dc41cc2b7a34|Pull ARM SoC cleanups ]] * [[https://git.kernel.org/linus/878ba61aa98cbb97a513757800e77613f856a029|Pull ARM SoC platform changes ]] * [[https://git.kernel.org/linus/a233bb742aed62fc6164073d9835135f639b8828|Pull ARM SoC DT updates ]] * [[https://git.kernel.org/linus/18656782a820f075cb5c168a2e381a8938b1550a|Pull ARM SoC driver updates ]] * [[https://git.kernel.org/linus/03a40e29941cf7b12d9eef92cd1a56e04affbc06|Pull ARM SoC defconfig changes ]] * [[https://git.kernel.org/linus/cc4f9c2a91b7be7b3590bb1cbe8148873556aa3f|Pull ARM SoC 64-bit changes and additions ]] * [[https://git.kernel.org/linus/1d9e71404e2c3f37387991534983dcb2ab05660d|Pull security subsystem fixes ]] * [[https://git.kernel.org/linus/99fa0ad92c4fd8b529c89b3640b42323984be761|Pull suspend-to-idle updates ]] * [[https://git.kernel.org/linus/b0f0c26a2ed49eccf98a011b86fe24fb9f2b35f6|Pull arch/nios2 update ]] * [[https://git.kernel.org/linus/9cd77374f0a9cbb7ec35a9aaeb6473755afe0e3e|Pull parisc update ]] * [[https://git.kernel.org/linus/e2b74f232e84dfccd0047eb47545b1d028df8ff1|Merge yet more updates ]] * [[https://git.kernel.org/linus/50652963eae6afe13678dc84d789a174306a4df7|Pull misc VFS updates ]] * [[https://git.kernel.org/linus/c6b1de1b646fe232206d4065df4d14040cebd613|Pull debugfs patches ]] * [[https://git.kernel.org/linus/05016b0f0a9d900e976db7f50a7761c0aefe5a1c|Pull getname/putname updates ]] * [[https://git.kernel.org/linus/66dc830d14a222c9214a8557e9feb1e4a67a3857|Pull iov_iter updates ]] * [[https://git.kernel.org/linus/038911597e17017cee55fe93d521164a27056866|Pull lazytime mount option support ]] * [[https://git.kernel.org/linus/fbe4da49f86bbc08a1f7994338522bf77d47300d|Pull DocBook build fix ]] * [[https://git.kernel.org/linus/f5af19d10d151c5a2afae3306578f485c244db25|Pull networking updates ]] * [[https://git.kernel.org/linus/402521b8f7cc1f4f442418cc98ec6e37388207b0|Pull MTD updates ]] * [[https://git.kernel.org/linus/a5ac1fb13c1265f942ea1d24c43b42d76c1660c2|Pull fireware updates ]] * [[https://git.kernel.org/linus/928fce2f6d8152d897790c1a5bbeef5642f69e0e|Pull watchdog updates ]] * [[https://git.kernel.org/linus/ce1d3fde87d1a21f1ec1147dde32b2825dd3a276|Pull dmaengine updates ]] * [[https://git.kernel.org/linus/9a8b2aa534f23a61a57385309667e42e96941116|Pull pwm updates ]] * [[https://git.kernel.org/linus/5c2770079fb9b8c5bfb7113d9e76de66e77a0e24|Pull MFD updates ]] * [[https://git.kernel.org/linus/53861af9a17022898619a2ae4ead0dfc601b7c13|Pull virtio updates ]] * [[https://git.kernel.org/linus/eaa0eda56223815cd9dc1225f715ff673ae77198|Pull asm-generic uaccess.h cleanup ]] * [[https://git.kernel.org/linus/27a22ee4c7d5839fd7e3e441c9d675c8a5c4c22c|Pull kbuild updates ]] * [[https://git.kernel.org/linus/773433433791b9420c2a0f86b93c91d4115d89b5|Pull misc kbuild changes ]] * [[https://git.kernel.org/linus/b11a2783974791d37e44abbb48d41e8c120b5126|Pull kconfig updates ]] * [[https://git.kernel.org/linus/6ed3e57fd2ffe63385e0073fe3cde8bf91b4c9fa|Pull platform driver update ]] * [[https://git.kernel.org/linus/89d3fa45b4add00cd0056361a2498e978cb1e119|Pull thermal managament updates ]] * [[https://git.kernel.org/linus/4533f6e27a366ecc3da4876074ebfe0cc0ea4f0f|Pull Ceph changes ]] * [[https://git.kernel.org/linus/2b9fb532d4168e8974fe49709e2c4c8d5352a64c|Pull btrfs updates ]] * [[https://git.kernel.org/linus/3d883483dc0a7261d73d8b1857a7387a1dd99eee|Pull more thermal managament updates ]] * [[https://git.kernel.org/linus/7bad2227f639723230dbc40fe32e16101321b5b7|Pull IPMI driver updates ]] * [[https://git.kernel.org/linus/4fbd0a81a0059f22d06780de96e73f9ddbccd8a4|Pull kgdb/kdb updates ]] * [[https://git.kernel.org/linus/3f4d9925e9174b8786bfbb6e9aa132aa6745078f|Pull rcu fix and x86 irq fix ]] * [[https://git.kernel.org/linus/f9677375b0c07e39c78b43aab9fb2c253a4b50c2|Pull Intel Quark SoC support ]] * [[https://git.kernel.org/linus/c189cb8ef62832f33b6cf757350a0270532a1ad8|Pull VFIO updates ]] * [[https://git.kernel.org/linus/18a8d49973667aa016e68826eeb374788b7c63b0|Pull clock framework updates ]] * [[https://git.kernel.org/linus/295324556c427d60b41668ab81a43f604533f456|Pull i2c updates ]] * [[https://git.kernel.org/linus/b5ccb078c806f4804aaf85bb59faa9b6fedf85a7|Pull InfiniBand/RDMA updates ]] * [[https://git.kernel.org/linus/1acd2de5facd7fbea499aea64a3a3d0ec7bb9b51|Pull more input updates ]] * [[https://git.kernel.org/linus/e20d3ef5406d3a28b76a63905b2a6bd3fb95c377|Pull SCSI target updates ]] * [[https://git.kernel.org/linus/a911dcdba190ddf77e9199b9917156f879f42d4b|Pull more device mapper changes ]] * [[https://git.kernel.org/linus/2bfedd1d9f470506d98cb5662ced381c38225968|Pull followup block layer updates ]] * [[https://git.kernel.org/linus/cd50b70ccd5c87794ec28bfb87b7fba9961eb0ae|Pull one more batch of power management and ACPI updates ]] * [[https://git.kernel.org/linus/24a52e412ef22989b63c35428652598dc995812c|Pull more NFS client updates ]] * [[https://git.kernel.org/linus/93aaa830fc173560505c3411806509299d8871ce|Pull xfs pnfs block layout support ]] * [[https://git.kernel.org/linus/c8c6c9ba39e3fe65cf3497d692bf6fe808ff222b|Pull misc SCSI patches ]] * [[https://git.kernel.org/linus/21770332330800194cb9a76f802e9c77bcb690d3|Pull ARM SoC fixes ]] * [[https://git.kernel.org/linus/a135c717d5cdb311cff7661af4c17fef0562e590|Pull MIPS updates ]] * [[https://git.kernel.org/linus/be5e6616dd74e17fdd8e16ca015cfef94d49b467|Pull more vfs updates ]] * [[https://git.kernel.org/linus/feaf222925cdfbc841a695fd30df8c6d0a694146|Pull ext4 fixes ]] = Other news sites = * LWN: [[http://lwn.net/Articles/632761/|The merge window opens]], [[http://lwn.net/Articles/633096/|merge window part 2]], [[http://lwn.net/Articles/634471/|The end of the 4.0 merge window]] * Phoronix [[http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.0-rc1-Kernel-Released|list of changes]] |
Linux 4.0 has been released on Sun, 12 Apr 2015.
Summary: This release adds support for live patching the kernel code, aimed primarily at fixing security updates without rebooting; DAX, a way to avoid using the kernel cache when filesystems run on systems with persistent memory storage; kasan, a dynamic memory error detector that allows to find use-after-free and out-of-bounds bugs; lazytime, an alternative to relatime, which causes access, modified and changed time updates to only be made in the cache and written to the disk opportunistically; allow overlayfs to have multiple lower layers, support of Parallel NFS server architecture; and dm-crypt CPU scalability improvements. There are also new drivers and many other small improvements.
Contents
1. Prominent features
1.1. Arbitrary version change
This release increases the version to 4.0. This switch from 3.x to 4.0 version numbers is, however, entirely meaningless and it should not be associated to any important changes in the kernel. This release could have been 3.20, but Linus Torvalds just got tired of the old number, made a poll, and changed it. Yes, it is frivolous. The less you think about it, the better.
1.2. Live patching
This release introduces "livepatch", a feature for live patching the kernel code, aimed primarily at systems who want to get security updates without needing to reboot. This feature has been born as result of merging kgraft and kpatch, two attempts by SuSE and Red Hat that where started to replace the now propietary ksplice. It's relatively simple and minimalistic, as it's making use of existing kernel infrastructure (namely ftrace) as much as possible. It's also self-contained and it doesn't hook itself in any other kernel subsystems.
In this release livepatch is not feature complete, yet it provides a basic infrastructure for function "live patching" (i.e. code redirection), including API for kernel modules containing the actual patches, and API/ABI for userspace to be able to operate on the patches (look up what patches are applied, enable/disable them, etc). Most CVEs should be safe to apply this way. Only the x86 architecture is supported in this release, others will follow.
For more details see the merge commit
Sample live patching module: commit
Code commit
1.3. DAX - Direct Access, for persistent memory storage
Before being read by programs, files are usually first copied from the disk to the kernel caches, kept in RAM. But the possible advent of persistent non-volatile memory that would be also be used as disk changes radically the way the kernel deals with this process: the kernel cache would become unnecesary overhead.
Linux has had, in fact, support for this kind of setups since 2.6.13. But the code wasn't maintaned and only supported ext2. In this release, Linux adds DAX (Direct Access, the X is for eXciting). DAX removes the extra copy incurred by the buffer by performing reads and writes directly to the persistent-memory storage device. For file mappings, the storage device is mapped directly into userspace. Support for ext4 has been added.
Recommended LWN article: Supporting filesystems in persistent memory
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.4. kasan, kernel address sanitizer
Kernel Address sanitizer (KASan) is a dynamic memory error detector. It provides fast and comprehensive solution for finding use-after-free and out-of-bounds bugs. Linux already has the kmemcheck feature, but unlike kmemcheck, KASan uses compile-time instrumentation, which makes it significantly faster than kmemcheck.
The main idea of KASAN is to use shadow memory to record whether each byte of memory is safe to access or not, and use compiler's instrumentation to check the shadow memory on each memory access. Address sanitizer uses 1/8 of the memory addressable in kernel for shadow memory and uses direct mapping with a scale and offset to translate a memory address to its corresponding shadow address.
Code: commit, commit, commit, commit, commit
1.5. "lazytime" option for better update of file timestamps
Unix filesystems keep track of information about files, such as the last time a file was accessed or modified. Keeping track of this information is very expensive, specially the time when a file was accessed ("atime"), which encourages many people to disable it with the mount option "noatime". To alleviate this problem, the "relatime" mount option was added, the atime is only updated if the previous value is earlier than the modification time, or if the file was last accessed more than 24 hours ago. This behaviour, however, breaks some programs that rely on accurate access time tracking to work, and it's also against the POSIX standard.
In this release, Linux adds another alternative: "lazytime". Lazytime causes access, modified and changed time updates to only be made in the cache. The times will only be written to the disk if the inode needs to be updated anyway for some non-time related change, if fsync(), syncfs() or sync() are called, or just before an undeleted inode is evicted from memory. This is POSIX compliant, while at the same time improving the performance.
Recommended LWN article: Introducing lazytime
1.6. Multiple lower layers in overlayfs
In overlayfs, multiple lower layers can now be given using the the colon (":") as a separator character between the directory names. For example:
- mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged
The specified lower directories will be stacked beginning from the rightmost one and going left. In the above example lower1 will be the top, lower2 the middle and lower3 the bottom layer. "upperdir=" and "workdir=" may be omitted, in that case the overlay will be read-only.
1.7. Support Parallel NFS server, default to NFS v4.2
Parallel NFS (pNFS) is a part of the NFS v4.1 standard that allows compute clients to access storage devices directly and in parallel. The pNFS architecture eliminates the scalability and performance issues associated with NFS servers deployed today. This is achieved by the separation of data and metadata, and moving the metadata server out of the data path.
This release adds support for pNFS server, and drivers for the block layout with XFS support to use XFS filesystems as a block layout target, and the flexfiles layout.
Also, in this release the NFS server defaults to NFS v4.2.
Code: commit, commit, commit, commit, commit, commit
1.8. dm-crypt scalability improvements
This release significantly increases the dm-crypt CPU scalability performance thanks to changes that enable effective use of an unbound workqueue across all available CPUs. A large battery of tests were performed to validate these changes, summary of results is available here
Merge: commit
2. Drivers and architectures
All the driver and architecture-specific changes can be found in the Linux_4.0-DriversArch page
3. File systems
- XFS
- EXT4
Support "readonly" filesystem flag to mark a FS image as read-only, tunable with tune2fs. It prevents the kernel and e2fsprogs from changing the image commit
- Btrfs
Add code to support file creation time commit
- NFSv4.1
- UBIFS
- OCFS2
Add a mount option journal_async_commit on ocfs2 filesystem. When this feature is opened, journal commit block can be written to disk without waiting for descriptor blocks, which can improve journal commit performance. Using the fs_mark benchmark, using journal_async_commit shows a 50% improvement commit
Currently in case of append O_DIRECT write (block not allocated yet), ocfs2 will fall back to buffered I/O. This has some disadvantages. In this version, the direct I/O write doesn't fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now commit, commit, commit
- F2FS
Introduce a batched trim commit
Support "norecovery" mount option, which is mostly same as "disable_roll_forward". The only difference is that "norecovery" should be activated with read-only mount option. This can be used when user wants to check whether f2fs is mountable or not without any recovery process commit
Add F2FS_IOC_GETVERSION ioctl for getting i_generation from inode, after that, users can list file's generation number by using "lsattr -v commit
4. Block
- Ported to blk-multiqueue
blk-multiqueue: Add support for tag allocation policies and make libata use this blk-mq tagging, instead of rolling their own commit, commit
UBI: Implement UBI_METAONLY, a new open mode for UBI volumes, it indicates that only meta data is being changed commit
5. Core (various)
pstore: Add pmsg - user-space accessible pstore object commit
rcu: Optionally run grace-period kthreads at real-time priority. Recent testing has shown that under heavy load, running RCU's grace-period kthreads at real-time priority can improve performance and reduce the incidence of RCU CPU stall warnings commit
GDB scripts for debugging the kernel. If you load vmlinux into gdb with the option enabled, the helper scripts will be automatically imported by gdb as well, and additional functions are available to analyze a Linux kernel instance. See Documentation/gdb-kernel-debugging.txt for further details commit
Remove CONFIG_INIT_FALLBACK commit
6. Memory management
cgroups: Per memory cgroup slab shrinkers commit
slub: optimize memory alloc/free fastpath by removing preemption on/off commit
Add KPF_ZERO_PAGE flag for zero_page, so that userspace processes can detect zero_page in /proc/kpageflags, and then do memory analysis more accurately commit
Make /dev/mem an optional device commit
Add support for resetting peak RSS, which can be retrieved from the VmHWM field in /proc/pid/status, by writing "5" to /proc/pid/clear_refs commit
Show page size in /proc/<pid>/numa_maps as "kernelpagesize_kB" field to help identifying the size of pages that are backing memory areas mapped by a given task. This is specially useful to help differentiating between HUGE and GIGANTIC page backed VMAs commit
geneve: Add Geneve GRO support commit
zsmalloc: add statistics support commit
Incorporate read-only pages into transparent huge pages commit
memcontrol cgroup: Introduce the basic control files to account, partition, and limit memory using cgroups in default hierarchy mode. The old interface will be maintained, but a clearer model and improved workload performance should encourage existing users to switch over to the new one eventually commit
Replace remap_file_pages() syscall with emulation commit
7. Virtualization
KVM: Add generic support for page modification logging, a new feature in Intel "Broadwell" Xeon CPUs that speeds up dirty page tracking commit
vfio: Add device request interface indicating that the device should be released commit
vmxnet3: Make Rx ring 2 size configurable by adjusting rx-jumbo parameter of ethtool -G commit
virtio_net: add software timestamp support commit
virtio_pci: modern driver commit, add an options to disable legacy driver commit, commit
8. Cryptography
aesni: Add support for 192 & 256 bit keys to AES-NI RFC4106 commit
algif_rng: add random number generator support commit
octeon: add MD5 module commit
qat: add support for CBC(AES) ablkcipher commit
9. Security
SELinux : Add security hooks to the Android Binder that enable security modules such as SELinux to implement controls over Binder IPC. The security hooks include support for controlling what process can become the Binder context manager, invoke a binder transaction/IPC to another process, transfer a binder reference to another process , transfer an open file to another process. These hooks have been included in the Android kernel trees since Android 4.3 (commit).
SMACK: secmark support for netfilter (commit).
Device class for TPM, sysfs files are moved from /sys/class/misc/tpmX/device/ to /sys/class/tpm/tpmX/device/ (commit).
10. Tracing & perf
perf mem: Enable sampling loads and stores simultaneously, it could only do one or the other before yet there was no hardware restriction preventing simultaneous collection commit
perf tools: Support parameterized and symbolic events. See links for documentation commit, commit
AMD range breakpoints support: breakpoints are extended to support address range through perf event with initial backend support for AMD extended breakpoints. For example set write breakpoint from 0x1000 to 0x1200 (0x1000 + 512): perf record -e mem:0x1000/512:w commit, commit
11. Networking
TCP: Add the possibility to define a per route/destination congestion control algorithm. This opens up the possibility for a machine with different links to enforce specific congestion control algorithms with optimal strategies for each of them based on their network characteristics commit
Mitigate TCP "ACK loop" DoS scenarios by rate-limiting outgoing duplicate ACKs sent in response to incoming "out of window" segments. For more details, see merge. Code: commit, commit, commit, commit
udpv6: Add lockless sendmsg() support, thus allowing multiple threads to send to a single socket more efficiently commit
ipv4: Automatically bring up DSA master network devices, which allows DSA slave network devices to be used as valid interfaces for e.g: NFS root booting by allowing kernel IP auto-configuration to succeed on these interfaces commit
ipv6: Add sysctl entry(accept_ra_mtu) to disable MTU updates from router advertisements commit
vxlan: Implement supports for the Group Policy VXLAN extension to provide a lightweight and simple security label mechanism across network peers based on VXLAN. It allows further mapping to a SELinux context using SECMARK, to implement ACLs directly with nftables, iptables, OVS, tc, etc commit
vxlan: Add support for remote checksum offload in VXLAN. It is described here. commit
net: openvswitch: Support masked set actions. commit
Infiniband: Add support for extensible query device capabilities verb to allow adding new features commit
Layer 2 Tunneling Protocol (l2tp): multicast notification to the registered listeners when the tunnels/sessions are created/modified/deleted commit
SUNRPC: Set SO_REUSEPORT socket option for TCP connections to bind multiple TCP connections to the same source address+port combination commit
tipc: involve namespace infrastructure commit
802.15.4: introduce support for cca settings commit
- Wireless
Add new GCMP, GCMP-256, CCMP-256, BIP-GMAC-128, BIP-GMAC-256, and BIP-CMAC-256 cipher suites. These new cipher suites were defined in IEEE Std 802.11ac-2013 commit, commit, commit, commit, commit
New NL80211_ATTR_NETNS_FD which allows to set namespace via nl80211 by fd commit
Support per-TID station statistics commit
Allow usermode to query wiphy specific regdom commit
- bridge
- Near Field Communication (NFC)
HCI over NCI protocol support (Some secure elements only understand HCI and thus we need to send them HCI frames) commit
NCI NFCEE (NFC Execution Environment, typically an embedded or external secure element) discovery and enabling/disabling support commit, commit, commit, commit, commit, commit, commit
NFC_EVT_TRANSACTION userspace API addition, it is sent through netlink in order for a specific application running on a secure element to notify userspace of an event commit
Tx timestamps are looped onto the error queue on top of an skb. This mechanism leaks packet headers to processes unless the no-payload options SOF_TIMESTAMPING_OPT_TSONLY is set. A new sysctl (tstamp_allow_data) optionally drops looped timestamp with data. This only affects processes without CAP_NET_RAW commit, commit, commit
- Bluetooth
tc: add BPF-based action. This action provides a possibility to execute custom BPF code commit
net: sched: Introduce connmark action commit
Add Transparent Ethernet Bridging GRO support commit
netdev: introduce new NETIF_F_HW_SWITCH_OFFLOAD feature flag for switch device offloads commit
netfilter: nft_compat: add ebtables support commit
openvswitch: Add support for checksums on UDP tunnels. commit
openvswitch: Support VXLAN Group Policy extension commit
12. List of merges