Re: problem about 'git am --rej'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux