lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200909221716.BGC60960.MQOOJFFFHtOVLS@I-love.SAKURA.ne.jp>
Date:	Tue, 22 Sep 2009 17:16:26 +0900
From:	Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To:	xtfeng@...il.com
Cc:	linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [2.6.31] Memory leak in SCSI initialization?

Hello.

Xiaotian Feng wrote:
> Can this patch fix your leak?
> 
> diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> index c447838..b0d3984 100644
> --- a/drivers/scsi/scsi_scan.c
> +++ b/drivers/scsi/scsi_scan.c
> @@ -318,6 +318,7 @@ out_device_destroy:
>  	scsi_device_set_state(sdev, SDEV_DEL);
>  	transport_destroy_device(&sdev->sdev_gendev);
>  	put_device(&sdev->sdev_gendev);
> +	put_device(&sdev->sdev_dev);
>  out:
>  	if (display_failure_msg)
>  		printk(ALLOC_FAILURE_MSG, __func__);
> @@ -958,6 +959,7 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
>  		sdev->host->hostt->slave_destroy(sdev);
>  	transport_destroy_device(&sdev->sdev_gendev);
>  	put_device(&sdev->sdev_gendev);
> +	put_device(&sdev->sdev_dev);
>  }
>  
>  #ifdef CONFIG_SCSI_LOGGING

No. I got slab corruption message for 14 times after applying this patch.
Isn't this patch calling put_device(&sdev->sdev_dev); more than needed?

kmemleak: Kernel memory leak detector initialized
kmemleak: Automatic memory scanning thread started
Freeing unused kernel memory: 300k freed
input: ImPS/2 Generic Wheel Mouse as /class/input/input1
SCSI subsystem initialized
Fusion MPT base driver 3.04.10
Copyright (c) 1999-2008 LSI Corporation
Fusion MPT SPI Host driver 3.04.10
mptspi 0000:00:10.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
mptbase: ioc0: Initiating bringup
ioc0: LSI53C1030 B0: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030 B0, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=17
scsi 0:0:0:0: Direct-Access     VMware,  VMware Virtual S 1.0  PQ: 0 ANSI: 2
 target0:0:0: Beginning Domain Validation
 target0:0:0: Domain Validation skipping write tests
 target0:0:0: Ending Domain Validation
 target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
sd 0:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda:
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<(null)>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
 sda1
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI disk
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
Slab corruption: size-1024 start=deb62f48, len=1024
Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
Last user: [<c0486122>](kfree+0x49/0x50)
180: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Probably bad RAM.
Run memtest86+ or a similar memory test tool.
Prev obj: start=deb62b30, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 62 6c 6f 63 6b 2f 73 64 61 00 41
010: 43 54 49 4f 4e 3d 61 64 64 00 44 45 56 50 41 54
Next obj: start=deb63360, len=1024
Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
Last user: [<c04efd04>](kobject_uevent_env+0x23b/0x35c)
000: 61 64 64 40 2f 63 6c 61 73 73 2f 73 63 73 69 5f
010: 64 65 76 69 63 65 2f 30 3a 30 3a 30 3a 30 00 41
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