hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/net/netlabel/netlabel_mgmt.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * NetLabel Management Support
34 *
....@@ -6,25 +7,10 @@
67 * protocols such as CIPSO and RIPSO.
78 *
89 * Author: Paul Moore <paul@paul-moore.com>
9
- *
1010 */
1111
1212 /*
1313 * (c) Copyright Hewlett-Packard Development Company, L.P., 2006, 2008
14
- *
15
- * This program is free software; you can redistribute it and/or modify
16
- * it under the terms of the GNU General Public License as published by
17
- * the Free Software Foundation; either version 2 of the License, or
18
- * (at your option) any later version.
19
- *
20
- * This program is distributed in the hope that it will be useful,
21
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
23
- * the GNU General Public License for more details.
24
- *
25
- * You should have received a copy of the GNU General Public License
26
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
27
- *
2814 */
2915
3016 #include <linux/types.h>
....@@ -316,7 +302,7 @@
316302
317303 switch (entry->def.type) {
318304 case NETLBL_NLTYPE_ADDRSELECT:
319
- nla_a = nla_nest_start(skb, NLBL_MGMT_A_SELECTORLIST);
305
+ nla_a = nla_nest_start_noflag(skb, NLBL_MGMT_A_SELECTORLIST);
320306 if (nla_a == NULL)
321307 return -ENOMEM;
322308
....@@ -324,7 +310,8 @@
324310 struct netlbl_domaddr4_map *map4;
325311 struct in_addr addr_struct;
326312
327
- nla_b = nla_nest_start(skb, NLBL_MGMT_A_ADDRSELECTOR);
313
+ nla_b = nla_nest_start_noflag(skb,
314
+ NLBL_MGMT_A_ADDRSELECTOR);
328315 if (nla_b == NULL)
329316 return -ENOMEM;
330317
....@@ -358,7 +345,8 @@
358345 netlbl_af6list_foreach_rcu(iter6, &entry->def.addrsel->list6) {
359346 struct netlbl_domaddr6_map *map6;
360347
361
- nla_b = nla_nest_start(skb, NLBL_MGMT_A_ADDRSELECTOR);
348
+ nla_b = nla_nest_start_noflag(skb,
349
+ NLBL_MGMT_A_ADDRSELECTOR);
362350 if (nla_b == NULL)
363351 return -ENOMEM;
364352
....@@ -770,60 +758,60 @@
770758 * NetLabel Generic NETLINK Command Definitions
771759 */
772760
773
-static const struct genl_ops netlbl_mgmt_genl_ops[] = {
761
+static const struct genl_small_ops netlbl_mgmt_genl_ops[] = {
774762 {
775763 .cmd = NLBL_MGMT_C_ADD,
764
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
776765 .flags = GENL_ADMIN_PERM,
777
- .policy = netlbl_mgmt_genl_policy,
778766 .doit = netlbl_mgmt_add,
779767 .dumpit = NULL,
780768 },
781769 {
782770 .cmd = NLBL_MGMT_C_REMOVE,
771
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
783772 .flags = GENL_ADMIN_PERM,
784
- .policy = netlbl_mgmt_genl_policy,
785773 .doit = netlbl_mgmt_remove,
786774 .dumpit = NULL,
787775 },
788776 {
789777 .cmd = NLBL_MGMT_C_LISTALL,
778
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
790779 .flags = 0,
791
- .policy = netlbl_mgmt_genl_policy,
792780 .doit = NULL,
793781 .dumpit = netlbl_mgmt_listall,
794782 },
795783 {
796784 .cmd = NLBL_MGMT_C_ADDDEF,
785
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
797786 .flags = GENL_ADMIN_PERM,
798
- .policy = netlbl_mgmt_genl_policy,
799787 .doit = netlbl_mgmt_adddef,
800788 .dumpit = NULL,
801789 },
802790 {
803791 .cmd = NLBL_MGMT_C_REMOVEDEF,
792
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
804793 .flags = GENL_ADMIN_PERM,
805
- .policy = netlbl_mgmt_genl_policy,
806794 .doit = netlbl_mgmt_removedef,
807795 .dumpit = NULL,
808796 },
809797 {
810798 .cmd = NLBL_MGMT_C_LISTDEF,
799
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
811800 .flags = 0,
812
- .policy = netlbl_mgmt_genl_policy,
813801 .doit = netlbl_mgmt_listdef,
814802 .dumpit = NULL,
815803 },
816804 {
817805 .cmd = NLBL_MGMT_C_PROTOCOLS,
806
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
818807 .flags = 0,
819
- .policy = netlbl_mgmt_genl_policy,
820808 .doit = NULL,
821809 .dumpit = netlbl_mgmt_protocols,
822810 },
823811 {
824812 .cmd = NLBL_MGMT_C_VERSION,
813
+ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
825814 .flags = 0,
826
- .policy = netlbl_mgmt_genl_policy,
827815 .doit = netlbl_mgmt_version,
828816 .dumpit = NULL,
829817 },
....@@ -834,9 +822,10 @@
834822 .name = NETLBL_NLTYPE_MGMT_NAME,
835823 .version = NETLBL_PROTO_VERSION,
836824 .maxattr = NLBL_MGMT_A_MAX,
825
+ .policy = netlbl_mgmt_genl_policy,
837826 .module = THIS_MODULE,
838
- .ops = netlbl_mgmt_genl_ops,
839
- .n_ops = ARRAY_SIZE(netlbl_mgmt_genl_ops),
827
+ .small_ops = netlbl_mgmt_genl_ops,
828
+ .n_small_ops = ARRAY_SIZE(netlbl_mgmt_genl_ops),
840829 };
841830
842831 /*