Author: scottl
Date: Mon Jun 22 14:43:48 2009
New Revision: 194627
URL: http://svn.freebsd.org/changeset/base/194627

Log:
  Change cam_periph_ioctl() to take 'cmd' and a u_long instead of an
  int.  All of its callers pass in cmd as a u_long, so this has
  always been a dangerous type demotion.  It was spooted by clang/llvm
  trying to do a type promotion and sign extension within
  cam_periph_ioctl.
  
  Submitted by: rdivacky

Modified:
  head/sys/cam/cam_periph.c
  head/sys/cam/cam_periph.h

Modified: head/sys/cam/cam_periph.c
==============================================================================
--- head/sys/cam/cam_periph.c   Mon Jun 22 14:42:14 2009        (r194626)
+++ head/sys/cam/cam_periph.c   Mon Jun 22 14:43:48 2009        (r194627)
@@ -797,7 +797,7 @@ cam_periph_ccbwait(union ccb *ccb)
 }
 
 int
-cam_periph_ioctl(struct cam_periph *periph, int cmd, caddr_t addr,
+cam_periph_ioctl(struct cam_periph *periph, u_long cmd, caddr_t addr,
                 int (*error_routine)(union ccb *ccb, 
                                      cam_flags camflags,
                                      u_int32_t sense_flags))

Modified: head/sys/cam/cam_periph.h
==============================================================================
--- head/sys/cam/cam_periph.h   Mon Jun 22 14:42:14 2009        (r194626)
+++ head/sys/cam/cam_periph.h   Mon Jun 22 14:43:48 2009        (r194627)
@@ -158,7 +158,7 @@ int         cam_periph_runccb(union ccb *ccb,
                                                       u_int32_t sense_flags),
                                  cam_flags camflags, u_int32_t sense_flags,
                                  struct devstat *ds);
-int            cam_periph_ioctl(struct cam_periph *periph, int cmd, 
+int            cam_periph_ioctl(struct cam_periph *periph, u_long cmd, 
                                 caddr_t addr,
                                 int (*error_routine)(union ccb *ccb,
                                                      cam_flags camflags,
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to