On Sun, 2016-05-01 at 17:57 -0400, William Breathitt Gray wrote:
> The 'bios_segment' member of a struct ultrastor_config is passed to the
> sprintf function with a respective %05X format identifier. The
> 'bio_segment' member is a kernel pointer, but the %X format identifier
> expects an int data type. A cast to int is correctly used to satisfy the
> format identifier, but this assumes that the int data type is the same
> size as the kernel pointer, which is not the case on several
> architectures such as X86_64. This patch removes the int cast and
> replaces the %05X format identifier with %pK in order to print the
> 'bio_segment' member regardless of architecture.

But this statement is wrong: ultrastor only has seven possible hard
coded bios segment values, all under 20 bits, as it happens, that's why
the printk is %05X.  Unless you're proposing to alter values in the
static table, there's no point in changing the print, is there?  Are
you proposing to alter the static table values?

James

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to