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

From: Mike Christie
Date: Wed Jul 30 2014 - 13:22:40 EST


On 07/26/2014 11:21 AM, Christoph Hellwig wrote:
> Here's a formal one.
>
> James, can I get your signoff for it?
>
> 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@xxxxxxxxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxx>
> Tested-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> ---
> 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;

Some drivers like qla2xxx do not set proc_name. I think if 2 drivers
like that are loaded then you will hit some other warns/bugs in the kmem
cache setup code right?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/