This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- trusty' to 'verification-done-trusty'.
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-trusty ** Tags added: verification-needed-utopic -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1456952 Title: support the slub_debug boot option on specific object size Status in linux package in Ubuntu: Incomplete Status in linux source package in Trusty: Fix Committed Status in linux source package in Utopic: Fix Committed Status in linux source package in Vivid: Fix Committed Bug description: [Impact] slub_debug cannot work for specific kmem_cache size. e. g. slub_debug=PU,kmalloc-1024 The slub_debug is used to enable the debugging of use-after-free, poison overwritten, double free. And it also increases the up time of the server when the above mentioned errors happen instead of crashing immediately. However, currently, there exists bug that the slub_debug cannot be applied for the specific object size. This is not helpful to enable the whole system slub_debug because the performance loss will be up to 20%~30% according to the customer's measurement. The patch here to limit the slub_debug only on the specific object size to alleviate the performance loss. [Fix] The slub_debug=PU,kmalloc-xx cannot work because in the create_kmalloc_caches() the s->name is created after the create_kmalloc_cache() is called. The name is NULL in the create_kmalloc_cache() so the kmem_cache_flags() would not set the slub_debug flags to the s->flags. The fix here set up a kmalloc_names string array for the initialization purpose and delete the dynamic name creation of kmalloc_caches. [Test case] Install the patched kernel. sudo reboot sudo vim /etc/default/grub append "slub_debug=FPZU,kmalloc-1024" to GRUB_CMDLINE_LINUX_DEFAULT sudo update-grub sudo reboot # Check if the kmalloc-1024 debug options are enabled sudo cat /sys/kernel/slab/kmalloc-1024/sanity_checks # shoulb be 1 sudo cat /sys/kernel/slab/kmalloc-1024/red_zone # shoulb be 1 sudo cat /sys/kernel/slab/kmalloc-1024/poison # shoulb be 1 # Check other object size sudo cat /sys/kernel/slab/kmalloc-8/sanity_checks # shoulb be 0 sudo cat /sys/kernel/slab/kmalloc-8/red_zone # shoulb be 0 sudo cat /sys/kernel/slab/kmalloc-8/poison # shoulb be 0 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1456952/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp