Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma

Pull rdma updates from Doug Ledford:
"We have four batched up patches for the current rc kernel.

Two of them are small fixes that are obvious.

One of them is larger than I would like for a late stage rc pull, but
we found an issue in the namespace lookup code related to RoCE and
this works around the issue for now (we allow a lookup with a
namespace to succeed on RoCE since RoCE namespaces aren't implemented
yet). This will go away in 4.4 when we put in support for namespaces
in RoCE devices.

The last one is large in terms of lines, but is all legal and no
functional changes. Cisco needed to update their files to be more
specific about their license. They had intended the files to be dual
licensed as GPL/BSD all along, and specified that in their module
license tag, but their file headers were not up to par. They
contacted all of the contributors to get agreement and then submitted
a patch to update the license headers in the files.

Summary:

- Work around connection namespace lookup bug related to RoCE

- Change usnic license to Dual GPL/BSD (was intended to be that way
all along, but wasn't clear, permission from contributors was
chased down)

- Fix an issue between NFSoRDMA and mlx5 that could cause an oops

- Fix leak of sendonly multicast groups"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
IB/ipoib: For sendonly join free the multicast group on leave
IB/cma: Accept connection without a valid netdev on RoCE
xprtrdma: Don't require LOCAL_DMA_LKEY support for fastreg
usnic: add missing clauses to BSD license

