Linus,

Please pull the latest x86-cleanups-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 
x86-cleanups-for-linus

   # HEAD: 990e9dc381e6999a0eba8ebaf8747daaa8c58337 x86/ldt: Make all size 
computations unsigned

Two cleanups in the LDT handling code, by Dan Carpenter and Thomas Gleixner.

 Thanks,

        Ingo

------------------>
Dan Carpenter (1):
      x86/ldt: Make a size argument unsigned

Thomas Gleixner (1):
      x86/ldt: Make all size computations unsigned


 arch/x86/events/core.c             |  2 +-
 arch/x86/include/asm/mmu_context.h |  2 +-
 arch/x86/kernel/ldt.c              | 12 ++++++------
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 6e395c996900..55e6c8a397c2 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2299,7 +2299,7 @@ valid_user_frame(const void __user *fp, unsigned long 
size)
 static unsigned long get_segment_base(unsigned int segment)
 {
        struct desc_struct *desc;
-       int idx = segment >> 3;
+       unsigned int idx = segment >> 3;
 
        if ((segment & SEGMENT_TI_MASK) == SEGMENT_LDT) {
 #ifdef CONFIG_MODIFY_LDT_SYSCALL
diff --git a/arch/x86/include/asm/mmu_context.h 
b/arch/x86/include/asm/mmu_context.h
index 8e0a9fe86de4..306c7e12af55 100644
--- a/arch/x86/include/asm/mmu_context.h
+++ b/arch/x86/include/asm/mmu_context.h
@@ -47,7 +47,7 @@ struct ldt_struct {
         * allocations, but it's not worth trying to optimize.
         */
        struct desc_struct *entries;
-       int size;
+       unsigned int size;
 };
 
 /*
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index 6707039b9032..f09df2ff1bcc 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -34,10 +34,10 @@ static void flush_ldt(void *current_mm)
 }
 
 /* The caller must call finalize_ldt_struct on the result. LDT starts zeroed. 
*/
-static struct ldt_struct *alloc_ldt_struct(int size)
+static struct ldt_struct *alloc_ldt_struct(unsigned int size)
 {
        struct ldt_struct *new_ldt;
-       int alloc_size;
+       unsigned int alloc_size;
 
        if (size > LDT_ENTRIES)
                return NULL;
@@ -207,11 +207,11 @@ static int read_default_ldt(void __user *ptr, unsigned 
long bytecount)
 static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
 {
        struct mm_struct *mm = current->mm;
+       struct ldt_struct *new_ldt, *old_ldt;
+       unsigned int oldsize, newsize;
+       struct user_desc ldt_info;
        struct desc_struct ldt;
        int error;
-       struct user_desc ldt_info;
-       int oldsize, newsize;
-       struct ldt_struct *new_ldt, *old_ldt;
 
        error = -EINVAL;
        if (bytecount != sizeof(ldt_info))
@@ -249,7 +249,7 @@ static int write_ldt(void __user *ptr, unsigned long 
bytecount, int oldmode)
 
        old_ldt = mm->context.ldt;
        oldsize = old_ldt ? old_ldt->size : 0;
-       newsize = max((int)(ldt_info.entry_number + 1), oldsize);
+       newsize = max(ldt_info.entry_number + 1, oldsize);
 
        error = -ENOMEM;
        new_ldt = alloc_ldt_struct(newsize);

Reply via email to