]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-vserver-2.3.patch
- overlay fs merged upstream
[packages/kernel.git] / kernel-vserver-2.3.patch
index 81b74fdc676f9b8462c918dde6789315a6e119f9..7942b7dd572cafd772a592f97c57e7562b40f68d 100644 (file)
@@ -458,17 +458,17 @@ diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/traps.c linux-3.13.10-vs2
 --- linux-3.13.10/arch/parisc/kernel/traps.c   2013-11-25 15:46:28.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/arch/parisc/kernel/traps.c        2014-01-31 20:38:03.000000000 +0000
 @@ -229,8 +229,9 @@ void die_if_kernel(char *str, struct pt_
-               if (err == 0)
                        return; /* STFU */
  
--              printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
+               parisc_printk_ratelimited(1, regs,
+-                      KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
 -                      current->comm, task_pid_nr(current), str, err, regs->iaoq[0]);
-+              printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
++                      KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
 +                      current->comm, task_pid_nr(current), current->xid,
 +                      str, err, regs->iaoq[0]);
- #ifdef PRINT_USER_FAULTS
-               /* XXX for debugging only */
-               show_regs(regs);
+               return;
+       }
 @@ -263,8 +264,8 @@ void die_if_kernel(char *str, struct pt_
                pdc_console_restart();
        
@@ -480,21 +480,6 @@ diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/traps.c linux-3.13.10-vs2
  
        /* Wot's wrong wif bein' racy? */
        if (current->thread.flags & PARISC_KERNEL_DEATH) {
-diff -NurpP --minimal linux-3.13.10/arch/parisc/mm/fault.c linux-3.13.10-vs2.3.6.11/arch/parisc/mm/fault.c
---- linux-3.13.10/arch/parisc/mm/fault.c       2014-01-22 20:38:18.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/parisc/mm/fault.c    2014-01-31 20:38:03.000000000 +0000
-@@ -272,8 +272,9 @@ bad_area:
- #ifdef PRINT_USER_FAULTS
-               printk(KERN_DEBUG "\n");
--              printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n",
--                  task_pid_nr(tsk), tsk->comm, code, address);
-+              printk(KERN_DEBUG "do_page_fault() pid=%d:#%u "
-+                  "command='%s' type=%lu address=0x%08lx\n",
-+                  task_pid_nr(tsk), tsk->xid, tsk->comm, code, address);
-               if (vma) {
-                       printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
-                                       vma->vm_start, vma->vm_end);
 diff -NurpP --minimal linux-3.13.10/arch/powerpc/Kconfig linux-3.13.10-vs2.3.6.11/arch/powerpc/Kconfig
 --- linux-3.13.10/arch/powerpc/Kconfig 2014-01-22 20:38:18.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/arch/powerpc/Kconfig      2014-01-31 20:38:03.000000000 +0000
@@ -584,14 +569,14 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/kernel/syscalls.S linux-3.13.10-vs
 --- linux-3.13.10/arch/s390/kernel/syscalls.S  2013-07-14 17:00:34.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/arch/s390/kernel/syscalls.S       2014-01-31 20:38:03.000000000 +0000
 @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
- SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper)      /* 260 */
- SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
- SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper)
+ SYSCALL(sys_clock_gettime,sys_clock_gettime,compat_sys_clock_gettime) /* 260 */
+ SYSCALL(sys_clock_getres,sys_clock_getres,compat_sys_clock_getres)
+ SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,compat_sys_clock_nanosleep)
 -NI_SYSCALL                                                    /* reserved for vserver */
 +SYSCALL(sys_vserver,sys_vserver,sys32_vserver)
- SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
- SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
- SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
+ SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64)
+ SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64)
+ SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64)
 diff -NurpP --minimal linux-3.13.10/arch/sh/Kconfig linux-3.13.10-vs2.3.6.11/arch/sh/Kconfig
 --- linux-3.13.10/arch/sh/Kconfig      2014-01-22 20:38:24.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/arch/sh/Kconfig   2014-01-31 20:38:03.000000000 +0000
@@ -2952,10 +2937,10 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
        if (flags & EXT4_DIRSYNC_FL)
                new_fl |= S_DIRSYNC;
 +
-       set_mask_bits(&inode->i_flags,
--                    S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC, new_fl);
+       inode_set_flags(inode, new_fl,
+-                      S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
 +              S_IXUNLINK | S_IMMUTABLE |
-+              S_SYNC | S_APPEND | S_NOATIME | S_DIRSYNC, new_fl);
++              S_SYNC | S_APPEND | S_NOATIME | S_DIRSYNC);
 +
 +      new_fl = 0;
 +      if (flags & EXT4_BARRIER_FL)
@@ -3324,9 +3309,9 @@ diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/
  
  over:
 @@ -254,6 +258,8 @@ static void __fput(struct file *file)
-               i_readcount_dec(inode);
-       if (file->f_mode & FMODE_WRITE)
-               drop_file_write_access(file);
+               put_write_access(inode);
+               __mnt_drop_write(mnt);
+       }
 +      vx_files_dec(file);
 +      file->f_xid = 0;
        file->f_path.dentry = NULL;
@@ -4182,23 +4167,50 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
  }
  EXPORT_SYMBOL(posix_lock_file);
  
-@@ -1208,7 +1240,7 @@ int locks_mandatory_area(int read_write,
+@@ -1168,6 +1170,7 @@ int locks_mandatory_area(int read_write,
+       struct file_lock fl;
+       int error;
+       bool sleep = false;
++      vxid_t xid;
+       locks_init_lock(&fl);
+       fl.fl_pid = current->tgid;
+@@ -1208,20 +1240,24 @@ int locks_mandatory_area(int read_write,
+       fl.fl_type = (read_write == FLOCK_VERIFY_WRITE) ? F_WRLCK : F_RDLCK;
+       fl.fl_start = offset;
        fl.fl_end = offset + count - 1;
++      if (filp)
++              xid = filp->f_xid;
++      else
++              xid = vx_current_xid();
  
        for (;;) {
+               if (filp) {
+                       fl.fl_owner = (fl_owner_t)filp;
+                       fl.fl_flags &= ~FL_SLEEP;
+-                      error = __posix_lock_file(inode, &fl, NULL);
++                      error = __posix_lock_file(inode, &fl, NULL, xid);
+                       if (!error)
+                               break;
+               }
+               if (sleep)
+                       fl.fl_flags |= FL_SLEEP;
+               fl.fl_owner = current->files;
 -              error = __posix_lock_file(inode, &fl, NULL);
-+              error = __posix_lock_file(inode, &fl, NULL, filp->f_xid);
++              error = __posix_lock_file(inode, &fl, NULL, xid);
                if (error != FILE_LOCK_DEFERRED)
                        break;
                error = wait_event_interruptible(fl.fl_wait, !fl.fl_next);
-@@ -1549,6 +1581,7 @@ static int generic_add_lease(struct file
-               goto out;
-       locks_insert_lock(before, lease);
-+      vx_locks_inc(lease);
-       error = 0;
+@@ -1549,6 +1581,8 @@ static int generic_add_lease(struct file
+       error = check_conflicting_open(dentry, arg);
+       if (error)
+               locks_unlink_lock(flp);
++      else
++              vx_locks_inc(lease);
  out:
        if (is_deleg)
+               mutex_unlock(&inode->i_mutex);
 @@ -1991,6 +2024,11 @@ int fcntl_setlk(unsigned int fd, struct
        if (file_lock == NULL)
                return -ENOLCK;
@@ -4522,7 +4534,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
                return -EPERM;
        if (!dir->i_op->link)
                return -EPERM;
-@@ -4305,6 +4449,287 @@ int generic_readlink(struct dentry *dent
+@@ -4305,6 +4449,288 @@ int generic_readlink(struct dentry *dent
        return res;
  }
  
@@ -4708,7 +4720,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +              old_dentry->d_name.len, old_dentry->d_name.name,
 +              old_dentry->d_name.len);
 +      ret = vfs_rename(dir_nd.path.dentry->d_inode, new_dentry,
-+              old_dentry->d_parent->d_inode, old_dentry, NULL);
++              old_dentry->d_parent->d_inode, old_dentry, NULL, 0);
 +      vxdprintk(VXD_CBIT(misc, 2), "vfs_rename: %d", ret);
 +
 +out_unlock:
@@ -4806,15 +4818,11 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +      kfree(pstr);
 +      return length;
 +}
++EXPORT_SYMBOL(vx_info_mnt_namespace);
 +
  /* get the link contents into pagecache */
  static char *page_getlink(struct dentry * dentry, struct page **ppage)
  {
-@@ -4427,3 +4852,4 @@ EXPORT_SYMBOL(vfs_symlink);
- EXPORT_SYMBOL(vfs_unlink);
- EXPORT_SYMBOL(dentry_unhash);
- EXPORT_SYMBOL(generic_readlink);
-+EXPORT_SYMBOL(vx_info_mnt_namespace);
 diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/namespace.c
 --- linux-3.13.10/fs/namespace.c       2014-04-17 01:12:32.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/fs/namespace.c    2014-04-17 01:18:37.000000000 +0000
@@ -5750,9 +5758,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/namei.c linux-3.13.10-vs2.3.6.11/fs
  #include <cluster/masklog.h>
  
 @@ -475,6 +476,7 @@ static int __ocfs2_mknod_locked(struct i
-       struct ocfs2_dinode *fe = NULL;
        struct ocfs2_extent_list *fel;
        u16 feat;
+       struct ocfs2_inode_info *oi = OCFS2_I(inode);
 +      ktag_t ktag;
  
        *new_fe_bh = NULL;
@@ -6463,7 +6471,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/stat.c linux-3.13.10-vs2.3.6.11/fs/p
  #include <linux/time.h>
  #include <linux/irqnr.h>
 +#include <linux/vserver/cvirt.h>
- #include <asm/cputime.h>
+ #include <linux/cputime.h>
  #include <linux/tick.h>
 +#include <linux/cpuset.h>
  
@@ -6514,7 +6522,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/uptime.c linux-3.13.10-vs2.3.6.11/fs
  #include <linux/time.h>
  #include <linux/kernel_stat.h>
 +#include <linux/vserver/cvirt.h>
- #include <asm/cputime.h>
+ #include <linux/cputime.h>
  
  static int uptime_proc_show(struct seq_file *m, void *v)
 @@ -24,6 +25,10 @@ static int uptime_proc_show(struct seq_f
@@ -6833,18 +6841,6 @@ diff -NurpP --minimal linux-3.13.10/fs/super.c linux-3.13.10-vs2.3.6.11/fs/super
        error = security_sb_kern_mount(sb, flags, secdata);
        if (error)
                goto out_sb;
-diff -NurpP --minimal linux-3.13.10/fs/kernfs/mount.c linux-3.13.10-vs2.3.6.11/fs/kernfs/mount.c
---- linux-3.13.10/fs/kernfs/mount.c    2013-11-25 15:47:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/kernfs/mount.c 2014-01-31 20:38:03.000000000 +0000
-@@ -48,7 +48,7 @@ static int sysfs_fill_super(struct super
-       sb->s_blocksize = PAGE_CACHE_SIZE;
-       sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
--      sb->s_magic = SYSFS_MAGIC;
-+      sb->s_magic = SYSFS_SUPER_MAGIC;
-       sb->s_op = &kernfs_sops;
-       sb->s_time_gran = 1;
 diff -NurpP --minimal linux-3.13.10/fs/utimes.c linux-3.13.10-vs2.3.6.11/fs/utimes.c
 --- linux-3.13.10/fs/utimes.c  2014-01-22 20:39:07.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/fs/utimes.c       2014-01-31 23:49:14.000000000 +0000
@@ -7420,18 +7416,6 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sunrpc/clnt.h linux-3.13.10-vs
  
        struct rpc_rtt *        cl_rtt;         /* RTO estimator data */
        const struct rpc_timeout *cl_timeout;   /* Timeout strategy */
-diff -NurpP --minimal linux-3.13.10/include/linux/sysfs.h linux-3.13.10-vs2.3.6.11/include/linux/sysfs.h
---- linux-3.13.10/include/linux/sysfs.h        2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/sysfs.h     2014-01-31 20:38:03.000000000 +0000
-@@ -20,6 +20,8 @@
- #include <linux/stat.h>
- #include <linux/atomic.h>
-+#define SYSFS_SUPER_MAGIC     0x62656572
-+
- struct kobject;
- struct module;
- struct bin_attribute;
 diff -NurpP --minimal linux-3.13.10/include/linux/types.h linux-3.13.10-vs2.3.6.11/include/linux/types.h
 --- linux-3.13.10/include/linux/types.h        2013-02-19 13:58:52.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/include/linux/types.h     2014-01-31 20:38:03.000000000 +0000
@@ -7511,7 +7495,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  
  extern kuid_t make_kuid(struct user_namespace *from, uid_t uid);
  extern kgid_t make_kgid(struct user_namespace *from, gid_t gid);
-+extern krag_t make_ktag(struct user_namespace *from, gid_t gid);
++extern ktag_t make_ktag(struct user_namespace *from, gid_t gid);
  
  extern uid_t from_kuid(struct user_namespace *to, kuid_t uid);
  extern gid_t from_kgid(struct user_namespace *to, kgid_t gid);
@@ -12952,9 +12936,9 @@ diff -NurpP --minimal linux-3.13.10/init/Kconfig linux-3.13.10-vs2.3.6.11/init/K
 --- linux-3.13.10/init/Kconfig 2014-04-17 01:12:39.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/init/Kconfig      2014-04-17 01:17:11.000000000 +0000
 @@ -855,6 +855,7 @@ config NUMA_BALANCING
  menuconfig CGROUPS
        boolean "Control Group support"
+       select KERNFS
 +      default y
        help
          This option adds support for grouping sets of processes together, for
@@ -13420,9 +13404,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
 --- linux-3.13.10/kernel/fork.c        2014-01-22 20:39:13.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/kernel/fork.c     2014-01-31 20:38:03.000000000 +0000
 @@ -71,6 +71,9 @@
- #include <linux/signalfd.h>
  #include <linux/uprobes.h>
  #include <linux/aio.h>
+ #include <linux/compiler.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_network.h>
 +#include <linux/vs_limit.h>
@@ -13961,9 +13945,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/core.c linux-3.13.10-vs2.3.6.11
 --- linux-3.13.10/kernel/sched/core.c  2014-04-17 01:12:39.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/kernel/sched/core.c       2014-02-25 11:26:10.000000000 +0000
 @@ -73,6 +73,8 @@
- #include <linux/init_task.h>
  #include <linux/binfmts.h>
  #include <linux/context_tracking.h>
+ #include <linux/compiler.h>
 +#include <linux/vs_sched.h>
 +#include <linux/vs_cvirt.h>
  
@@ -13989,12 +13973,12 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6
  #include "sched.h"
  
  
-@@ -135,14 +136,17 @@ static inline void task_group_account_fi
+@@ -189,9 +193,12 @@ static inline
  void account_user_time(struct task_struct *p, cputime_t cputime,
                       cputime_t cputime_scaled)
  {
 +      struct vx_info *vxi = p->vx_info;  /* p is _always_ current */
-+      int nice = (TASK_NICE(p) > 0);
++      int nice = (task_nice(p) > 0);
        int index;
  
        /* Add user time to process. */
@@ -14003,12 +13987,12 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6
 +      vx_account_user(vxi, cputime, nice);
        account_group_user_time(p, cputime);
  
--      index = (TASK_NICE(p) > 0) ? CPUTIME_NICE : CPUTIME_USER;
+-      index = (task_nice(p) > 0) ? CPUTIME_NICE : CPUTIME_USER;
 +      index = (nice) ? CPUTIME_NICE : CPUTIME_USER;
  
        /* Add user time to cpustat. */
        task_group_account_field(p, index, (__force u64) cputime);
-@@ -189,9 +193,12 @@ static inline
+@@ -215,14 +216,17 @@ static inline void task_group_account_fi
  void __account_system_time(struct task_struct *p, cputime_t cputime,
                        cputime_t cputime_scaled, int index)
  {
@@ -14078,14 +14062,14 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
 --- linux-3.13.10/kernel/signal.c      2014-01-22 20:39:13.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/kernel/signal.c   2014-01-31 20:38:03.000000000 +0000
 @@ -33,6 +33,8 @@
- #include <linux/uprobes.h>
  #include <linux/compat.h>
  #include <linux/cn_proc.h>
+ #include <linux/compiler.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_pid.h>
  #define CREATE_TRACE_POINTS
  #include <trace/events/signal.h>
 @@ -790,9 +792,18 @@ static int check_kill_permission(int sig
        struct pid *sid;
        int error;
@@ -14173,9 +14157,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/softirq.c linux-3.13.10-vs2.3.6.11/ke
 --- linux-3.13.10/kernel/softirq.c     2014-01-22 20:39:13.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/kernel/softirq.c  2014-01-31 20:38:03.000000000 +0000
 @@ -23,6 +23,7 @@
- #include <linux/smp.h>
  #include <linux/smpboot.h>
  #include <linux/tick.h>
+ #include <linux/irq.h>
 +#include <linux/vs_context.h>
  
  #define CREATE_TRACE_POINTS
@@ -14300,9 +14284,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/time/timekeeping.c linux-3.13.10-vs2.
 --- linux-3.13.10/kernel/time/timekeeping.c    2014-04-17 01:12:40.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/kernel/time/timekeeping.c 2014-02-25 11:26:10.000000000 +0000
 @@ -22,6 +22,7 @@
- #include <linux/tick.h>
  #include <linux/stop_machine.h>
  #include <linux/pvclock_gtod.h>
+ #include <linux/compiler.h>
 +#include <linux/vs_time.h>
  
  #include "tick-internal.h"
@@ -23002,7 +22986,7 @@ diff -NurpP --minimal linux-3.13.10/mm/memcontrol.c linux-3.13.10-vs2.3.6.11/mm/
 --- linux-3.13.10/mm/memcontrol.c      2014-04-17 01:12:40.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/mm/memcontrol.c   2014-04-17 01:17:11.000000000 +0000
 @@ -1056,6 +1056,31 @@ struct mem_cgroup *mem_cgroup_from_task(
-       return mem_cgroup_from_css(task_css(p, mem_cgroup_subsys_id));
+       return mem_cgroup_from_css(task_css(p, memory_cgrp_id));
  }
  
 +u64 mem_cgroup_res_read_u64(struct mem_cgroup *mem, int member)
@@ -23030,7 +23014,7 @@ diff -NurpP --minimal linux-3.13.10/mm/memcontrol.c linux-3.13.10-vs2.3.6.11/mm/
 +      return mem_cgroup_read_stat(mem, MEM_CGROUP_STAT_FILE_MAPPED);
 +}
 +
- struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm)
+ static struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
  {
        struct mem_cgroup *memcg = NULL;
 diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oom_kill.c
@@ -23440,9 +23424,9 @@ diff -NurpP --minimal linux-3.13.10/net/core/rtnetlink.c linux-3.13.10-vs2.3.6.1
                                goto cont;
 +                      if (!nx_dev_visible(skb->sk->sk_nx_info, dev))
 +                              continue;
-                       if (rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
-                                            NETLINK_CB(cb->skb).portid,
-                                            cb->nlh->nlmsg_seq, 0,
+                       err = rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
+                                              NETLINK_CB(cb->skb).portid,
+                                              cb->nlh->nlmsg_seq, 0,
 @@ -1992,6 +1994,9 @@ void rtmsg_ifinfo(int type, struct net_d
        int err = -ENOBUFS;
        size_t if_info_size;
This page took 0.084102 seconds and 4 git commands to generate.