SCSI: enclosure: fix oops while iterating enclosure_status array
authorJames Bottomley <James.Bottomley@suse.de>
Thu, 26 Nov 2009 15:50:20 +0000 (09:50 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 25 Jan 2010 18:49:37 +0000 (10:49 -0800)
commit8cef765ff1eafb77cc40e8dad7a7a00190d9a6fc
tree6d79504253ca90aa17f163c7ad9f014d596a5277
parent5f0ab2dfbf84454894568377e4dd6578ef3938f3
SCSI: enclosure: fix oops while iterating enclosure_status array

commit cc9b2e9f6603190c009e5d2629ce8e3f99571346 upstream.

Based on patch originally by Jeff Mahoney <jeffm@suse.com>

 enclosure_status is expected to be a NULL terminated array of strings
 but isn't actually NULL terminated. When writing an invalid value to
 /sys/class/enclosure/.../.../status, it goes off the end of the array
 and Oopses.

Fix by making the assumption true and adding NULL at the end.

Reported-by: Artur Wojcik <artur.wojcik@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/misc/enclosure.c
include/linux/enclosure.h