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 |