[PATCH] staging/ipack: Fix bug introduced by IPack device matching

Samuel Iglesias Gonsálvez siglesias at igalia.com
Thu Sep 6 16:53:14 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/06/2012 06:17 PM, Jens Taprogge wrote:
> ~0 is not casted to u8.  Instead of using the IPACK_ANY_ID for the 
> format field we introduce a new IPACK_ANY_FORMAT specifically for
> that field and defined as 0xff.
> 
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com> 
> Signed-off-by: Jens Taprogge <jens.taprogge at taprogge.org> --- 
> drivers/staging/ipack/ipack.c   |    3 ++- 
> include/linux/mod_devicetable.h |    1 + 2 files changed, 3
> insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/ipack/ipack.c
> b/drivers/staging/ipack/ipack.c index b3736c0..659aadc 100644 ---
> a/drivers/staging/ipack/ipack.c +++
> b/drivers/staging/ipack/ipack.c @@ -31,7 +31,8 @@ static inline
> const struct ipack_device_id * ipack_match_one_device(const struct
> ipack_device_id *id, const struct ipack_device *device) { -	if
> ((id->format == IPACK_ANY_ID || id->format == device->id_format)
> && +	if ((id->format == IPACK_ANY_FORMAT || +				id->format ==
> device->id_format) && (id->vendor == IPACK_ANY_ID || id->vendor ==
> device->id_vendor) && (id->device == IPACK_ANY_ID || id->device ==
> device->id_device)) return id; diff --git
> a/include/linux/mod_devicetable.h
> b/include/linux/mod_devicetable.h index 999c4c2..70c6a35 100644 ---
> a/include/linux/mod_devicetable.h +++
> b/include/linux/mod_devicetable.h @@ -600,6 +600,7 @@ struct
> x86_cpu_id { #define X86_MODEL_ANY  0 #define X86_FEATURE_ANY 0	/*
> Same as FPU, you can't test for that */
> 
> +#define IPACK_ANY_FORMAT 0xff #define IPACK_ANY_ID (~0) struct
> ipack_device_id { __u8  format;			/* Format version or IPACK_ANY_ID
> */
> 

Acked-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

Sam

- -- 
Samuel Iglesias Gonsálvez
Igalia - http://www.igalia.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBI1PoACgkQWrfbyfmd9eLq2QCfWSZRSNzNueyhOkGpnw9pQ0/P
KxEAn23U+cShmqZYuh4tYwOH3adk1rCG
=lPpe
-----END PGP SIGNATURE-----



More information about the devel mailing list