From: Kirill Korotaev <dev@sw.ru>
To: Andrew Morton <akpm@osdl.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>, Ingo Molnar <mingo@elte.hu>,
Christoph Hellwig <hch@infradead.org>,
Pavel Emelianov <xemul@openvz.org>, Andrey Savochkin <saw@sw.ru>,
devel@openvz.org, Rik van Riel <riel@redhat.com>,
hugh@veritas.com, ckrm-tech@lists.sourceforge.net,
Andi Kleen <ak@suse.de>
Subject: [RFC][PATCH 4/7] UBC: syscalls (user interface)
Date: Wed, 16 Aug 2006 19:39:43 +0400 [thread overview]
Message-ID: <44E33C3F.3010509@sw.ru> (raw)
In-Reply-To: <44E33893.6020700@sw.ru>
Add the following system calls for UB management:
1. sys_getluid - get current UB id
2. sys_setluid - changes exec_ and fork_ UBs on current
3. sys_setublimit - set limits for resources consumtions
Signed-Off-By: Pavel Emelianov <xemul@sw.ru>
Signed-Off-By: Kirill Korotaev <dev@sw.ru>
---
arch/i386/kernel/syscall_table.S | 3
arch/ia64/kernel/entry.S | 3
arch/sparc/kernel/systbls.S | 2
arch/sparc64/kernel/systbls.S | 2
include/asm-i386/unistd.h | 5 +
include/asm-ia64/unistd.h | 5 +
include/asm-powerpc/systbl.h | 3
include/asm-powerpc/unistd.h | 5 +
include/asm-sparc/unistd.h | 3
include/asm-sparc64/unistd.h | 3
include/asm-x86_64/unistd.h | 8 ++
kernel/ub/Makefile | 1
kernel/ub/sys.c | 126 +++++++++++++++++++++++++++++++++++++++
13 files changed, 163 insertions(+), 6 deletions(-)
--- ./arch/i386/kernel/syscall_table.S.ubsys 2006-07-10 12:39:10.000000000 +0400
+++ ./arch/i386/kernel/syscall_table.S 2006-07-31 14:36:59.000000000 +0400
@@ -317,3 +317,6 @@ ENTRY(sys_call_table)
.long sys_vmsplice
.long sys_move_pages
.long sys_getcpu
+ .long sys_getluid
+ .long sys_setluid
+ .long sys_setublimit /* 320 */
--- ./arch/ia64/kernel/entry.S.ubsys 2006-07-10 12:39:10.000000000 +0400
+++ ./arch/ia64/kernel/entry.S 2006-07-31 15:25:36.000000000 +0400
@@ -1610,5 +1610,8 @@ sys_call_table:
data8 sys_sync_file_range // 1300
data8 sys_tee
data8 sys_vmsplice
+ daat8 sys_getluid
+ data8 sys_setluid
+ data8 sys_setublimit // 1305
.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
--- ./arch/sparc/kernel/systbls.S.arsys 2006-07-10 12:39:10.000000000 +0400
+++ ./arch/sparc/kernel/systbls.S 2006-08-10 17:07:15.000000000 +0400
@@ -78,7 +78,7 @@ sys_call_table:
/*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64
/*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
/*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
-/*300*/ .long sys_set_robust_list, sys_get_robust_list
+/*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_getluid, sys_setluid, sys_setublimit
#ifdef CONFIG_SUNOS_EMUL
/* Now the SunOS syscall table. */
--- ./arch/sparc64/kernel/systbls.S.arsys 2006-07-10 12:39:11.000000000 +0400
+++ ./arch/sparc64/kernel/systbls.S 2006-08-10 17:08:52.000000000 +0400
@@ -79,7 +79,7 @@ sys_call_table32:
.word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64
/*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
.word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare
-/*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list
+/*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list, sys_getluid, sys_setluid, sys_setublimit
#endif /* CONFIG_COMPAT */
--- ./include/asm-i386/unistd.h.ubsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-i386/unistd.h 2006-07-31 15:56:31.000000000 +0400
@@ -323,10 +323,13 @@
#define __NR_vmsplice 316
#define __NR_move_pages 317
#define __NR_getcpu 318
+#define __NR_getluid 319
+#define __NR_setluid 320
+#define __NR_setublimit 321
#ifdef __KERNEL__
-#define NR_syscalls 318
+#define NR_syscalls 322
#include <linux/err.h>
/*
--- ./include/asm-ia64/unistd.h.ubsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-ia64/unistd.h 2006-07-31 15:57:23.000000000 +0400
@@ -291,11 +291,14 @@
#define __NR_sync_file_range 1300
#define __NR_tee 1301
#define __NR_vmsplice 1302
+#define __NR_getluid 1303
+#define __NR_setluid 1304
+#define __NR_setublimit 1305
#ifdef __KERNEL__
-#define NR_syscalls 279 /* length of syscall table */
+#define NR_syscalls 282 /* length of syscall table */
#define __ARCH_WANT_SYS_RT_SIGACTION
--- ./include/asm-powerpc/systbl.h.arsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-powerpc/systbl.h 2006-08-10 17:05:53.000000000 +0400
@@ -304,3 +304,6 @@ SYSCALL_SPU(fchmodat)
SYSCALL_SPU(faccessat)
COMPAT_SYS_SPU(get_robust_list)
COMPAT_SYS_SPU(set_robust_list)
+SYSCALL(sys_getluid)
+SYSCALL(sys_setluid)
+SYSCALL(sys_setublimit)
--- ./include/asm-powerpc/unistd.h.arsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-powerpc/unistd.h 2006-08-10 17:06:28.000000000 +0400
@@ -323,10 +323,13 @@
#define __NR_faccessat 298
#define __NR_get_robust_list 299
#define __NR_set_robust_list 300
+#define __NR_getluid 301
+#define __NR_setluid 302
+#define __NR_setublimit 303
#ifdef __KERNEL__
-#define __NR_syscalls 301
+#define __NR_syscalls 304
#define __NR__exit __NR_exit
#define NR_syscalls __NR_syscalls
--- ./include/asm-sparc/unistd.h.arsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-sparc/unistd.h 2006-08-10 17:08:19.000000000 +0400
@@ -318,6 +318,9 @@
#define __NR_unshare 299
#define __NR_set_robust_list 300
#define __NR_get_robust_list 301
+#define __NR_getluid 302
+#define __NR_setluid 303
+#define __NR_setublimit 304
#ifdef __KERNEL__
/* WARNING: You MAY NOT add syscall numbers larger than 301, since
--- ./include/asm-sparc64/unistd.h.arsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-sparc64/unistd.h 2006-08-10 17:09:24.000000000 +0400
@@ -320,6 +320,9 @@
#define __NR_unshare 299
#define __NR_set_robust_list 300
#define __NR_get_robust_list 301
+#define __NR_getluid 302
+#define __NR_setluid 303
+#define __NR_setublimit 304
#ifdef __KERNEL__
/* WARNING: You MAY NOT add syscall numbers larger than 301, since
--- ./include/asm-x86_64/unistd.h.ubsys 2006-07-10 12:39:19.000000000 +0400
+++ ./include/asm-x86_64/unistd.h 2006-07-31 16:00:01.000000000 +0400
@@ -619,10 +619,16 @@ __SYSCALL(__NR_sync_file_range, sys_sync
__SYSCALL(__NR_vmsplice, sys_vmsplice)
#define __NR_move_pages 279
__SYSCALL(__NR_move_pages, sys_move_pages)
+#define __NR_getluid 280
+__SYSCALL(__NR_getluid, sys_getluid)
+#define __NR_setluid 281
+__SYSCALL(__NR_setluid, sys_setluid)
+#define __NR_setublimit 282
+__SYSCALL(__NR_setublimit, sys_setublimit)
#ifdef __KERNEL__
-#define __NR_syscall_max __NR_move_pages
+#define __NR_syscall_max __NR_setublimit
#include <linux/err.h>
#ifndef __NO_STUBS
--- ./kernel/ub/Makefile.ubsys 2006-07-28 14:08:37.000000000 +0400
+++ ./kernel/ub/Makefile 2006-08-01 11:08:39.000000000 +0400
@@ -6,3 +6,4 @@
obj-$(CONFIG_USER_RESOURCE) += beancounter.o
obj-$(CONFIG_USER_RESOURCE) += misc.o
+obj-y += sys.o
--- ./kernel/ub/sys.c.ubsys 2006-07-28 18:52:18.000000000 +0400
+++ ./kernel/ub/sys.c 2006-08-03 16:14:23.000000000 +0400
@@ -0,0 +1,126 @@
+/*
+ * kernel/ub/sys.c
+ *
+ * Copyright (C) 2006 OpenVZ. SWsoft Inc
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/sched.h>
+#include <asm/uaccess.h>
+
+#include <ub/beancounter.h>
+#include <ub/task.h>
+
+#ifndef CONFIG_USER_RESOURCE
+asmlinkage long sys_getluid(void)
+{
+ return -ENOSYS;
+}
+
+asmlinkage long sys_setluid(uid_t uid)
+{
+ return -ENOSYS;
+}
+
+asmlinkage long sys_setublimit(uid_t uid, unsigned long resource,
+ unsigned long *limits)
+{
+ return -ENOSYS;
+}
+#else /* CONFIG_USER_RESOURCE */
+
+/*
+ * The (rather boring) getluid syscall
+ */
+asmlinkage long sys_getluid(void)
+{
+ struct user_beancounter *ub;
+
+ ub = get_exec_ub();
+ if (ub == NULL)
+ return -EINVAL;
+
+ return ub->ub_uid;
+}
+
+/*
+ * The setluid syscall
+ */
+asmlinkage long sys_setluid(uid_t uid)
+{
+ int error;
+ struct user_beancounter *ub;
+ struct task_beancounter *task_bc;
+
+ task_bc = ¤t->task_bc;
+
+ /* You may not disown a setluid */
+ error = -EINVAL;
+ if (uid == (uid_t)-1)
+ goto out;
+
+ /* You may only set an ub as root */
+ error = -EPERM;
+ if (!capable(CAP_SETUID))
+ goto out;
+
+ /* Ok - set up a beancounter entry for this user */
+ error = -ENOBUFS;
+ ub = beancounter_findcreate(uid, NULL, UB_ALLOC);
+ if (ub == NULL)
+ goto out;
+
+ /* install bc */
+ put_beancounter(task_bc->exec_ub);
+ task_bc->exec_ub = ub;
+ put_beancounter(task_bc->fork_sub);
+ task_bc->fork_sub = get_beancounter(ub);
+ error = 0;
+out:
+ return error;
+}
+
+/*
+ * The setbeanlimit syscall
+ */
+asmlinkage long sys_setublimit(uid_t uid, unsigned long resource,
+ unsigned long *limits)
+{
+ int error;
+ unsigned long flags;
+ struct user_beancounter *ub;
+ unsigned long new_limits[2];
+
+ error = -EPERM;
+ if(!capable(CAP_SYS_RESOURCE))
+ goto out;
+
+ error = -EINVAL;
+ if (resource >= UB_RESOURCES)
+ goto out;
+
+ error = -EFAULT;
+ if (copy_from_user(&new_limits, limits, sizeof(new_limits)))
+ goto out;
+
+ error = -EINVAL;
+ if (new_limits[0] > UB_MAXVALUE || new_limits[1] > UB_MAXVALUE)
+ goto out;
+
+ error = -ENOENT;
+ ub = beancounter_findcreate(uid, NULL, 0);
+ if (ub == NULL)
+ goto out;
+
+ spin_lock_irqsave(&ub->ub_lock, flags);
+ ub->ub_parms[resource].barrier = new_limits[0];
+ ub->ub_parms[resource].limit = new_limits[1];
+ spin_unlock_irqrestore(&ub->ub_lock, flags);
+
+ put_beancounter(ub);
+ error = 0;
+out:
+ return error;
+}
+#endif
next prev parent reply other threads:[~2006-08-16 15:37 UTC|newest]
Thread overview: 209+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-16 15:24 [RFC][PATCH] UBC: user resource beancounters Kirill Korotaev
2006-08-16 15:35 ` [RFC][PATCH 1/7] UBC: kconfig Kirill Korotaev
2006-08-18 19:57 ` [ckrm-tech] " Chandra Seetharaman
2006-08-18 21:14 ` Adrian Bunk
2006-08-25 15:12 ` Pavel Machek
2006-08-16 15:37 ` [RFC][PATCH 2/7] UBC: core (structures, API) Kirill Korotaev
2006-08-16 16:58 ` Alan Cox
2006-08-17 11:42 ` Kirill Korotaev
2006-08-16 17:15 ` Greg KH
2006-08-17 11:45 ` Kirill Korotaev
2006-08-17 12:14 ` Greg KH
2006-08-17 14:32 ` [ckrm-tech] " Dave Hansen
2006-08-18 12:36 ` Kirill Korotaev
2006-08-16 18:11 ` Rohit Seth
2006-08-16 18:18 ` Andrew Morton
2006-08-17 11:54 ` Kirill Korotaev
2006-08-17 11:53 ` Kirill Korotaev
2006-08-17 16:55 ` Rohit Seth
2006-08-18 11:14 ` Kirill Korotaev
2006-08-18 17:51 ` Rohit Seth
2006-08-18 5:31 ` Andrew Morton
2006-08-18 7:35 ` [PATCH " Andrey Savochkin
2006-08-18 8:26 ` [ckrm-tech] " Matt Helsley
2006-08-18 11:52 ` Kirill Korotaev
2006-08-18 15:59 ` [RFC][PATCH " Alan Cox
2006-08-17 11:09 ` [ckrm-tech] " Srivatsa Vaddagiri
2006-08-17 14:02 ` Kirill Korotaev
2006-08-17 18:59 ` Chandra Seetharaman
2006-08-18 1:58 ` Matt Helsley
2006-08-18 11:36 ` Kirill Korotaev
2006-08-19 2:38 ` Matt Helsley
2006-08-21 11:02 ` Kirill Korotaev
2006-08-22 12:23 ` Srivatsa Vaddagiri
2006-08-22 12:46 ` Kirill Korotaev
2006-08-22 14:38 ` Srivatsa Vaddagiri
2006-08-21 17:35 ` Chandra Seetharaman
2006-08-20 4:58 ` Balbir Singh
2006-08-20 5:01 ` Balbir Singh
2006-08-16 15:38 ` [RFC][PATCH 3/7] UBC: ub context and inheritance Kirill Korotaev
2006-08-16 16:51 ` Alan Cox
2006-08-17 11:09 ` [ckrm-tech] " Srivatsa Vaddagiri
2006-08-17 13:21 ` [Devel] " Pavel V. Emelianov
2006-08-18 2:42 ` Matt Helsley
2006-08-18 9:23 ` Kirill Korotaev
2006-08-19 2:19 ` Matt Helsley
2006-08-18 20:03 ` Chandra Seetharaman
2006-08-21 10:32 ` Kirill Korotaev
2006-08-21 20:48 ` Chandra Seetharaman
2006-08-16 15:39 ` Kirill Korotaev [this message]
2006-08-16 16:52 ` [RFC][PATCH 4/7] UBC: syscalls (user interface) Alan Cox
2006-08-16 17:17 ` Greg KH
2006-08-17 12:02 ` Kirill Korotaev
2006-08-16 18:17 ` Rohit Seth
2006-08-16 19:04 ` Alan Cox
2006-08-16 19:22 ` Rohit Seth
2006-08-17 12:13 ` Kirill Korotaev
2006-08-17 15:40 ` Andrew Morton
2006-08-18 8:08 ` [PATCH " Andrey Savochkin
2006-08-18 14:45 ` [ckrm-tech] " Dave Hansen
2006-08-18 16:42 ` Andrew Morton
2006-08-18 17:29 ` Dave Hansen
2006-08-18 17:38 ` Andrew Morton
2006-08-18 17:59 ` Rohit Seth
2006-08-18 18:18 ` Andrew Morton
2006-08-21 2:42 ` Magnus Damm
2006-08-18 18:09 ` Paul Jackson
2006-08-18 18:17 ` Chandra Seetharaman
2006-08-18 18:27 ` Chandra Seetharaman
2006-08-18 18:56 ` Paul Jackson
2006-08-18 19:16 ` Chris Friesen
2006-08-18 21:19 ` Paul Jackson
2006-08-18 19:48 ` Chandra Seetharaman
2006-08-18 21:16 ` Paul Jackson
2006-08-21 2:38 ` Magnus Damm
2006-08-21 7:48 ` Andi Kleen
2006-08-21 8:42 ` Magnus Damm
2006-08-21 9:03 ` Andi Kleen
2006-08-21 9:18 ` Magnus Damm
2006-08-21 13:35 ` Kirill Korotaev
2006-08-21 17:51 ` Paul Jackson
2006-08-22 8:52 ` Kirill Korotaev
2006-08-21 2:47 ` Magnus Damm
2006-08-22 1:16 ` Rohit Seth
2006-08-22 3:58 ` Magnus Damm
2006-08-22 18:34 ` Chandra Seetharaman
2006-08-24 1:20 ` Rohit Seth
2006-08-18 11:05 ` [RFC][PATCH " Kirill Korotaev
2006-08-17 17:08 ` Rohit Seth
2006-08-17 12:04 ` Kirill Korotaev
2006-08-17 17:05 ` Rohit Seth
2006-08-17 11:09 ` [ckrm-tech] " Srivatsa Vaddagiri
2006-08-17 14:04 ` Kirill Korotaev
2006-08-17 16:19 ` Srivatsa Vaddagiri
2006-08-18 2:31 ` Matt Helsley
2006-08-18 11:45 ` Kirill Korotaev
2006-08-19 2:43 ` Matt Helsley
2006-08-18 11:40 ` Arnd Bergmann
2006-08-18 20:13 ` [ckrm-tech] " Chandra Seetharaman
2006-08-16 15:40 ` [RFC][PATCH 5/7] UBC: kernel memory accounting (core) Kirill Korotaev
2006-08-16 16:56 ` Alan Cox
2006-08-17 13:47 ` Kirill Korotaev
2006-08-16 18:24 ` Rohit Seth
2006-08-17 13:27 ` Kirill Korotaev
2006-08-17 14:38 ` [ckrm-tech] " Dave Hansen
2006-08-18 9:31 ` Kirill Korotaev
2006-08-18 14:58 ` Dave Hansen
2006-08-21 10:40 ` Kirill Korotaev
2006-08-21 15:10 ` Dave Hansen
2006-08-18 15:06 ` Dave Hansen
2006-08-21 12:38 ` Kirill Korotaev
2006-08-17 17:02 ` Rohit Seth
2006-08-18 9:38 ` Kirill Korotaev
2006-08-18 16:55 ` Rohit Seth
2006-08-21 10:43 ` Kirill Korotaev
2006-08-22 1:23 ` Rohit Seth
2006-08-16 18:47 ` Dave Hansen
2006-08-16 19:15 ` Rohit Seth
2006-08-16 19:59 ` [ckrm-tech] " Dave Hansen
2006-08-17 0:24 ` Alan Cox
2006-08-17 14:26 ` Dave Hansen
2006-08-17 15:01 ` Alan Cox
2006-08-17 16:04 ` Andi Kleen
2006-08-18 10:54 ` Kirill Korotaev
2006-08-17 16:37 ` Dave Hansen
2006-08-17 15:19 ` Rik van Riel
2006-08-17 17:28 ` Rohit Seth
2006-08-17 18:43 ` Andi Kleen
2006-08-17 17:49 ` Dave Hansen
2006-08-18 8:29 ` Kirill Korotaev
2006-08-18 17:06 ` Rohit Seth
2006-08-17 17:16 ` Rohit Seth
2006-08-17 17:23 ` Dave Hansen
2006-08-17 17:36 ` Rohit Seth
2006-08-17 17:53 ` Dave Hansen
2006-08-18 8:54 ` Kirill Korotaev
2006-08-18 14:52 ` Dave Hansen
2006-08-18 17:38 ` Rohit Seth
2006-08-21 11:29 ` Kirill Korotaev
2006-08-22 1:48 ` Rohit Seth
2006-08-22 7:43 ` Pavel V. Emelianov
2006-08-18 8:51 ` Kirill Korotaev
2006-08-18 8:52 ` Kirill Korotaev
2006-08-18 14:59 ` Alan Cox
2006-08-18 19:32 ` Dave Hansen
2006-08-18 20:52 ` Alan Cox
2006-08-21 9:44 ` Kirill Korotaev
2006-08-17 16:42 ` Rohit Seth
2006-08-17 16:31 ` Rohit Seth
2006-08-17 0:22 ` Alan Cox
2006-08-17 16:36 ` Rohit Seth
2006-08-18 8:44 ` [ckrm-tech] " Kirill Korotaev
2006-08-17 13:35 ` Kirill Korotaev
2006-08-17 17:13 ` Rohit Seth
2006-08-18 8:49 ` [ckrm-tech] " Kirill Korotaev
2006-08-17 13:31 ` Kirill Korotaev
2006-08-17 14:36 ` Dave Hansen
2006-08-18 8:12 ` [ckrm-tech] " Kirill Korotaev
2006-08-18 14:43 ` Dave Hansen
2006-08-21 8:57 ` Kirill Korotaev
2006-08-18 20:26 ` Chandra Seetharaman
2006-08-21 10:51 ` Kirill Korotaev
2006-08-21 20:55 ` Chandra Seetharaman
2006-08-16 15:42 ` [RFC][PATCH 6/7] UBC: kernel memory acconting (mark objects) Kirill Korotaev
2006-08-16 16:57 ` Alan Cox
2006-08-16 15:44 ` [RFC][PATCH 7/7] UBC: proc interface Kirill Korotaev
2006-08-16 17:13 ` Greg KH
2006-08-17 13:43 ` Kirill Korotaev
2006-08-17 15:40 ` Greg KH
2006-08-17 16:12 ` [Devel] " Kir Kolyshkin
2006-08-16 18:53 ` [RFC][PATCH] UBC: user resource beancounters Rohit Seth
2006-08-16 19:26 ` Alan Cox
2006-08-17 0:15 ` [ckrm-tech] " Chandra Seetharaman
2006-08-17 11:02 ` Srivatsa Vaddagiri
2006-08-17 13:55 ` Kirill Korotaev
2006-08-17 19:55 ` Chandra Seetharaman
2006-08-18 10:36 ` Kirill Korotaev
2006-08-18 18:53 ` Chandra Seetharaman
2006-08-18 22:55 ` Matt Helsley
2006-08-21 10:55 ` Kirill Korotaev
2006-08-21 21:04 ` Chandra Seetharaman
2006-08-18 19:39 ` Chandra Seetharaman
2006-08-21 13:24 ` Kirill Korotaev
2006-08-21 21:45 ` Chandra Seetharaman
2006-08-21 22:20 ` Alan Cox
2006-08-21 22:44 ` Chandra Seetharaman
2006-08-22 1:45 ` Rohit Seth
2006-08-22 10:02 ` Alan Cox
2006-08-22 9:57 ` Arjan van de Ven
2006-08-22 11:15 ` Alan Cox
2006-08-24 1:31 ` Rohit Seth
2006-08-22 18:55 ` Chandra Seetharaman
2006-08-24 1:44 ` Rohit Seth
2006-08-24 2:04 ` Chandra Seetharaman
2006-08-24 11:10 ` Alan Cox
2006-08-24 23:48 ` Chandra Seetharaman
2006-08-24 23:55 ` Kyle Moffett
2006-08-25 18:21 ` Chandra Seetharaman
2006-08-25 20:46 ` Alan Cox
2006-08-25 21:37 ` Chandra Seetharaman
2006-08-25 22:51 ` Alan Cox
2006-08-25 22:59 ` Chandra Seetharaman
2006-08-24 17:27 ` Rohit Seth
2006-08-24 23:52 ` Chandra Seetharaman
2006-08-25 11:12 ` Kirill Korotaev
2006-08-25 18:47 ` Chandra Seetharaman
2006-08-25 20:52 ` Alan Cox
2006-08-25 22:23 ` Chandra Seetharaman
2006-08-25 23:12 ` Alan Cox
2006-08-25 23:00 ` Chandra Seetharaman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44E33C3F.3010509@sw.ru \
--to=dev@sw.ru \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=devel@openvz.org \
--cc=hch@infradead.org \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=riel@redhat.com \
--cc=saw@sw.ru \
--cc=xemul@openvz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.