From 571e8e20da7969c14d304855b7e6754e8f2babd8 Mon Sep 17 00:00:00 2001 From: Scott Long Date: Mon, 22 Jun 2009 14:43:48 +0000 Subject: [PATCH] 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 --- sys/cam/cam_periph.c | 2 +- sys/cam/cam_periph.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c index 31bb24c3dbb..468354ea099 100644 --- a/sys/cam/cam_periph.c +++ b/sys/cam/cam_periph.c @@ -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)) diff --git a/sys/cam/cam_periph.h b/sys/cam/cam_periph.h index 8a45806a29b..f95a94f81b8 100644 --- a/sys/cam/cam_periph.h +++ b/sys/cam/cam_periph.h @@ -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,