On Sun, May 01, 2016 at 04:08:25PM -0700, James Bottomley wrote: >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 I'm sorry, I didn't realize bios_segment values were all under 20 bits; in which case they should all fit within the original 5 digit hexadecimal print. Please ignore this patch then as it was a misunderstanding on my part. Thanks, William Breathitt Gray -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html