]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Merge branch 'uek-2.6.39-200' of ca-git.us.oracle.com:linux-uek-2.6.39
authorMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 28 Jun 2012 14:47:37 +0000 (07:47 -0700)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 28 Jun 2012 14:47:37 +0000 (07:47 -0700)
Conflicts:
block/scsi_ioctl.c
drivers/hwmon/fam15h_power.c
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
drivers/md/dm-mpath.c
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/hxge/hxge_main.c
drivers/net/hxge/hxge_txdma.c
drivers/pci/pcie/aspm.c
drivers/scsi/sd.c
include/linux/if_vlan.h
net/ipv4/route.c
net/ipv6/route.c
net/sunrpc/svc.c
net/sunrpc/svc_xprt.c
uek-rpm/ol5/kernel-uek.spec
uek-rpm/ol6/config-generic
uek-rpm/ol6/kernel-uek.spec

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
29 files changed:
1  2 
block/scsi_ioctl.c
drivers/block/ub.c
drivers/firewire/ohci.c
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
drivers/net/3c59x.c
drivers/net/usb/usbnet.c
drivers/net/vmxnet3/vmxnet3_drv.c
drivers/rtc/interface.c
drivers/scsi/sd.c
drivers/target/target_core_cdb.c
drivers/usb/serial/ftdi_sio.c
fs/dcache.c
fs/ext4/inode.c
fs/nfs/nfs4state.c
fs/proc/task_mmu.c
fs/udf/file.c
include/linux/skbuff.h
kernel/irq/chip.c
kernel/irq/manage.c
mm/memcontrol.c
mm/page_alloc.c
mm/slub.c
net/core/dev.c
net/ipv4/ip_options.c
net/ipv4/route.c
net/ipv4/tcp_input.c
net/ipv6/route.c
net/sunrpc/svc_xprt.c

index 5ef1f4c17e698457186b61736a0fa02f6594eb7f,f132ce2f711ce632de9911ca11420c42b9da95c2..9232880bf5a1d7a790039508e70508f0d6e63ab0
@@@ -697,8 -696,8 +697,13 @@@ int scsi_verify_blk_ioctl(struct block_
        if (bd && bd == bd->bd_contains)
                return 0;
  
++<<<<<<< HEAD
 +      /* Actually none of these is particularly useful on a partition,
 +       * but they are safe.
++=======
+       /* Actually none of this is particularly useful on a partition
+        * device, but let's play it safe.
++>>>>>>> acd92ae52cc861cfd30589404aed0dc2aafd44d0
         */
        switch (cmd) {
        case SCSI_IOCTL_GET_IDLUN:
        case SG_SET_RESERVED_SIZE:
        case SG_EMULATED_HOST:
                return 0;
++<<<<<<< HEAD
 +      case CDROM_GET_CAPABILITY:
 +              /* Keep this until we remove the printk below.  udev sends it
 +               * and we do not want to spam dmesg about it.   CD-ROMs do
 +               * not have partitions, so we get here only for disks.
 +               */
 +              return -ENOTTY;
 +      default:
 +              break;
 +      }
 +
 +      /* In particular, rule out all resets and host-specific ioctls.  */
 +      printk_ratelimited(KERN_WARNING
 +                         "%s: sending ioctl %x to a partition!\n", current->comm, cmd);
 +
 +      return capable(CAP_SYS_RAWIO) ? 0 : -ENOTTY;
++=======
+       default:
+               break;
+       }
+       /* In particular, rule out all resets and host-specific ioctls.  */
+       return -ENOTTY;
++>>>>>>> acd92ae52cc861cfd30589404aed0dc2aafd44d0
  }
  EXPORT_SYMBOL(scsi_verify_blk_ioctl);
  
Simple merge
Simple merge
index b811444dcdd4b2a9b9b048a549a2c6865aa3271e,a98c414978ec9a11908e0d7e69033f597cfe94e3..1b79031504896c76f14f3f8492da05a3a72be95c
@@@ -826,13 -834,18 +828,18 @@@ static int ipoib_hard_header(struct sk_
        header->reserved = 0;
  
        /*
 -       * If we don't have a neighbour structure, stuff the
 -       * destination address onto the front of the skb so we can
 -       * figure out where to send the packet later.
 +       * If we don't have a dst_entry structure, stuff the
 +       * destination address into skb->cb so we can figure out where
 +       * to send the packet later.
         */
-       if (!skb_dst(skb)) {
-               struct ipoib_cb *cb = (struct ipoib_cb *) skb->cb;
-               memcpy(cb->hwaddr, daddr, INFINIBAND_ALEN);
+       dst = skb_dst(skb);
+       n = NULL;
+       if (dst)
+               n = dst_get_neighbour_raw(dst);
+       if ((!dst || !n) && daddr) {
+               struct ipoib_pseudoheader *phdr =
+                       (struct ipoib_pseudoheader *) skb_push(skb, sizeof *phdr);
+               memcpy(phdr->hwaddr, daddr, INFINIBAND_ALEN);
        }
  
        return 0;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/dcache.c
Simple merge
diff --cc fs/ext4/inode.c
Simple merge
Simple merge
Simple merge
diff --cc fs/udf/file.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/memcontrol.c
Simple merge
diff --cc mm/page_alloc.c
Simple merge
diff --cc mm/slub.c
Simple merge
diff --cc net/core/dev.c
Simple merge
index 42dd1a90edea0916379f41d9722d5b574f7b69e2,1e60f7679075b660f489bcd1a9f462c832c5e77e..11e62bb81dfdc509a535093a2da8b77a422147a0
@@@ -573,8 -573,8 +573,9 @@@ void ip_forward_options(struct sk_buff 
                }
                if (srrptr + 3 <= srrspace) {
                        opt->is_changed = 1;
 +                      ip_hdr(skb)->daddr = opt->nexthop;
                        ip_rt_get_source(&optptr[srrptr-1], skb, rt);
+                       ip_hdr(skb)->daddr = opt->nexthop;
                        optptr[2] = srrptr+4;
                } else if (net_ratelimit())
                        printk(KERN_CRIT "ip_forward(): Argh! Destination lost!\n");
Simple merge
Simple merge
index e70e902a5d064d09489d6b26d7ad190fd1f9472a,8e600f827fe7c9b9e43c3cccd6332c4ce5d964d1..bb38ca57f7ed326eca21ae5f7a9d6bae33c26709
@@@ -2411,8 -2411,12 +2411,17 @@@ static int rt6_fill_node(struct net *ne
  
        rcu_read_lock();
        n = dst_get_neighbour(&rt->dst);
++<<<<<<< HEAD
 +      if (n)
 +              NLA_PUT(skb, RTA_GATEWAY, 16, &n->primary_key);
++=======
+       if (n) {
+               if (nla_put(skb, RTA_GATEWAY, 16, &n->primary_key) < 0) {
+                       rcu_read_unlock();
+                       goto nla_put_failure;
+               }
+       }
++>>>>>>> acd92ae52cc861cfd30589404aed0dc2aafd44d0
        rcu_read_unlock();
  
        if (rt->dst.dev)
index 9d7ed0b48b515f8edfb84ecb6eadf2749cf86600,9cb2621a8826059c010d22cb9b067aeb2a42d603..69dda93f161d2f4df06ab5b55841be4760c52c29
@@@ -932,47 -939,30 +932,56 @@@ EXPORT_SYMBOL_GPL(svc_close_xprt)
  static void svc_close_list(struct list_head *xprt_list)
  {
        struct svc_xprt *xprt;
 +
 +      list_for_each_entry(xprt, xprt_list, xpt_list) {
 +              set_bit(XPT_CLOSE, &xprt->xpt_flags);
 +              set_bit(XPT_BUSY, &xprt->xpt_flags);
 +      }
 +}
 +
 +void svc_close_all(struct svc_serv *serv)
 +{
 +      struct svc_pool *pool;
 +      struct svc_xprt *xprt;
        struct svc_xprt *tmp;
 +      int i;
 +
 +      svc_close_list(&serv->sv_tempsocks);
 +      svc_close_list(&serv->sv_permsocks);
 +
 +      for (i = 0; i < serv->sv_nrpools; i++) {
 +              pool = &serv->sv_pools[i];
  
 +              spin_lock_bh(&pool->sp_lock);
 +              while (!list_empty(&pool->sp_sockets)) {
 +                      xprt = list_first_entry(&pool->sp_sockets, struct svc_xprt, xpt_ready);
 +                      list_del_init(&xprt->xpt_ready);
 +              }
 +              spin_unlock_bh(&pool->sp_lock);
 +      }
        /*
 -       * The server is shutting down, and no more threads are running.
 -       * svc_xprt_enqueue() might still be running, but at worst it
 -       * will re-add the xprt to sp_sockets, which will soon get
 -       * freed.  So we don't bother with any more locking, and don't
 -       * leave the close to the (nonexistent) server threads:
 +       * At this point the sp_sockets lists will stay empty, since
 +       * svc_enqueue will not add new entries without taking the
 +       * sp_lock and checking XPT_BUSY.
         */
 -      list_for_each_entry_safe(xprt, tmp, xprt_list, xpt_list) {
 -              set_bit(XPT_CLOSE, &xprt->xpt_flags);
 +      list_for_each_entry_safe(xprt, tmp, &serv->sv_tempsocks, xpt_list)
                svc_delete_xprt(xprt);
 -      }
 +      list_for_each_entry_safe(xprt, tmp, &serv->sv_permsocks, xpt_list)
 +              svc_delete_xprt(xprt);
 +
 +      BUG_ON(!list_empty(&serv->sv_permsocks));
 +      BUG_ON(!list_empty(&serv->sv_tempsocks));
  }
  
+ void svc_close_all(struct svc_serv *serv)
+ {
+       svc_close_list(&serv->sv_tempsocks);
+       svc_close_list(&serv->sv_permsocks);
+       BUG_ON(!list_empty(&serv->sv_permsocks));
+       BUG_ON(!list_empty(&serv->sv_tempsocks));
+ }
  /*
   * Handle defer and revisit of requests
   */