|
@@ -2196,15 +2196,16 @@ static int grow_one_stripe(struct r5conf *conf, gfp_t gfp)
|
|
|
static int grow_stripes(struct r5conf *conf, int num)
|
|
static int grow_stripes(struct r5conf *conf, int num)
|
|
|
{
|
|
{
|
|
|
struct kmem_cache *sc;
|
|
struct kmem_cache *sc;
|
|
|
|
|
+ size_t namelen = sizeof(conf->cache_name[0]);
|
|
|
int devs = max(conf->raid_disks, conf->previous_raid_disks);
|
|
int devs = max(conf->raid_disks, conf->previous_raid_disks);
|
|
|
|
|
|
|
|
if (conf->mddev->gendisk)
|
|
if (conf->mddev->gendisk)
|
|
|
- sprintf(conf->cache_name[0],
|
|
|
|
|
|
|
+ snprintf(conf->cache_name[0], namelen,
|
|
|
"raid%d-%s", conf->level, mdname(conf->mddev));
|
|
"raid%d-%s", conf->level, mdname(conf->mddev));
|
|
|
else
|
|
else
|
|
|
- sprintf(conf->cache_name[0],
|
|
|
|
|
|
|
+ snprintf(conf->cache_name[0], namelen,
|
|
|
"raid%d-%p", conf->level, conf->mddev);
|
|
"raid%d-%p", conf->level, conf->mddev);
|
|
|
- sprintf(conf->cache_name[1], "%s-alt", conf->cache_name[0]);
|
|
|
|
|
|
|
+ snprintf(conf->cache_name[1], namelen, "%.27s-alt", conf->cache_name[0]);
|
|
|
|
|
|
|
|
conf->active_name = 0;
|
|
conf->active_name = 0;
|
|
|
sc = kmem_cache_create(conf->cache_name[conf->active_name],
|
|
sc = kmem_cache_create(conf->cache_name[conf->active_name],
|