[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1462144105.2337.11.camel@linux.vnet.ibm.com>
Date: Sun, 01 May 2016 16:08:25 -0700
From: James Bottomley <jejb@...ux.vnet.ibm.com>
To: William Breathitt Gray <vilhelm.gray@...il.com>,
martin.petersen@...cle.com
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] scsi: ultrastor: Use correct format identifier
for kernel pointer
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
Powered by blists - more mailing lists