Activity log for bug #1456952

Date Who What changed Old value New value Message
2015-05-20 09:07:08 Gavin Guo bug added bug
2015-05-20 09:24:11 Gavin Guo description 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. [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]
2015-05-20 09:25:57 Gavin Guo linux (Ubuntu): assignee Gavin Guo (mimi0213kimo)
2015-05-20 09:30:08 Brad Figg linux (Ubuntu): status New Incomplete
2015-05-20 10:22:05 Gavin Guo 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] [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
2015-05-22 09:56:46 Gavin Guo tags sts trusty sts trusty utopic vivid
2015-06-27 02:27:59 Brad Figg nominated for series Ubuntu Utopic
2015-06-27 02:27:59 Brad Figg bug task added linux (Ubuntu Utopic)
2015-06-27 02:27:59 Brad Figg nominated for series Ubuntu Vivid
2015-06-27 02:27:59 Brad Figg bug task added linux (Ubuntu Vivid)
2015-06-27 02:27:59 Brad Figg nominated for series Ubuntu Trusty
2015-06-27 02:27:59 Brad Figg bug task added linux (Ubuntu Trusty)
2015-06-27 02:28:12 Brad Figg linux (Ubuntu Trusty): status New Fix Committed
2015-06-27 02:28:15 Brad Figg linux (Ubuntu Utopic): status New Fix Committed
2015-06-27 02:28:18 Brad Figg linux (Ubuntu Vivid): status New Fix Committed
2015-07-09 15:14:46 Brad Figg tags sts trusty utopic vivid sts trusty utopic verification-needed-trusty vivid
2015-07-09 15:15:09 Brad Figg tags sts trusty utopic verification-needed-trusty vivid sts trusty utopic verification-needed-trusty verification-needed-utopic vivid
2015-07-09 15:15:58 Brad Figg tags sts trusty utopic verification-needed-trusty verification-needed-utopic vivid sts trusty utopic verification-needed-trusty verification-needed-utopic verification-needed-vivid vivid
2015-07-10 01:41:27 Gavin Guo tags sts trusty utopic verification-needed-trusty verification-needed-utopic verification-needed-vivid vivid sts trusty utopic verification-done-vivid verification-needed-trusty verification-needed-utopic vivid
2015-07-10 01:44:17 Gavin Guo tags sts trusty utopic verification-done-vivid verification-needed-trusty verification-needed-utopic vivid sts trusty utopic verification-done-utopic verification-done-vivid verification-needed-trusty vivid
2015-07-10 01:47:30 Gavin Guo tags sts trusty utopic verification-done-utopic verification-done-vivid verification-needed-trusty vivid sts trusty utopic verification-done-trusty verification-done-utopic verification-done-vivid vivid
2015-07-22 15:38:53 Launchpad Janitor linux (Ubuntu Vivid): status Fix Committed Fix Released
2015-07-22 15:40:36 Launchpad Janitor linux (Ubuntu Utopic): status Fix Committed Fix Released
2015-07-22 15:40:58 Launchpad Janitor linux (Ubuntu Trusty): status Fix Committed Fix Released
2015-07-22 15:40:58 Launchpad Janitor cve linked 2015-1805
2020-07-15 16:57:47 Guilherme G. Piccoli linux (Ubuntu): status Incomplete Fix Released
2020-07-15 16:57:52 Guilherme G. Piccoli bug added subscriber Guilherme G. Piccoli