diff mbox series

problem about 'git am --rej'

Message ID ebec6423-20f9-d866-1d07-9e6c94ce845c@huawei.com (mailing list archive)
State New, archived
Headers show
Series problem about 'git am --rej' | expand

Commit Message

yangerkun July 27, 2020, 11:50 a.m. UTC
Hi,

Trying 'git am --rej'(git version 2.25.4) to apply patch eead1c2ea250 
("netlabel: cope with NULL catmap") with linux stable branch 
4.4.y(git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git), 
it seems the patch has been applied with wrong function(should be 
cipso_v4_parsetag_rbm or cipso_v4_parsetag_rng, but 
cipso_v4_parsetag_enum). Does this a bug or a expected result?




[xxx@code-website linux-stable]$ git am 
0001-netlabel-cope-with-NULL-catmap.patch --rej
Applying: netlabel: cope with NULL catmap
Checking patch net/ipv4/cipso_ipv4.c...
Hunk #1 succeeded at 1435 (offset 177 lines).
error: while searching for:
                         return ret_val;
                 }

                 secattr->flags |= NETLBL_SECATTR_MLS_CAT;
         }

         return 0;

error: patch failed: net/ipv4/cipso_ipv4.c:1439
Checking patch net/ipv6/calipso.c...
error: net/ipv6/calipso.c: does not exist in index
Checking patch net/netlabel/netlabel_kapi.c...
error: while searching for:
         if ((off & (BITS_PER_LONG - 1)) != 0)
                 return -EINVAL;

         if (off < catmap->startbit) {
                 off = catmap->startbit;
                 *offset = off;

error: patch failed: net/netlabel/netlabel_kapi.c:734
Applying patch net/ipv4/cipso_ipv4.c with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Applying patch net/netlabel/netlabel_kapi.c with 1 reject...
Rejected hunk #1.
Patch failed at 0001 netlabel: cope with NULL catmap
hint: Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
[xxx@code-website linux-stable]$ git diff
         return 0;

Comments

yangerkun July 27, 2020, 12:05 p.m. UTC | #1
Sorry for that, linux-4.4.y has included this patch.

The problem actually is that:
We reset to the commit before eead1c2ea250 ("netlabel: cope with NULL
catmap") on linux-4.4.y, and apply this patch, the results show as
below. Fuction 'cipso_v4_parsetag_rbm' and 'cipso_v4_parsetag_enum' has 
been changed, but the really function should be changed is 
'cipso_v4_parsetag_rbm' and 'cipso_v4_parsetag_rng'.

diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
index 98ed5e43ab7b..209876615461 100644
--- a/net/ipv4/cipso_ipv4.c
+++ b/net/ipv4/cipso_ipv4.c
@@ -1343,7 +1343,8 @@ static int cipso_v4_parsetag_rbm(const struct 
cipso_v4_doi *doi_def,
                         return ret_val;
                 }

-               secattr->flags |= NETLBL_SECATTR_MLS_CAT;
+               if (secattr->attr.mls.cat)
+                       secattr->flags |= NETLBL_SECATTR_MLS_CAT;
         }

         return 0;
@@ -1434,7 +1435,8 @@ static int cipso_v4_parsetag_enum(const struct 
cipso_v4_doi *doi_def,
                         return ret_val;
                 }

-               secattr->flags |= NETLBL_SECATTR_MLS_CAT;
+               if (secattr->attr.mls.cat)
+                       secattr->flags |= NETLBL_SECATTR_MLS_CAT;
         }

         return 0;
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index bfa2b6d5b5cf..25ab12e25e05 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -605,6 +605,12 @@ int netlbl_catmap_getlong(struct netlbl_lsm_catmap 
*catmap,
         if ((off & (BITS_PER_LONG - 1)) != 0)
                 return -EINVAL;

+       /* a null catmap is equivalent to an empty one */
+       if (!catmap) {
+               *offset = (u32)-1;
+               return 0;
+       }
+
         if (off < catmap->startbit) {
                 off = catmap->startbit;
                 *offset = off;




在 2020/7/27 19:50, yangerkun 写道:
> Hi,
> 
> Trying 'git am --rej'(git version 2.25.4) to apply patch eead1c2ea250 
> ("netlabel: cope with NULL catmap") with linux stable branch 
> 4.4.y(git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git), 
> it seems the patch has been applied with wrong function(should be 
> cipso_v4_parsetag_rbm or cipso_v4_parsetag_rng, but 
> cipso_v4_parsetag_enum). Does this a bug or a expected result?
> 
> 
> 
> 
> [xxx@code-website linux-stable]$ git am 
> 0001-netlabel-cope-with-NULL-catmap.patch --rej
> Applying: netlabel: cope with NULL catmap
> Checking patch net/ipv4/cipso_ipv4.c...
> Hunk #1 succeeded at 1435 (offset 177 lines).
> error: while searching for:
>                          return ret_val;
>                  }
> 
>                  secattr->flags |= NETLBL_SECATTR_MLS_CAT;
>          }
> 
>          return 0;
> 
> error: patch failed: net/ipv4/cipso_ipv4.c:1439
> Checking patch net/ipv6/calipso.c...
> error: net/ipv6/calipso.c: does not exist in index
> Checking patch net/netlabel/netlabel_kapi.c...
> error: while searching for:
>          if ((off & (BITS_PER_LONG - 1)) != 0)
>                  return -EINVAL;
> 
>          if (off < catmap->startbit) {
>                  off = catmap->startbit;
>                  *offset = off;
> 
> error: patch failed: net/netlabel/netlabel_kapi.c:734
> Applying patch net/ipv4/cipso_ipv4.c with 1 reject...
> Hunk #1 applied cleanly.
> Rejected hunk #2.
> Applying patch net/netlabel/netlabel_kapi.c with 1 reject...
> Rejected hunk #1.
> Patch failed at 0001 netlabel: cope with NULL catmap
> hint: Use 'git am --show-current-patch' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> [xxx@code-website linux-stable]$ git diff
> diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
> index 0e83c5b08e0e..375733b96bdf 100644
> --- a/net/ipv4/cipso_ipv4.c
> +++ b/net/ipv4/cipso_ipv4.c
> @@ -1435,7 +1435,8 @@ static int cipso_v4_parsetag_enum(const struct 
> cipso_v4_doi *doi_def,
>                          return ret_val;
>                  }
> 
> -               secattr->flags |= NETLBL_SECATTR_MLS_CAT;
> +               if (secattr->attr.mls.cat)
> +                       secattr->flags |= NETLBL_SECATTR_MLS_CAT;
>          }
> 
>          return 0;
>
diff mbox series

Patch

diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
index 0e83c5b08e0e..375733b96bdf 100644
--- a/net/ipv4/cipso_ipv4.c
+++ b/net/ipv4/cipso_ipv4.c
@@ -1435,7 +1435,8 @@  static int cipso_v4_parsetag_enum(const struct 
cipso_v4_doi *doi_def,
                         return ret_val;
                 }

-               secattr->flags |= NETLBL_SECATTR_MLS_CAT;
+               if (secattr->attr.mls.cat)
+                       secattr->flags |= NETLBL_SECATTR_MLS_CAT;
         }