+481 -94
+40 -14
drivers/infiniband/core/cma.c
··· 1232 1232 return true; 1233 1233 } 1234 1234 1235 + static bool cma_protocol_roce_dev_port(struct ib_device *device, int port_num) 1236 + { 1237 + enum rdma_link_layer ll = rdma_port_get_link_layer(device, port_num); 1238 + enum rdma_transport_type transport = 1239 + rdma_node_get_transport(device->node_type); 1240 + 1241 + return ll == IB_LINK_LAYER_ETHERNET && transport == RDMA_TRANSPORT_IB; 1242 + } 1243 + 1244 + static bool cma_protocol_roce(const struct rdma_cm_id *id) 1245 + { 1246 + struct ib_device *device = id->device; 1247 + const int port_num = id->port_num ?: rdma_start_port(device); 1248 + 1249 + return cma_protocol_roce_dev_port(device, port_num); 1250 + } 1251 + 1235 1252 static bool cma_match_net_dev(const struct rdma_id_private *id_priv, 1236 1253 const struct net_device *net_dev) 1237 1254 { 1238 1255 const struct rdma_addr *addr = &id_priv->id.route.addr; 1239 1256 1240 1257 if (!net_dev) 1241 - /* This request is an AF_IB request */ 1242 - return addr->src_addr.ss_family == AF_IB; 1258 + /* This request is an AF_IB request or a RoCE request */ 1259 + return addr->src_addr.ss_family == AF_IB || 1260 + cma_protocol_roce(&id_priv->id); 1243 1261 1244 1262 return !addr->dev_addr.bound_dev_if || 1245 1263 (net_eq(dev_net(net_dev), &init_net) && ··· 1311 1293 if (IS_ERR(*net_dev)) { 1312 1294 if (PTR_ERR(*net_dev) == -EAFNOSUPPORT) { 1313 1295 /* Assuming the protocol is AF_IB */ 1296 + *net_dev = NULL; 1297 + } else if (cma_protocol_roce_dev_port(req.device, req.port)) { 1298 + /* TODO find the net dev matching the request parameters 1299 + * through the RoCE GID table */ 1314 1300 *net_dev = NULL; 1315 1301 } else { 1316 1302 return ERR_CAST(*net_dev); ··· 1615 1593 if (ret) 1616 1594 goto err; 1617 1595 } else { 1618 - /* An AF_IB connection */ 1619 - WARN_ON_ONCE(ss_family != AF_IB); 1620 - 1621 - cma_translate_ib((struct sockaddr_ib *)cma_src_addr(id_priv), 1622 - &rt->addr.dev_addr); 1596 + if (!cma_protocol_roce(listen_id) && 1597 + cma_any_addr(cma_src_addr(id_priv))) { 1598 + rt->addr.dev_addr.dev_type = ARPHRD_INFINIBAND; 1599 + rdma_addr_set_sgid(&rt->addr.dev_addr, &rt->path_rec[0].sgid); 1600 + ib_addr_set_pkey(&rt->addr.dev_addr, be16_to_cpu(rt->path_rec[0].pkey)); 1601 + } else if (!cma_any_addr(cma_src_addr(id_priv))) { 1602 + ret = cma_translate_addr(cma_src_addr(id_priv), &rt->addr.dev_addr); 1603 + if (ret) 1604 + goto err; 1605 + } 1623 1606 } 1624 1607 rdma_addr_set_dgid(&rt->addr.dev_addr, &rt->path_rec[0].dgid); 1625 1608 ··· 1662 1635 if (ret) 1663 1636 goto err; 1664 1637 } else { 1665 - /* An AF_IB connection */ 1666 - WARN_ON_ONCE(ss_family != AF_IB); 1667 - 1668 - if (!cma_any_addr(cma_src_addr(id_priv))) 1669 - cma_translate_ib((struct sockaddr_ib *) 1670 - cma_src_addr(id_priv), 1671 - &id->route.addr.dev_addr); 1638 + if (!cma_any_addr(cma_src_addr(id_priv))) { 1639 + ret = cma_translate_addr(cma_src_addr(id_priv), 1640 + &id->route.addr.dev_addr); 1641 + if (ret) 1642 + goto err; 1643 + } 1672 1644 } 1673 1645 1674 1646 id_priv->state = RDMA_CM_CONNECT;
+18 -3
drivers/infiniband/hw/usnic/usnic.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_abi.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_common_pkt_hdr.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_common_util.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_debugfs.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_debugfs.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_fwd.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_fwd.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_main.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_sysfs.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_verbs.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_ib_verbs.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_log.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_transport.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_transport.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+1 -1
drivers/infiniband/hw/usnic/usnic_uiom.c
··· 7 7 * licenses. You may choose to be licensed under the terms of the GNU 8 8 * General Public License (GPL) Version 2, available from the file 9 9 * COPYING in the main directory of this source tree, or the 10 - * OpenIB.org BSD license below: 10 + * BSD license below: 11 11 * 12 12 * Redistribution and use in source and binary forms, with or 13 13 * without modification, are permitted provided that the following
+18 -3
drivers/infiniband/hw/usnic/usnic_uiom.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_uiom_interval_tree.c
··· 1 1 /* 2 2 * Copyright (c) 2014, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_uiom_interval_tree.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_vnic.c
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+18 -3
drivers/infiniband/hw/usnic/usnic_vnic.h
··· 1 1 /* 2 2 * Copyright (c) 2013, Cisco Systems, Inc. All rights reserved. 3 3 * 4 - * This program is free software; you may redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; version 2 of the License. 4 + * This software is available to you under a choice of one of two 5 + * licenses. You may choose to be licensed under the terms of the GNU 6 + * General Public License (GPL) Version 2, available from the file 7 + * COPYING in the main directory of this source tree, or the 8 + * BSD license below: 9 + * 10 + * Redistribution and use in source and binary forms, with or 11 + * without modification, are permitted provided that the following 12 + * conditions are met: 13 + * 14 + * - Redistributions of source code must retain the above 15 + * copyright notice, this list of conditions and the following 16 + * disclaimer. 17 + * 18 + * - Redistributions in binary form must reproduce the above 19 + * copyright notice, this list of conditions and the following 20 + * disclaimer in the documentation and/or other materials 21 + * provided with the distribution. 7 22 * 8 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 9 24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+1
drivers/infiniband/ulp/ipoib/ipoib.h
··· 495 495 void ipoib_mcast_join_task(struct work_struct *work); 496 496 void ipoib_mcast_carrier_on_task(struct work_struct *work); 497 497 void ipoib_mcast_send(struct net_device *dev, u8 *daddr, struct sk_buff *skb); 498 + void ipoib_mcast_free(struct ipoib_mcast *mc); 498 499 499 500 void ipoib_mcast_restart_task(struct work_struct *work); 500 501 int ipoib_mcast_start_thread(struct net_device *dev);
+3 -1
drivers/infiniband/ulp/ipoib/ipoib_main.c
··· 1207 1207 1208 1208 out_unlock: 1209 1209 spin_unlock_irqrestore(&priv->lock, flags); 1210 - list_for_each_entry_safe(mcast, tmcast, &remove_list, list) 1210 + list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { 1211 1211 ipoib_mcast_leave(dev, mcast); 1212 + ipoib_mcast_free(mcast); 1213 + } 1212 1214 } 1213 1215 1214 1216 static void ipoib_reap_neigh(struct work_struct *work)
+1 -1
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
··· 106 106 queue_delayed_work(priv->wq, &priv->mcast_task, 0); 107 107 } 108 108 109 - static void ipoib_mcast_free(struct ipoib_mcast *mcast) 109 + void ipoib_mcast_free(struct ipoib_mcast *mcast) 110 110 { 111 111 struct net_device *dev = mcast->dev; 112 112 int tx_dropped = 0;
+3 -5
net/sunrpc/xprtrdma/verbs.c
··· 543 543 } 544 544 545 545 if (memreg == RPCRDMA_FRMR) { 546 - /* Requires both frmr reg and local dma lkey */ 547 - if (((devattr->device_cap_flags & 548 - (IB_DEVICE_MEM_MGT_EXTENSIONS|IB_DEVICE_LOCAL_DMA_LKEY)) != 549 - (IB_DEVICE_MEM_MGT_EXTENSIONS|IB_DEVICE_LOCAL_DMA_LKEY)) || 550 - (devattr->max_fast_reg_page_list_len == 0)) { 546 + if (!(devattr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS) || 547 + (devattr->max_fast_reg_page_list_len == 0)) { 551 548 dprintk("RPC: %s: FRMR registration " 552 549 "not supported by HCA\n", __func__); 553 550 memreg = RPCRDMA_MTHCAFMR; ··· 554 557 if (!ia->ri_device->alloc_fmr) { 555 558 dprintk("RPC: %s: MTHCAFMR registration " 556 559 "not supported by HCA\n", __func__); 560 + rc = -EINVAL; 557 561 goto out3; 558 562 } 559 563 }