Author: baggins                      Date: Mon Jul 11 21:09:08 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- removed misleading blob
- add missing hunk

---- Files affected:
packages/kernel:
   kernel-vserver-2.3.patch (1.66 -> 1.67) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-vserver-2.3.patch
diff -u packages/kernel/kernel-vserver-2.3.patch:1.66 
packages/kernel/kernel-vserver-2.3.patch:1.67
--- packages/kernel/kernel-vserver-2.3.patch:1.66       Mon Jul 11 00:36:08 2011
+++ packages/kernel/kernel-vserver-2.3.patch    Mon Jul 11 23:09:03 2011
@@ -24224,1042 +24224,6 @@
 +      0;
 +}
 +
-diff -NurpP --minimal linux-3.0-rc5/linux-3.0-initial-reject.diff 
linux-3.0-rc5-vs2.3.1-pre3/linux-3.0-initial-reject.diff
---- linux-3.0-rc5/linux-3.0-initial-reject.diff        1970-01-01 
01:00:00.000000000 +0100
-+++ linux-3.0-rc5-vs2.3.1-pre3/linux-3.0-initial-reject.diff   2011-06-10 
22:14:44.000000000 +0200
-@@ -0,0 +1,1032 @@
-+-- ./drivers/infiniband/core/addr.c
-+++ ./drivers/infiniband/core/addr.c
-+@@ -252,7 +252,7 @@ static int addr6_resolve(struct sockaddr
-+
-+      if (ipv6_addr_any(&fl.fl6_src)) {
-+              ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev,
-+-                                      &fl.fl6_dst, 0, &fl.fl6_src);
-++                                      &fl.fl6_dst, 0, &fl.fl6_src, NULL);
-+              if (ret)
-+                      goto put;
-+
-+-- ./init/Kconfig
-+++ ./init/Kconfig
-+@@ -591,6 +592,7 @@ config CGROUP_DEBUG
-+
-+ config CGROUP_NS
-+      bool "Namespace cgroup subsystem"
-++     default n
-+      help
-+        Provides a simple namespace cgroup subsystem to
-+        provide hierarchical naming of sets of namespaces,
-+-- ./security/commoncap.c
-+++ ./security/commoncap.c
-+@@ -27,6 +27,7 @@
-+ #include <linux/sched.h>
-+ #include <linux/prctl.h>
-+ #include <linux/securebits.h>
-++// #include <linux/vs_context.h>
-+
-+ /*
-+  * If a non-root user executes a setuid-root binary in
-+@@ -52,7 +53,7 @@ static void warn_setuid_and_fcaps_mixed(
-+
-+ int cap_netlink_send(struct sock *sk, struct sk_buff *skb)
-+ {
-+-     NETLINK_CB(skb).eff_cap = current_cap();
-++     NETLINK_CB(skb).eff_cap = vx_mbcaps(current_cap());
-+      return 0;
-+ }
-+
-+@@ -82,7 +84,22 @@ EXPORT_SYMBOL(cap_netlink_recv);
-+ int cap_capable(struct task_struct *tsk, const struct cred *cred, int cap,
-+              int audit)
-+ {
-+-     return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM;
-++     struct vx_info *vxi = tsk->vx_info;
-++
-++#if 0
-++     printk("cap_capable() VXF_STATE_SETUP = %llx, raised = %x, eff = 
%08x:%08x\n",
-++             vx_info_flags(vxi, VXF_STATE_SETUP, 0),
-++             cap_raised(tsk->cap_effective, cap),
-++             tsk->cap_effective.cap[1], tsk->cap_effective.cap[0]);
-++#endif
-++
-++     /* special case SETUP */
-++     if (vx_info_flags(vxi, VXF_STATE_SETUP, 0) &&
-++             /* FIXME: maybe use cred instead? */
-++             cap_raised(tsk->cred->cap_effective, cap))
-++             return 0;
-++
-++     return vx_cap_raised(vxi, cred->cap_effective, cap) ? 0 : -EPERM;
-+ }
-+
-+ /**
-+-- ./block/genhd.c
-+++ ./block/genhd.c
-+@@ -1154,17 +1154,17 @@ static int diskstats_show(struct seq_fil
-+              cpu = part_stat_lock();
-+              part_round_stats(cpu, hd);
-+              part_stat_unlock();
-+-             seq_printf(seqf, "%4d %7d %s %lu %lu %llu "
-+-                        "%u %lu %lu %llu %u %u %u %u\n",
-++             seq_printf(seqf, "%4d %7d %s %lu %lu %lu "
-++                        "%u %lu %lu %lu %u %u %u %u\n",
-+                         MAJOR(part_devt(hd)), MINOR(part_devt(hd)),
-+                         disk_name(gp, hd->partno, buf),
-+                         part_stat_read(hd, ios[0]),
-+                         part_stat_read(hd, merges[0]),
-+-                        (unsigned long long)part_stat_read(hd, sectors[0]),
-++                        part_stat_read(hd, sectors[0]),
-+                         jiffies_to_msecs(part_stat_read(hd, ticks[0])),
-+                         part_stat_read(hd, ios[1]),
-+                         part_stat_read(hd, merges[1]),
-+-                        (unsigned long long)part_stat_read(hd, sectors[1]),
-++                        part_stat_read(hd, sectors[1]),
-+                         jiffies_to_msecs(part_stat_read(hd, ticks[1])),
-+                         part_in_flight(hd),
-+                         jiffies_to_msecs(part_stat_read(hd, io_ticks)),
-+-- ./ipc/namespace.c
-+++ ./ipc/namespace.c
-+@@ -11,6 +11,8 @@
-+ #include <linux/slab.h>
-+ #include <linux/fs.h>
-+ #include <linux/mount.h>
-++#include <linux/vs_base.h>
-++#include <linux/vserver/global.h>
-+
-+ #include "util.h"
-+
-+-- ./kernel/pid_namespace.c
-+++ ./kernel/pid_namespace.c
-+@@ -14,6 +14,7 @@
-+ #include <linux/err.h>
-+ #include <linux/acct.h>
-+ #include <linux/slab.h>
-++#include <linux/vserver/global.h>
-+
-+ #define BITS_PER_PAGE                (PAGE_SIZE*8)
-+
-+-- ./kernel/sched.c
-+++ ./kernel/sched.c
-+@@ -3759,6 +3772,7 @@ void account_system_time(struct task_str
-+                       cputime_t cputime, cputime_t cputime_scaled)
-+ {
-+      struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
-++     struct vx_info *vxi = p->vx_info;  /* p is _always_ current */
-+      cputime64_t tmp;
-+
-+      if ((p->flags & PF_VCPU) && (irq_count() - hardirq_offset == 0)) {
-+-- ./kernel/fork.c
-+++ ./kernel/fork.c
-+@@ -678,6 +686,7 @@ struct mm_struct *dup_mm(struct task_str
-+              goto fail_nomem;
-+
-+      memcpy(mm, oldmm, sizeof(*mm));
-++     mm->mm_vx_info = NULL;
-+
-+      /* Initializing for Swap token stuff */
-+      mm->token_priority = 0;
-+-- ./kernel/nsproxy.c
-+++ ./kernel/nsproxy.c
-+@@ -56,41 +61,52 @@ static inline struct nsproxy *create_nsp
-+  * Return the newly created nsproxy.  Do not attach this to the task,
-+  * leave it to the caller to do proper locking and attach it to task.
-+  */
-+-static struct nsproxy *create_new_namespaces(unsigned long flags,
-+-                     struct task_struct *tsk, struct fs_struct *new_fs)
-++static struct nsproxy *unshare_namespaces(unsigned long flags,
-++                     struct nsproxy *orig, struct fs_struct *new_fs)
-+ {
-+      struct nsproxy *new_nsp;
-+      int err;
-+
-++     vxdprintk(VXD_CBIT(space, 4),
-++             "unshare_namespaces(0x%08lx,%p,%p)",
-++             flags, orig, new_fs);
-++
-+      new_nsp = create_nsproxy();
-+      if (!new_nsp)
-+              return ERR_PTR(-ENOMEM);
-+
-+-     new_nsp->mnt_ns = copy_mnt_ns(flags, tsk->nsproxy->mnt_ns, new_fs);
-++     new_nsp->mnt_ns = copy_mnt_ns(flags, orig->mnt_ns, new_fs);
-+      if (IS_ERR(new_nsp->mnt_ns)) {
-+              err = PTR_ERR(new_nsp->mnt_ns);
-+              goto out_ns;
-+      }
-+
-+-     new_nsp->uts_ns = copy_utsname(flags, tsk->nsproxy->uts_ns);
-++     new_nsp->uts_ns = copy_utsname(flags, orig->uts_ns);
-+      if (IS_ERR(new_nsp->uts_ns)) {
-+              err = PTR_ERR(new_nsp->uts_ns);
-+              goto out_uts;
-+      }
-+
-+-     new_nsp->ipc_ns = copy_ipcs(flags, tsk->nsproxy->ipc_ns);
-++     new_nsp->ipc_ns = copy_ipcs(flags, orig->ipc_ns);
-+      if (IS_ERR(new_nsp->ipc_ns)) {
-+              err = PTR_ERR(new_nsp->ipc_ns);
-+              goto out_ipc;
-+      }
-+
-+-     new_nsp->pid_ns = copy_pid_ns(flags, task_active_pid_ns(tsk));
-++     new_nsp->pid_ns = copy_pid_ns(flags, orig->pid_ns);
-+      if (IS_ERR(new_nsp->pid_ns)) {
-+              err = PTR_ERR(new_nsp->pid_ns);
-+              goto out_pid;
-+      }
-+
-+-     new_nsp->net_ns = copy_net_ns(flags, tsk->nsproxy->net_ns);
-++     /* disabled now?
-++     new_nsp->user_ns = copy_user_ns(flags, orig->user_ns);
-++     if (IS_ERR(new_nsp->user_ns)) {
-++             err = PTR_ERR(new_nsp->user_ns);
-++             goto out_user;
-++     } */
-++
-++     new_nsp->net_ns = copy_net_ns(flags, orig->net_ns);
-+      if (IS_ERR(new_nsp->net_ns)) {
-+              err = PTR_ERR(new_nsp->net_ns);
-+              goto out_net;
-+-- ./kernel/sys.c
-+++ ./kernel/sys.c
-+@@ -1197,7 +1210,7 @@ SYSCALL_DEFINE2(sethostname, char __user
-+      int errno;
-+      char tmp[__NEW_UTS_LEN];
-+
-+-     if (!capable(CAP_SYS_ADMIN))
-++     if (!vx_capable(CAP_SYS_ADMIN, VXC_SET_UTSNAME))
-+              return -EPERM;
-+      if (len < 0 || len > __NEW_UTS_LEN)
-+              return -EINVAL;
-+@@ -1246,7 +1259,7 @@ SYSCALL_DEFINE2(setdomainname, char __us
-+      int errno;
-+      char tmp[__NEW_UTS_LEN];
-+
-+-     if (!capable(CAP_SYS_ADMIN))
-++     if (!vx_capable(CAP_SYS_ADMIN, VXC_SET_UTSNAME))
-+              return -EPERM;
-+      if (len < 0 || len > __NEW_UTS_LEN)
-+              return -EINVAL;
-+@@ -1415,7 +1428,7 @@ static int check_prlimit_permission(stru
-+           cred->gid != tcred->egid ||
-+           cred->gid != tcred->sgid ||
-+           cred->gid != tcred->gid) &&
-+-          !capable(CAP_SYS_RESOURCE)) {
-++          !vx_capable(CAP_SYS_RESOURCE, VXC_SET_RLIMIT)) {
-+              return -EPERM;
-+      }
-+
-+-- ./kernel/capability.c
-+++ ./kernel/capability.c
-+@@ -14,6 +14,7 @@
-+ #include <linux/security.h>
-+ #include <linux/syscalls.h>
-+ #include <linux/pid_namespace.h>
-++#include <linux/vs_context.h>
-+ #include <asm/uaccess.h>
-+
-+ /*
-+-- ./kernel/utsname.c
-+++ ./kernel/utsname.c
-+@@ -14,14 +14,17 @@
-+ #include <linux/utsname.h>
-+ #include <linux/err.h>
-+ #include <linux/slab.h>
-++#include <linux/vserver/global.h>
-+
-+ static struct uts_namespace *create_uts_ns(void)
-+ {
-+      struct uts_namespace *uts_ns;
-+
-+      uts_ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL);
-+-     if (uts_ns)
-++     if (uts_ns) {
-+              kref_init(&uts_ns->kref);
-++             atomic_inc(&vs_global_uts_ns);
-++     }
-+      return uts_ns;
-+ }
-+
-+@@ -71,5 +74,6 @@ void free_uts_ns(struct kref *kref)
-+      struct uts_namespace *ns;
-+
-+      ns = container_of(kref, struct uts_namespace, kref);
-++     atomic_dec(&vs_global_uts_ns);
-+      kfree(ns);
-+ }
-+-- ./mm/page_alloc.c
-+++ ./mm/page_alloc.c
-+@@ -53,6 +53,8 @@
-+ #include <linux/compaction.h>
-+ #include <trace/events/kmem.h>
-+ #include <linux/ftrace_event.h>
-++#include <linux/vs_base.h>
-++#include <linux/vs_limit.h>
-+
-+ #include <asm/tlbflush.h>
-+ #include <asm/div64.h>
-+-- ./include/linux/fs.h
-+++ ./include/linux/fs.h
-+@@ -237,6 +240,14 @@ struct inodes_stat_t {
-+ #define S_PRIVATE    512     /* Inode is fs-internal */
-+ #define S_IMA                1024    /* Inode has an associated IMA struct */
-+ #define S_AUTOMOUNT  2048    /* Automount/referral quasi-directory */
-++#define S_IXUNLINK   4096    /* Immutable Invert on unlink */
-++
-++/* Linux-VServer related Inode flags */
-++
-++#define V_VALID              1
-++#define V_XATTR              2
-++#define V_BARRIER    4       /* Barrier for chroot() */
-++#define V_COW                8       /* Copy on Write */
-+
-+ /*
-+  * Note that nosuid etc flags are inode-specific: setting some file-system
-+@@ -360,11 +384,14 @@ struct inodes_stat_t {
-+ #define FS_TOPDIR_FL                 0x00020000 /* Top of directory 
hierarchies*/
-+ #define FS_EXTENT_FL                 0x00080000 /* Extents */
-+ #define FS_DIRECTIO_FL                       0x00100000 /* Use direct i/o */
-++#define FS_IXUNLINK_FL                       0x08000000 /* Immutable invert 
on unlink */
-+ #define FS_RESERVED_FL                       0x80000000 /* reserved for ext2 
lib */
-+
-+-#define FS_FL_USER_VISIBLE           0x0003DFFF /* User visible flags */
-+-#define FS_FL_USER_MODIFIABLE                0x000380FF /* User modifiable 
flags */
-++#define FS_BARRIER_FL                        0x04000000 /* Barrier for 
chroot() */
-++#define FS_COW_FL                    0x20000000 /* Copy on Write marker */
-+
-++#define FS_FL_USER_VISIBLE           0x0103DFFF /* User visible flags */
-++#define FS_FL_USER_MODIFIABLE                0x010380FF /* User modifiable 
flags */
-+
-+ #define SYNC_FILE_RANGE_WAIT_BEFORE  1
-+ #define SYNC_FILE_RANGE_WRITE                2
-+-- ./include/net/route.h
-+++ ./include/net/route.h
-+@@ -211,6 +214,9 @@ static inline char rt_tos2priority(u8 to
-+      return ip_tos2prio[IPTOS_TOS(tos)>>1];
-+ }
-+
-++extern int ip_v4_find_src(struct net *net, struct nx_info *,
-++     struct rtable **, struct flowi *);
-++
-+ static inline int ip_route_connect(struct rtable **rp, __be32 dst,
-+                                 __be32 src, u32 tos, int oif, u8 protocol,
-+                                 __be16 sport, __be16 dport, struct sock *sk,
-+@@ -226,11 +232,24 @@ static inline int ip_route_connect(struc
-+                          .fl_ip_dport = dport };
-+      int err;
-+      struct net *net = sock_net(sk);
-++     struct nx_info *nx_info = current_nx_info();
-+
-+      if (inet_sk(sk)->transparent)
-+              fl.flags |= FLOWI_FLAG_ANYSRC;
-+
-+-     if (!dst || !src) {
-++     if (sk)
-++             nx_info = sk->sk_nx_info;
-++
-++     vxdprintk(VXD_CBIT(net, 4),
-++             "ip_route_connect(%p) %p,%p;%lx",
-++             sk, nx_info, sk->sk_socket,
-++             (sk->sk_socket?sk->sk_socket->flags:0));
-++
-++     err = ip_v4_find_src(net, nx_info, rp, &fl);
-++     if (err)
-++             return err;
-++
-++     if (!fl.fl4_dst || !fl.fl4_src) {
-+              err = __ip_route_output_key(net, rp, &fl);
-+              if (err)
-+                      return err;
-+-- ./net/ipv6/route.c
-+++ ./net/ipv6/route.c
-+@@ -2290,7 +2290,8 @@ static int rt6_fill_node(struct net *net
-+              struct inet6_dev *idev = ip6_dst_idev(&rt->dst);
-+              struct in6_addr saddr_buf;
-+              if (ipv6_dev_get_saddr(net, idev ? idev->dev : NULL,
-+-                                    dst, 0, &saddr_buf) == 0)
-++                     dst, 0, &saddr_buf,
-++                     (skb->sk ? skb->sk->sk_nx_info : NULL)) == 0)
-+                      NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf);
-+      }
-+
-+-- ./net/ipv6/ip6_output.c
-+++ ./net/ipv6/ip6_output.c
-+@@ -933,7 +933,7 @@ static int ip6_dst_lookup_tail(struct so
-+              err = ipv6_dev_get_saddr(net, ip6_dst_idev(*dst)->dev,
-+                                       &fl->fl6_dst,
-+                                       sk ? inet6_sk(sk)->srcprefs : 0,
-+-                                      &fl->fl6_src);
-++                                      &fl->fl6_src, sk->sk_nx_info);
-+              if (err)
-+                      goto out_err_release;
-+      }
-+-- ./net/netfilter/ipvs/ip_vs_xmit.c
-+++ ./net/netfilter/ipvs/ip_vs_xmit.c
-+@@ -213,7 +213,7 @@ __ip_vs_route_output_v6(struct net *net,
-+              return dst;
-+      if (ipv6_addr_any(&fl.fl6_src) &&
-+          ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev,
-+-                            &fl.fl6_dst, 0, &fl.fl6_src) < 0)
-++                            &fl.fl6_dst, 0, &fl.fl6_src, NULL) < 0)
-+              goto out_err;
-+      if (do_xfrm && xfrm_lookup(net, &dst, &fl, NULL, 0) < 0)
-+              goto out_err;
-+-- ./net/socket.c
-+++ ./net/socket.c
-+@@ -551,7 +555,7 @@ static inline int __sock_sendmsg(struct
-+                               struct msghdr *msg, size_t size)
-+ {
-+      struct sock_iocb *si = kiocb_to_siocb(iocb);
-+-     int err;
-++     int err, len;
-+
-+      sock_update_classid(sock->sk);
-+
-+-- ./net/ipv4/udp.c
-+++ ./net/ipv4/udp.c
-+@@ -898,8 +903,13 @@ int udp_sendmsg(struct kiocb *iocb, stru
-+                                  .fl_ip_sport = inet->inet_sport,
-+                                  .fl_ip_dport = dport };
-+              struct net *net = sock_net(sk);
-++             struct nx_info *nxi = sk->sk_nx_info;
-+
-+              security_sk_classify_flow(sk, &fl);
-++             err = ip_v4_find_src(net, nxi, &rt, &fl);
-++             if (err)
-++                     goto out;
-++
-+              err = ip_route_output_flow(net, &rt, &fl, sk, 1);
-+              if (err) {
-+                      if (err == -ENETUNREACH)
-+@@ -2091,7 +2106,10 @@ static void udp4_format_sock(struct sock
-+
-+      seq_printf(f, "%5d: %08X:%04X %08X:%04X"
-+              " %02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %p %d%n",
-+-             bucket, src, srcp, dest, destp, sp->sk_state,
-++             bucket,
-++             nx_map_sock_lback(current_nx_info(), src), srcp,
-++             nx_map_sock_lback(current_nx_info(), dest), destp,
-++             sp->sk_state,
-+              sk_wmem_alloc_get(sp),
-+              sk_rmem_alloc_get(sp),
-+              0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
-+-- ./net/ipv4/tcp_ipv4.c
-+++ ./net/ipv4/tcp_ipv4.c
-+@@ -2427,7 +2454,10 @@ static void get_tcp4_sock(struct sock *s
-+
-+      seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
-+                      "%08X %5d %8d %lu %d %p %lu %lu %u %u %d%n",
-+-             i, src, srcp, dest, destp, sk->sk_state,
-++             i,
-++             nx_map_sock_lback(current_nx_info(), src), srcp,
-++             nx_map_sock_lback(current_nx_info(), dest), destp,
-++             sk->sk_state,
-+              tp->write_seq - tp->snd_una,
-+              rx_queue,
-+              timer_active,
-+@@ -2462,7 +2492,10 @@ static void get_timewait4_sock(struct in
-+
-+      seq_printf(f, "%4d: %08X:%04X %08X:%04X"
-+              " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %p%n",
-+-             i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
-++             i,
-++             nx_map_sock_lback(current_nx_info(), src), srcp,
-++             nx_map_sock_lback(current_nx_info(), dest), destp,
-++             tw->tw_substate, 0, 0,
-+              3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
-+              atomic_read(&tw->tw_refcnt), tw, len);
-+ }
-+-- ./net/ipv4/raw.c
-+++ ./net/ipv4/raw.c
-+@@ -564,6 +570,13 @@ static int raw_sendmsg(struct kiocb *ioc
-+              }
-+
-+              security_sk_classify_flow(sk, &fl);
-++             if (sk->sk_nx_info) {
-++                     err = ip_v4_find_src(sock_net(sk),
-++                             sk->sk_nx_info, &rt, &fl);
-++
-++                     if (err)
-++                             goto done;
-++             }
-+              err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk, 1);
-+      }
-+      if (err)
-+@@ -980,7 +998,10 @@ static void raw_sock_seq_show(struct seq
-+
-+      seq_printf(seq, "%4d: %08X:%04X %08X:%04X"
-+              " %02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %p %d\n",
-+-             i, src, srcp, dest, destp, sp->sk_state,
-++             i,
-++             nx_map_sock_lback(current_nx_info(), src), srcp,
-++             nx_map_sock_lback(current_nx_info(), dest), destp,
-++             sp->sk_state,
-+              sk_wmem_alloc_get(sp),
-+              sk_rmem_alloc_get(sp),
-+              0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
-+-- ./net/sctp/ipv6.c
-+++ ./net/sctp/ipv6.c
-+@@ -306,7 +306,8 @@ static void sctp_v6_get_saddr(struct sct
-+                                 dst ? ip6_dst_idev(dst)->dev : NULL,
-+                                 &daddr->v6.sin6_addr,
-+                                 inet6_sk(&sk->inet.sk)->srcprefs,
-+-                                &saddr->v6.sin6_addr);
-++                                &saddr->v6.sin6_addr,
-++                                asoc->base.sk->sk_nx_info);
-+              SCTP_DEBUG_PRINTK("saddr from ipv6_get_saddr: %pI6\n",
-+                                &saddr->v6.sin6_addr);
-+              return;
-+-- ./net/sunrpc/clnt.c
-+++ ./net/sunrpc/clnt.c
-+@@ -33,6 +33,7 @@
-+ #include <linux/utsname.h>
-+ #include <linux/workqueue.h>
-+ #include <linux/in6.h>
-++#include <linux/vs_cvirt.h>
-+
-+ #include <linux/sunrpc/clnt.h>
-+ #include <linux/sunrpc/rpc_pipe_fs.h>
-+-- ./arch/m68k/kernel/traps.c
-+++ ./arch/m68k/kernel/traps.c
-+@@ -906,8 +906,8 @@ void show_registers(struct pt_regs *regs
-+      printk("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
-+             regs->d4, regs->d5, regs->a0, regs->a1);
-+
-+-     printk("Process %s (pid: %d, task=%p)\n",
-+-             current->comm, task_pid_nr(current), current);
-++     printk("Process %s (pid: %d[#%u], task=%p)\n",
-++             current->comm, task_pid_nr(current), current->xid, current);
-+      addr = (unsigned long)&fp->un;
-+      printk("Frame format=%X ", regs->format);
-+      switch (regs->format) {
-+-- ./arch/m68k/kernel/ptrace.c
-+++ ./arch/m68k/kernel/ptrace.c
-+@@ -18,6 +18,7 @@
-+ #include <linux/ptrace.h>
-+ #include <linux/user.h>
-+ #include <linux/signal.h>
-++#include <linux/vs_base.h>
-+
-+ #include <asm/uaccess.h>
-+ #include <asm/page.h>
-+@@ -255,6 +256,8 @@ long arch_ptrace(struct task_struct *chi
-+              ret = ptrace_request(child, request, addr, data);
-+              break;
-+      }
-++     if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
-++             goto out_tsk;
-+
-+      return ret;
-+ out_eio:
-+-- ./arch/ia64/mm/fault.c
-+++ ./arch/ia64/mm/fault.c
-+@@ -10,6 +10,7 @@
-+ #include <linux/interrupt.h>
-+ #include <linux/kprobes.h>
-+ #include <linux/kdebug.h>
-++#include <linux/vs_memory.h>
-+
-+ #include <asm/pgtable.h>
-+ #include <asm/processor.h>
-+-- ./fs/xfs/linux-2.6/xfs_super.c
-+++ ./fs/xfs/linux-2.6/xfs_super.c
-+@@ -112,6 +112,9 @@ mempool_t *xfs_ioend_pool;
-+ #define MNTOPT_QUOTANOENF  "qnoenforce"      /* same as uqnoenforce */
-+ #define MNTOPT_DELAYLOG   "delaylog" /* Delayed loging enabled */
-+ #define MNTOPT_NODELAYLOG "nodelaylog"       /* Delayed loging disabled */
-++#define MNTOPT_TAGXID        "tagxid"        /* context tagging for inodes */
-++#define MNTOPT_TAGGED        "tag"           /* context tagging for inodes */
-++#define MNTOPT_NOTAGTAG      "notag"         /* do not use context tagging */
-+
-+ /*
-+  * Table driven mount option parser.
-+@@ -369,6 +376,19 @@ xfs_parseargs(
-+              } else if (!strcmp(this_char, "irixsgid")) {
-+                      cmn_err(CE_WARN,
-+      "XFS: irixsgid is now a sysctl(2) variable, option is deprecated.");
-++#ifndef CONFIG_TAGGING_NONE
-++             } else if (!strcmp(this_char, MNTOPT_TAGGED)) {
-++                     mp->m_flags |= XFS_MOUNT_TAGGED;
-++             } else if (!strcmp(this_char, MNTOPT_NOTAGTAG)) {
-++                     mp->m_flags &= ~XFS_MOUNT_TAGGED;
-++             } else if (!strcmp(this_char, MNTOPT_TAGXID)) {
-++                     mp->m_flags |= XFS_MOUNT_TAGGED;
-++#endif
-++#ifdef CONFIG_PROPAGATE
-++             } else if (!strcmp(this_char, MNTOPT_TAGGED)) {
-++                     /* use value */
-++                     mp->m_flags |= XFS_MOUNT_TAGGED;
-++#endif
-+              } else {
-+                      cmn_err(CE_WARN,
-+                              "XFS: unknown mount option [%s].", this_char);
-+-- ./fs/ext4/inode.c
-+++ ./fs/ext4/inode.c
-+@@ -4446,7 +4447,7 @@ static void ext4_free_branches(handle_t
-+
-+ int ext4_can_truncate(struct inode *inode)
-+ {
-+-     if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
-++     if (IS_APPEND(inode) || IS_IXORUNLINK(inode))
-+              return 0;
-+      if (S_ISREG(inode->i_mode))
-+              return 1;
-+-- ./fs/namespace.c
-+++ ./fs/namespace.c
-+@@ -1000,10 +1033,20 @@ static int show_vfsmnt(struct seq_file *
-+      int err = 0;
-+      struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
-+
-+-     mangle(m, mnt->mnt_devname ? mnt->mnt_devname : "none");
-+-     seq_putc(m, ' ');
-+-     seq_path(m, &mnt_path, " \t\n\\");
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-vserver-2.3.patch?r1=1.66&r2=1.67&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to