Re: WARNING: CPU: 1 PID: 495 at mm/slab_common.c:69 kmem_cache_create+0x1a9/0x330()

James Bottomley
2014-07-28T07:49:42Z

On Sat, 2014-07-26 at 18:21 +0200, Christoph Hellwig wrote:
> Here's a formal one.
>
> James, can I get your signoff for it?

Sure:

Signed-off-by: James Bottomley <JBottomley@Parallels.com>

> Vladimir, can I get a reviewed-by from you (or anyone else)?
>
> ---
> >From 73b1034ab1418e2dea75ccf642bc85c728b57313 Mon Sep 17 00:00:00 2001
> From: James Bottomley <James.Bottomley@HansenPartnership.com>

That needs to be

From: James Bottomley <JBottomley@Parallels.com>

As well. I do list handling on hansenpartnership.com to minimise
exchange wreckage on mailinglists, but I should acknowledge Parallels as
supporting the work I do.

James

> Date: Sat, 26 Jul 2014 12:21:26 -0400
> Subject: scsi: use short driver name for per-driver cmd slab caches
>
> hostt->name might contain space, so use the ->proc_name short name instead
> when creating per-driver command slabs.
>
> Reported-by: Vladimir Davydov <vdavydov@parallels.com>
> Tested-by: Vladimir Davydov <vdavydov@parallels.com>
> ---
> drivers/scsi/scsi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
> index 33318f5..df33060 100644
> --- a/drivers/scsi/scsi.c
> +++ b/drivers/scsi/scsi.c
> @@ -365,8 +365,8 @@ scsi_alloc_host_cmd_pool(struct Scsi_Host *shost)
> if (!pool)
> return NULL;
>
> - pool->cmd_name = kasprintf(GFP_KERNEL, "%s_cmd", hostt->name);
> - pool->sense_name = kasprintf(GFP_KERNEL, "%s_sense", hostt->name);
> + pool->cmd_name = kasprintf(GFP_KERNEL, "%s_cmd", hostt->proc_name);
> + pool->sense_name = kasprintf(GFP_KERNEL, "%s_sense", hostt->proc_name);
> if (!pool->cmd_name || !pool->sense_name) {
> scsi_free_host_cmd_pool(pool);
> return NULL;