search for: set_limit

Displaying 20 results from an estimated 29 matches for "set_limit".

Did you mean: _set_limit
2002 May 14
1
AIX capabilities not set
Hi, we're in the process of setting up large-page support on IBM regattas, but for large-page support the users have to have a set of extra capabilities (CAP_BYPASS_RAC_VMM,CAP_PROPAGATE). This are configured on a per user basis by listing which capability each user have in /etc/security/user. Unfortunately they don't get set when the users log in via OpenSSH (3.1p1). Does anybody know
2000 Jun 13
2
2.2.1p1 / AIX 4.2.1.0.06 login nits
Hi. New (2.1.1p1) login code is nicer on AIX (4.2.1.0.06). Thanks. A couple of issues, though, which I haven't really dug into yet. I'm wondering if anyone else has seen them? If not, I'll investigate & report. 1. If I set "UseLogin" to "yes", everything seems fine except that the authentication agent forwarding doesn't work. The "SSH"
2007 Apr 18
0
[PATCH 5/21] i386 Pnp byte granularity
The one remaining caller of set_limit, the PnP BIOS code, calls into the PnP BIOS, passing kernel parameters in and out. These parameteres may be passed from arbitrary kernel virtual memory, so they deserve strict protection to stop a bad BIOS from smashing beyond the object size. Unfortunately, the use of set_limit was badly botchin...
2007 Apr 18
0
[PATCH 8/21] i386 Segment protect properly
It is impossible to have a zero length segment in descriptor tables using "normal" segments. One of many ways to properly protect segments to zero length is to map the base to an umapped page. Create a nicer way to do this, and stop subtracting 1 from the length passed to set_limit (note calling set limit with a zero limit does something very bad! - not anymore). Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.14-zach-work/include/asm-i386/desc.h =================================================================== --- linux-2.6.14-zach-work.orig/include...
2007 Apr 18
0
[PATCH 1/3] Gdt page isolation fix
...2005-08-28 16:41:01.000000000 -0700 +++ linux-2.6.14-rc1/drivers/pnp/pnpbios/bioscalls.c 2005-09-28 13:13:42.000000000 -0700 @@ -69,14 +69,14 @@ __asm__( #define Q_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], __va((u32)(address))); \ -set_limit(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], size); \ +set_base(get_cpu_gdt_table(cpu)[(selname) >> 3], __va((u32)(address))); \ +set_limit(get_cpu_gdt_table(cpu)[(selname) >> 3], size); \ } while(0) #define Q2_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(per_cpu(cp...
2007 Apr 18
0
[PATCH 1/3] Gdt page isolation fix
...2005-08-28 16:41:01.000000000 -0700 +++ linux-2.6.14-rc1/drivers/pnp/pnpbios/bioscalls.c 2005-09-28 13:13:42.000000000 -0700 @@ -69,14 +69,14 @@ __asm__( #define Q_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], __va((u32)(address))); \ -set_limit(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], size); \ +set_base(get_cpu_gdt_table(cpu)[(selname) >> 3], __va((u32)(address))); \ +set_limit(get_cpu_gdt_table(cpu)[(selname) >> 3], size); \ } while(0) #define Q2_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(per_cpu(cp...
2007 Apr 18
0
[PATCH 5/21] i386 Pnp byte granularity
The one remaining caller of set_limit, the PnP BIOS code, calls into the PnP BIOS, passing kernel parameters in and out. These parameteres may be passed from arbitrary kernel virtual memory, so they deserve strict protection to stop a bad BIOS from smashing beyond the object size. Unfortunately, the use of set_limit was badly botchin...
2007 Apr 18
0
[PATCH 8/21] i386 Segment protect properly
It is impossible to have a zero length segment in descriptor tables using "normal" segments. One of many ways to properly protect segments to zero length is to map the base to an umapped page. Create a nicer way to do this, and stop subtracting 1 from the length passed to set_limit (note calling set limit with a zero limit does something very bad! - not anymore). Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.14-zach-work/include/asm-i386/desc.h =================================================================== --- linux-2.6.14-zach-work.orig/include...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...tic inline void set_base(struct desc_struct *desc, void *base) +{ + struct desc_internal_struct *d = desc_internal(desc); + u32 addr = (u32)base; + d->base0 = addr & 0xffff; + d->base1 = (addr >> 16) & 0xff; + d->base2 = (addr >> 24) & 0xff; +} + +static inline void set_limit(struct desc_struct *desc, unsigned limit) +{ + struct desc_internal_struct *d = desc_internal(desc); + d->limit0 = limit & 0xffff; + d->limit1 = (limit & 0xf0000) >> 16; +} + +static inline void set_tssldt_desc(struct desc_struct *desc, unsigned long base, unsigned short limit,...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...tic inline void set_base(struct desc_struct *desc, void *base) +{ + struct desc_internal_struct *d = desc_internal(desc); + u32 addr = (u32)base; + d->base0 = addr & 0xffff; + d->base1 = (addr >> 16) & 0xff; + d->base2 = (addr >> 24) & 0xff; +} + +static inline void set_limit(struct desc_struct *desc, unsigned limit) +{ + struct desc_internal_struct *d = desc_internal(desc); + d->limit0 = limit & 0xffff; + d->limit1 = (limit & 0xf0000) >> 16; +} + +static inline void set_tssldt_desc(struct desc_struct *desc, unsigned long base, unsigned short limit,...
2007 Apr 18
0
[PATCH 9/12] base-into-desc
...\ - :"=m"(*(desc)), \ - "=&q" (__tmp) \ - :"m" (*((char *)(desc)+2)), \ - "m" (*((char *)(desc)+4)), \ - "m" (*((char *)(desc)+7)), \ - "1" (base)); \ -} while(0) - -#define _set_limit(desc,limit) do { \ - unsigned long __tmp; \ - typecheck(struct desc_struct *, desc); \ - asm volatile("movw %w4,%2\n\t" \ - "rorl $16,%4\n\t" \ - "movb %3,%h4\n\t" \ - "andb $0xf0,%h4\n\t" \ - "orb %h4,%...
2007 Apr 18
0
[PATCH 9/12] base-into-desc
...\ - :"=m"(*(desc)), \ - "=&q" (__tmp) \ - :"m" (*((char *)(desc)+2)), \ - "m" (*((char *)(desc)+4)), \ - "m" (*((char *)(desc)+7)), \ - "1" (base)); \ -} while(0) - -#define _set_limit(desc,limit) do { \ - unsigned long __tmp; \ - typecheck(struct desc_struct *, desc); \ - asm volatile("movw %w4,%2\n\t" \ - "rorl $16,%4\n\t" \ - "movb %3,%h4\n\t" \ - "andb $0xf0,%h4\n\t" \ - "orb %h4,%...
2007 Apr 18
0
[PATCH 10/14] i386 / Move descriptor accessors into desc h
...\ - :"=m"(*(desc)), \ - "=&q" (__tmp) \ - :"m" (*((char *)(desc)+2)), \ - "m" (*((char *)(desc)+4)), \ - "m" (*((char *)(desc)+7)), \ - "1" (base)); \ -} while(0) - -#define _set_limit(desc,limit) do { \ - unsigned long __tmp; \ - typecheck(struct desc_struct *, desc); \ - asm volatile("movw %w4,%2\n\t" \ - "rorl $16,%4\n\t" \ - "movb %3,%h4\n\t" \ - "andb $0xf0,%h4\n\t" \ - "orb %h4,%...
2007 Apr 18
0
[PATCH 10/14] i386 / Move descriptor accessors into desc h
...\ - :"=m"(*(desc)), \ - "=&q" (__tmp) \ - :"m" (*((char *)(desc)+2)), \ - "m" (*((char *)(desc)+4)), \ - "m" (*((char *)(desc)+7)), \ - "1" (base)); \ -} while(0) - -#define _set_limit(desc,limit) do { \ - unsigned long __tmp; \ - typecheck(struct desc_struct *, desc); \ - asm volatile("movw %w4,%2\n\t" \ - "rorl $16,%4\n\t" \ - "movb %3,%h4\n\t" \ - "andb $0xf0,%h4\n\t" \ - "orb %h4,%...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
...- "rorl $16,%%edx\n\t" \ - "movb %%dl,%2\n\t" \ - "movb %%dh,%3" \ - :"=&d" (__pr) \ - :"m" (*((addr)+2)), \ - "m" (*((addr)+4)), \ - "m" (*((addr)+7)), \ - "0" (base) \ - ); } while(0) - -#define _set_limit(addr,limit) do { unsigned long __lr; \ -__asm__ __volatile__ ("movw %%dx,%1\n\t" \ - "rorl $16,%%edx\n\t" \ - "movb %2,%%dh\n\t" \ - "andb $0xf0,%%dh\n\t" \ - "orb %%dh,%%dl\n\t" \ - "movb %%dl,%2" \ - :"=&d" (__lr) \ - :&quo...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
...- "rorl $16,%%edx\n\t" \ - "movb %%dl,%2\n\t" \ - "movb %%dh,%3" \ - :"=&d" (__pr) \ - :"m" (*((addr)+2)), \ - "m" (*((addr)+4)), \ - "m" (*((addr)+7)), \ - "0" (base) \ - ); } while(0) - -#define _set_limit(addr,limit) do { unsigned long __lr; \ -__asm__ __volatile__ ("movw %%dx,%1\n\t" \ - "rorl $16,%%edx\n\t" \ - "movb %2,%%dh\n\t" \ - "andb $0xf0,%%dh\n\t" \ - "orb %%dh,%%dl\n\t" \ - "movb %%dl,%2" \ - :"=&d" (__lr) \ - :&quo...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
...- "rorl $16,%%edx\n\t" \ - "movb %%dl,%2\n\t" \ - "movb %%dh,%3" \ - :"=&d" (__pr) \ - :"m" (*((addr)+2)), \ - "m" (*((addr)+4)), \ - "m" (*((addr)+7)), \ - "0" (base) \ - ); } while(0) - -#define _set_limit(addr,limit) do { unsigned long __lr; \ -__asm__ __volatile__ ("movw %%dx,%1\n\t" \ - "rorl $16,%%edx\n\t" \ - "movb %2,%%dh\n\t" \ - "andb $0xf0,%%dh\n\t" \ - "orb %%dh,%%dl\n\t" \ - "movb %%dl,%2" \ - :"=&d" (__lr) \ - :&quo...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
...- "rorl $16,%%edx\n\t" \ - "movb %%dl,%2\n\t" \ - "movb %%dh,%3" \ - :"=&d" (__pr) \ - :"m" (*((addr)+2)), \ - "m" (*((addr)+4)), \ - "m" (*((addr)+7)), \ - "0" (base) \ - ); } while(0) - -#define _set_limit(addr,limit) do { unsigned long __lr; \ -__asm__ __volatile__ ("movw %%dx,%1\n\t" \ - "rorl $16,%%edx\n\t" \ - "movb %2,%%dh\n\t" \ - "andb $0xf0,%%dh\n\t" \ - "orb %%dh,%%dl\n\t" \ - "movb %%dl,%2" \ - :"=&d" (__lr) \ - :&quo...
2007 Apr 18
0
[PATCH 11/12] subarch-desc
...store_ldt(ldt) asm ("sldt %0":"=mr" (ldt)) - /* * This is the ldt that every process will get unless we need * something other than this. @@ -99,22 +86,10 @@ "1" (limit)); \ } while(0) -#define set_base(desc,base) _set_base((desc), (base)) -#define set_limit(desc,limit) _set_limit((desc), ((limit)-1)>>12) - -static inline void __set_tss_desc(unsigned int cpu, unsigned int entry, void *addr) -{ - _set_tssldt_desc(&get_cpu_gdt_table(cpu)[entry], (int)addr, - offsetof(struct tss_struct, __cacheline_filler) - 1, 0x89); -} +#include <mach_desc...
2007 Apr 18
0
[PATCH 11/12] subarch-desc
...store_ldt(ldt) asm ("sldt %0":"=mr" (ldt)) - /* * This is the ldt that every process will get unless we need * something other than this. @@ -99,22 +86,10 @@ "1" (limit)); \ } while(0) -#define set_base(desc,base) _set_base((desc), (base)) -#define set_limit(desc,limit) _set_limit((desc), ((limit)-1)>>12) - -static inline void __set_tss_desc(unsigned int cpu, unsigned int entry, void *addr) -{ - _set_tssldt_desc(&get_cpu_gdt_table(cpu)[entry], (int)addr, - offsetof(struct tss_struct, __cacheline_filler) - 1, 0x89); -} +#include <mach_desc...