James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote: > > On Sun, 2005-10-16 at 14:08 -0700, Andrew Morton wrote: > > drivers/scsi/ips.c: In function `ips_scmd_buf_write': > > drivers/scsi/ips.c:3665: warning: null argument where non-null required (arg 1) > > drivers/scsi/ips.c: In function `ips_scmd_buf_read': > > drivers/scsi/ips.c:3697: warning: null argument where non-null required (arg 2) > > drivers/scsi/ips.c: In function `ips_register_scsi': > > > > Due to > > > > memcpy(IPS_SG_ADDRESS(&sg[i]), &cdata[xfer_cnt], > > min_cnt); > > > > I guess the compiler is saying that if IPS_SG_ADDRESS indeed evaluates to > > NULL (as it is designed to do), we have an oops. > > That's weird ... the compiler can't possibly be in a position to make > that judgement call. We have lots of places where we return null if > something goes wrong and the kernel oopses. The compiler certainly > isn't warning about all of them. Well I guess the difference is that the compiler can _see_ that IPS_SG_ADDRESS() might return NULL: #define IPS_SG_ADDRESS(sg) (page_address((sg)->page) ? \ page_address((sg)->page)+(sg)->offset : NULL) What's the point in this expression anyway? Why not just assume that page_address() returns non-NULL? - : 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