mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
[NETLINK]: Introduce nested and byteorder flag to netlink attribute
This change allows the generic attribute interface to be used within the netfilter subsystem where this flag was initially introduced. The byte-order flag is yet unused, it's intended use is to allow automatic byte order convertions for all atomic types. Signed-off-by: Thomas Graf <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
9d5010db7e
commit
8f4c1f9b04
7 changed files with 38 additions and 15 deletions
|
|
@ -130,7 +130,7 @@ static int netlbl_cipsov4_add_common(struct genl_info *info,
|
|||
return -EINVAL;
|
||||
|
||||
nla_for_each_nested(nla, info->attrs[NLBL_CIPSOV4_A_TAGLST], nla_rem)
|
||||
if (nla->nla_type == NLBL_CIPSOV4_A_TAG) {
|
||||
if (nla_type(nla) == NLBL_CIPSOV4_A_TAG) {
|
||||
if (iter >= CIPSO_V4_TAG_MAXCNT)
|
||||
return -EINVAL;
|
||||
doi_def->tags[iter++] = nla_get_u8(nla);
|
||||
|
|
@ -192,13 +192,13 @@ static int netlbl_cipsov4_add_std(struct genl_info *info)
|
|||
nla_for_each_nested(nla_a,
|
||||
info->attrs[NLBL_CIPSOV4_A_MLSLVLLST],
|
||||
nla_a_rem)
|
||||
if (nla_a->nla_type == NLBL_CIPSOV4_A_MLSLVL) {
|
||||
if (nla_type(nla_a) == NLBL_CIPSOV4_A_MLSLVL) {
|
||||
if (nla_validate_nested(nla_a,
|
||||
NLBL_CIPSOV4_A_MAX,
|
||||
netlbl_cipsov4_genl_policy) != 0)
|
||||
goto add_std_failure;
|
||||
nla_for_each_nested(nla_b, nla_a, nla_b_rem)
|
||||
switch (nla_b->nla_type) {
|
||||
switch (nla_type(nla_b)) {
|
||||
case NLBL_CIPSOV4_A_MLSLVLLOC:
|
||||
if (nla_get_u32(nla_b) >
|
||||
CIPSO_V4_MAX_LOC_LVLS)
|
||||
|
|
@ -240,7 +240,7 @@ static int netlbl_cipsov4_add_std(struct genl_info *info)
|
|||
nla_for_each_nested(nla_a,
|
||||
info->attrs[NLBL_CIPSOV4_A_MLSLVLLST],
|
||||
nla_a_rem)
|
||||
if (nla_a->nla_type == NLBL_CIPSOV4_A_MLSLVL) {
|
||||
if (nla_type(nla_a) == NLBL_CIPSOV4_A_MLSLVL) {
|
||||
struct nlattr *lvl_loc;
|
||||
struct nlattr *lvl_rem;
|
||||
|
||||
|
|
@ -265,13 +265,13 @@ static int netlbl_cipsov4_add_std(struct genl_info *info)
|
|||
nla_for_each_nested(nla_a,
|
||||
info->attrs[NLBL_CIPSOV4_A_MLSCATLST],
|
||||
nla_a_rem)
|
||||
if (nla_a->nla_type == NLBL_CIPSOV4_A_MLSCAT) {
|
||||
if (nla_type(nla_a) == NLBL_CIPSOV4_A_MLSCAT) {
|
||||
if (nla_validate_nested(nla_a,
|
||||
NLBL_CIPSOV4_A_MAX,
|
||||
netlbl_cipsov4_genl_policy) != 0)
|
||||
goto add_std_failure;
|
||||
nla_for_each_nested(nla_b, nla_a, nla_b_rem)
|
||||
switch (nla_b->nla_type) {
|
||||
switch (nla_type(nla_b)) {
|
||||
case NLBL_CIPSOV4_A_MLSCATLOC:
|
||||
if (nla_get_u32(nla_b) >
|
||||
CIPSO_V4_MAX_LOC_CATS)
|
||||
|
|
@ -315,7 +315,7 @@ static int netlbl_cipsov4_add_std(struct genl_info *info)
|
|||
nla_for_each_nested(nla_a,
|
||||
info->attrs[NLBL_CIPSOV4_A_MLSCATLST],
|
||||
nla_a_rem)
|
||||
if (nla_a->nla_type == NLBL_CIPSOV4_A_MLSCAT) {
|
||||
if (nla_type(nla_a) == NLBL_CIPSOV4_A_MLSCAT) {
|
||||
struct nlattr *cat_loc;
|
||||
struct nlattr *cat_rem;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue