From 3b9b29654579d56fb31e109ae5eda1c69861a319 Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Wed, 7 Apr 2004 12:39:59 +0000 Subject: [PATCH] Fix status overflow check in kernel patches. --- VERSION | 2 +- WHATS_NEW | 4 ++++ kernel/ioctl/dm-ioctl.c | 2 +- kernel/ioctl/dm-ioctl.h | 4 ++-- patches/common/linux-2.4.26-rc1-devmapper.patch | 6 +++--- patches/linux-2.4.26-rc1-devmapper-ioctl.patch | 6 +++--- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/VERSION b/VERSION index 239d160..2c12017 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.00.14-cvs (2004-04-06) +1.00.15-cvs (2004-04-07) diff --git a/WHATS_NEW b/WHATS_NEW index 442702d..f1885a6 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,3 +1,7 @@ +Version 1.00.15 - 7 Apr 2004 +============================ + Fix status overflow check in kernel patches. + Version 1.00.14 - 6 Apr 2004 ============================ Fix static selinux build. diff --git a/kernel/ioctl/dm-ioctl.c b/kernel/ioctl/dm-ioctl.c index de2ff8f..df6c07d 100644 --- a/kernel/ioctl/dm-ioctl.c +++ b/kernel/ioctl/dm-ioctl.c @@ -802,7 +802,7 @@ static void retrieve_status(struct dm_table *table, struct dm_ioctl *param, struct dm_target *ti = dm_table_get_target(table, i); remaining = len - (outptr - outbuf); - if (remaining < sizeof(struct dm_target_spec)) { + if (remaining <= sizeof(struct dm_target_spec)) { param->flags |= DM_BUFFER_FULL_FLAG; break; } diff --git a/kernel/ioctl/dm-ioctl.h b/kernel/ioctl/dm-ioctl.h index 3747637..3caa494 100644 --- a/kernel/ioctl/dm-ioctl.h +++ b/kernel/ioctl/dm-ioctl.h @@ -221,8 +221,8 @@ enum { #define DM_VERSION_MAJOR 4 #define DM_VERSION_MINOR 1 -#define DM_VERSION_PATCHLEVEL 0 -#define DM_VERSION_EXTRA "-ioctl-cvs (2004-03-31)" +#define DM_VERSION_PATCHLEVEL 1 +#define DM_VERSION_EXTRA "-ioctl-cvs (2004-04-07)" /* Status bits */ #define DM_READONLY_FLAG (1 << 0) /* In/Out */ diff --git a/patches/common/linux-2.4.26-rc1-devmapper.patch b/patches/common/linux-2.4.26-rc1-devmapper.patch index 5ce0ed0..7df1dba 100644 --- a/patches/common/linux-2.4.26-rc1-devmapper.patch +++ b/patches/common/linux-2.4.26-rc1-devmapper.patch @@ -2082,7 +2082,7 @@ + struct dm_target *ti = dm_table_get_target(table, i); + + remaining = len - (outptr - outbuf); -+ if (remaining < sizeof(struct dm_target_spec)) { ++ if (remaining <= sizeof(struct dm_target_spec)) { + param->flags |= DM_BUFFER_FULL_FLAG; + break; + } @@ -9400,8 +9400,8 @@ + +#define DM_VERSION_MAJOR 4 +#define DM_VERSION_MINOR 1 -+#define DM_VERSION_PATCHLEVEL 0 -+#define DM_VERSION_EXTRA "-ioctl (2004-03-31)" ++#define DM_VERSION_PATCHLEVEL 1 ++#define DM_VERSION_EXTRA "-ioctl (2004-04-07)" + +/* Status bits */ +#define DM_READONLY_FLAG (1 << 0) /* In/Out */ diff --git a/patches/linux-2.4.26-rc1-devmapper-ioctl.patch b/patches/linux-2.4.26-rc1-devmapper-ioctl.patch index 0e8f1c6..19619c1 100644 --- a/patches/linux-2.4.26-rc1-devmapper-ioctl.patch +++ b/patches/linux-2.4.26-rc1-devmapper-ioctl.patch @@ -2386,7 +2386,7 @@ + struct dm_target *ti = dm_table_get_target(table, i); + + remaining = len - (outptr - outbuf); -+ if (remaining < sizeof(struct dm_target_spec)) { ++ if (remaining <= sizeof(struct dm_target_spec)) { + param->flags |= DM_BUFFER_FULL_FLAG; + break; + } @@ -9755,8 +9755,8 @@ + +#define DM_VERSION_MAJOR 4 +#define DM_VERSION_MINOR 1 -+#define DM_VERSION_PATCHLEVEL 0 -+#define DM_VERSION_EXTRA "-ioctl (2004-03-31)" ++#define DM_VERSION_PATCHLEVEL 1 ++#define DM_VERSION_EXTRA "-ioctl (2004-04-07)" + +/* Status bits */ +#define DM_READONLY_FLAG (1 << 0) /* In/Out */ -- 2.43.5