Kernel
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 58 participants
- 19333 discussions
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v6.6.34
commit 107e825cc448b7834b31e8b1b3cf0f57426d46d5
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 9443bc63c5a2..06dfbccb1033 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -367,14 +367,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v5.10.219
commit cfdc2fa4db57503bc6d3817240547c8ddc55fa96
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6735ac36b718..dcc7e13e98b3 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -354,14 +354,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1

08 Jul '24
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v4.19.316
commit fb824a99e148ff272a53d71d84122728b5f00992
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6a4b41484afe..2ce307c86977 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -364,14 +364,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1

[PATCH openEuler-22.03-LTS-SP1] kdb: Fix buffer overflow during tab-complete
by Tengda Wu 08 Jul '24
by Tengda Wu 08 Jul '24
08 Jul '24
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v5.10.219
commit cfdc2fa4db57503bc6d3817240547c8ddc55fa96
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6735ac36b718..dcc7e13e98b3 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -354,14 +354,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1

[PATCH OLK-5.10] arm64: mm: Pass pbha-performance-only bit under chosen node
by Wupeng Ma 08 Jul '24
by Wupeng Ma 08 Jul '24
08 Jul '24
From: Ma Wupeng <mawupeng1(a)huawei.com>
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I96IZH
--------------------------------
Pass pbha-performance-only under chosen node to slove booting problem.
Fixes: f43933b3f947 ("arm64: cpufeature: Enable PBHA for stage1 early via FDT")
Signed-off-by: Ma Wupeng <mawupeng1(a)huawei.com>
---
arch/arm64/kernel/cpufeature.c | 12 +++++++++++-
drivers/firmware/efi/libstub/fdt.c | 7 -------
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 9a4193991be5..36a426b0def2 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -1802,14 +1802,24 @@ void __init early_pbha_init(void)
if (!fdt)
goto unlock;
+ /* arm,pbha-performance-only may exist in both chosen and cpus node */
+ node = fdt_path_offset(fdt, "/chosen");
+ if (node < 0)
+ goto unlock;
+
+ prop = fdt_getprop(fdt, node, "arm,pbha-performance-only", &size);
+ if (prop)
+ goto found;
+
node = fdt_path_offset(fdt, "/cpus");
if (node < 0)
goto unlock;
prop = fdt_getprop(fdt, node, "arm,pbha-performance-only", &size);
- if (!prop)
+ if (prop)
goto unlock;
+found:
if (!cpu_has_pbha())
goto unlock;
diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c
index cb8e8e4e3f63..30aeb2b54569 100644
--- a/drivers/firmware/efi/libstub/fdt.c
+++ b/drivers/firmware/efi/libstub/fdt.c
@@ -57,13 +57,6 @@ static efi_status_t fdt_init_hbm_mode(void *fdt, int node)
if (status)
return EFI_LOAD_ERROR;
- node = fdt_subnode_offset(fdt, 0, "cpus");
- if (node < 0) {
- node = fdt_add_subnode(fdt, 0, "cpus");
- if (node < 0)
- return EFI_LOAD_ERROR;
- }
-
/* Current PBHA bit59 is need to enable PBHA bit0 mode. */
status = fdt_setprop_var(fdt, node, "arm,pbha-performance-only", arr);
if (status) {
--
2.25.1
2
1

[PATCH OLK-6.6] mm: mem_reliable: Make counting reliable task usage compatible with folio
by Wupeng Ma 08 Jul '24
by Wupeng Ma 08 Jul '24
08 Jul '24
From: Ma Wupeng <mawupeng1(a)huawei.com>
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8USBA
--------------------------------
Memory folio is enabled in current branch, however the counting of reliale
memory task need some polish to make the counting right.
In zap_present_folio_ptes, non-anon folio should also be counted.
Fixes: b5be205e006a ("mm/memory: factor out zapping of present pte into zap_present_pte()")
Signed-off-by: Ma Wupeng <mawupeng1(a)huawei.com>
---
kernel/events/uprobes.c | 2 +-
mm/huge_memory.c | 4 ++--
mm/khugepaged.c | 2 +-
mm/ksm.c | 2 +-
mm/memory.c | 7 ++++---
mm/rmap.c | 8 ++++----
6 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 9f8d9baa7a2f..a80072c3f888 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -199,7 +199,7 @@ static int __replace_page(struct vm_area_struct *vma, unsigned long addr,
set_pte_at_notify(mm, addr, pvmw.pte,
mk_pte(new_page, vma->vm_page_prot));
- add_reliable_page_counter(old_page, mm, -1);
+ add_reliable_folio_counter(old_folio, mm, -1);
folio_remove_rmap_pte(old_folio, old_page, vma);
if (!folio_mapped(old_folio))
folio_free_swap(old_folio);
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 32ddf09db52b..d743502c70f0 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1608,7 +1608,7 @@ int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm,
return -EAGAIN;
}
add_mm_counter(dst_mm, MM_ANONPAGES, HPAGE_PMD_NR);
- add_reliable_page_counter(src_page, dst_mm, HPAGE_PMD_NR);
+ add_reliable_folio_counter(src_folio, dst_mm, HPAGE_PMD_NR);
out_zero_page:
mm_inc_nr_ptes(dst_mm);
pgtable_trans_huge_deposit(dst_mm, dst_pmd, pgtable);
@@ -2577,7 +2577,7 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd,
folio_mark_dirty(folio);
if (!folio_test_referenced(folio) && pmd_young(old_pmd))
folio_set_referenced(folio);
- add_reliable_page_counter(page, mm, -HPAGE_PMD_NR);
+ add_reliable_folio_counter(folio, mm, -HPAGE_PMD_NR);
folio_remove_rmap_pmd(folio, page, vma);
folio_put(folio);
}
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index fa787464662f..06f31ad4452e 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -1644,7 +1644,7 @@ int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr,
*/
ptep_clear(mm, addr, pte);
folio_remove_rmap_pte(folio, page, vma);
- add_reliable_page_counter(page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
nr_ptes++;
}
diff --git a/mm/ksm.c b/mm/ksm.c
index 94207293e6fc..09411079262b 100644
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -1236,7 +1236,7 @@ static int replace_page(struct vm_area_struct *vma, struct page *page,
*/
if (!is_zero_pfn(page_to_pfn(kpage))) {
folio_get(kfolio);
- add_reliable_page_counter(kpage, mm, 1);
+ add_reliable_folio_counter(kfolio, mm, 1);
folio_add_anon_rmap_pte(kfolio, kpage, vma, addr, RMAP_NONE);
newpte = mk_pte(kpage, vma->vm_page_prot);
} else {
diff --git a/mm/memory.c b/mm/memory.c
index fe10342687d0..49a5618661d8 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1495,12 +1495,12 @@ static __always_inline void zap_present_folio_ptes(struct mmu_gather *tlb,
if (pte_young(ptent) && likely(vma_has_recency(vma)))
folio_mark_accessed(folio);
rss[mm_counter(folio)] -= nr;
- add_reliable_page_counter(page, mm, -nr);
} else {
/* We don't need up-to-date accessed/dirty bits. */
clear_full_ptes(mm, addr, pte, nr, tlb->fullmm);
rss[MM_ANONPAGES] -= nr;
}
+ add_reliable_folio_counter(folio, mm, -nr);
/* Checking a single PTE in a batch is sufficient. */
arch_check_zapped_pte(vma, ptent);
@@ -1637,7 +1637,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
*/
WARN_ON_ONCE(!vma_is_anonymous(vma));
rss[mm_counter(folio)]--;
- add_reliable_page_counter(page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
if (is_device_private_entry(entry))
folio_remove_rmap_pte(folio, page, vma);
folio_put(folio);
@@ -1654,6 +1654,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
if (!should_zap_folio(details, folio))
continue;
rss[mm_counter(folio)]--;
+ add_reliable_folio_counter(folio, mm, -1);
} else if (pte_marker_entry_uffd_wp(entry)) {
/*
* For anon: always drop the marker; for file: only
@@ -4643,7 +4644,7 @@ vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page)
entry = maybe_pmd_mkwrite(pmd_mkdirty(entry), vma);
add_mm_counter(vma->vm_mm, mm_counter_file(folio), HPAGE_PMD_NR);
- add_reliable_page_counter(page, vma->vm_mm, HPAGE_PMD_NR);
+ add_reliable_folio_counter(folio, vma->vm_mm, HPAGE_PMD_NR);
folio_add_file_rmap_pmd(folio, page, vma);
/*
diff --git a/mm/rmap.c b/mm/rmap.c
index d13003244e6a..d78bb701bda1 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1757,7 +1757,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
hsz);
} else {
dec_mm_counter(mm, mm_counter(folio));
- add_reliable_page_counter(&folio->page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
set_pte_at(mm, address, pvmw.pte, pteval);
}
@@ -1773,7 +1773,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
* copied pages.
*/
dec_mm_counter(mm, mm_counter(folio));
- add_reliable_page_counter(&folio->page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
} else if (folio_test_anon(folio)) {
swp_entry_t entry = page_swap_entry(subpage);
pte_t swp_pte;
@@ -2163,7 +2163,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma,
hsz);
} else {
dec_mm_counter(mm, mm_counter(folio));
- add_reliable_page_counter(&folio->page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
set_pte_at(mm, address, pvmw.pte, pteval);
}
@@ -2179,7 +2179,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma,
* copied pages.
*/
dec_mm_counter(mm, mm_counter(folio));
- add_reliable_page_counter(&folio->page, mm, -1);
+ add_reliable_folio_counter(folio, mm, -1);
} else {
swp_entry_t entry;
pte_t swp_pte;
--
2.25.1
2
1

[PATCH openEuler-22.03-LTS-SP1] kdb: Fix buffer overflow during tab-complete
by Tengda Wu 08 Jul '24
by Tengda Wu 08 Jul '24
08 Jul '24
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v5.10.219
commit cfdc2fa4db57503bc6d3817240547c8ddc55fa96
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f3c1c0f415348ff8c51f7de042b77 ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6735ac36b718..dcc7e13e98b3 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -354,14 +354,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v6.6.34
commit 107e825cc448b7834b31e8b1b3cf0f57426d46d5
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f3c1c0f415348ff8c51f7de042b77 ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 9443bc63c5a2..06dfbccb1033 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -367,14 +367,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v5.10.219
commit cfdc2fa4db57503bc6d3817240547c8ddc55fa96
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f3c1c0f415348ff8c51f7de042b77 ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6735ac36b718..dcc7e13e98b3 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -354,14 +354,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1

08 Jul '24
From: Daniel Thompson <daniel.thompson(a)linaro.org>
stable inclusion
from stable-v4.19.316
commit fb824a99e148ff272a53d71d84122728b5f00992
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB05N
CVE: CVE-2024-39480
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.
Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.
Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.
Reported-by: Justin Stitt <justinstitt(a)google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziU…
Cc: stable(a)vger.kernel.org
Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Reviewed-by: Justin Stitt <justinstitt(a)google.com>
Tested-by: Justin Stitt <justinstitt(a)google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@lin…
Signed-off-by: Daniel Thompson <daniel.thompson(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Fixes: 5d5314d6795f3c1c0f415348ff8c51f7de042b77 ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/debug/kdb/kdb_io.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 6a4b41484afe..2ce307c86977 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -364,14 +364,19 @@ static char *kdb_read(char *buffer, size_t bufsize)
kdb_printf(kdb_prompt_str);
kdb_printf("%s", buffer);
} else if (tab != 2 && count > 0) {
- len_tmp = strlen(p_tmp);
- strncpy(p_tmp+len_tmp, cp, lastchar-cp+1);
- len_tmp = strlen(p_tmp);
- strncpy(cp, p_tmp+len, len_tmp-len + 1);
- len = len_tmp - len;
- kdb_printf("%s", cp);
- cp += len;
- lastchar += len;
+ /* How many new characters do we want from tmpbuffer? */
+ len_tmp = strlen(p_tmp) - len;
+ if (lastchar + len_tmp >= bufend)
+ len_tmp = bufend - lastchar;
+
+ if (len_tmp) {
+ /* + 1 ensures the '\0' is memmove'd */
+ memmove(cp+len_tmp, cp, (lastchar-cp) + 1);
+ memcpy(cp, p_tmp+len, len_tmp);
+ kdb_printf("%s", cp);
+ cp += len_tmp;
+ lastchar += len_tmp;
+ }
}
kdb_nextline = 1; /* reset output line number */
break;
--
2.34.1
2
1
Fix CVE-2024-39481.
Tomi Valkeinen (1):
media: mc: Fix graph walk in media_pipeline_start
drivers/media/mc/mc-entity.c | 6 ++++++
1 file changed, 6 insertions(+)
--
2.34.1
2
2

[PATCH OLK-6.6] KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked
by Zizhi Wo 08 Jul '24
by Zizhi Wo 08 Jul '24
08 Jul '24
From: Sean Christopherson <seanjc(a)google.com>
stable inclusion
from stable-v6.6.34
commit f79edaf7370986d73d204b36c50cc563a4c0f356
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB16D
CVE: CVE-2024-39483
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
commit b4bd556467477420ee3a91fbcba73c579669edc6 upstream.
When requesting an NMI window, WARN on vNMI support being enabled if and
only if NMIs are actually masked, i.e. if the vCPU is already handling an
NMI. KVM's ABI for NMIs that arrive simultanesouly (from KVM's point of
view) is to inject one NMI and pend the other. When using vNMI, KVM pends
the second NMI simply by setting V_NMI_PENDING, and lets the CPU do the
rest (hardware automatically sets V_NMI_BLOCKING when an NMI is injected).
However, if KVM can't immediately inject an NMI, e.g. because the vCPU is
in an STI shadow or is running with GIF=0, then KVM will request an NMI
window and trigger the WARN (but still function correctly).
Whether or not the GIF=0 case makes sense is debatable, as the intent of
KVM's behavior is to provide functionality that is as close to real
hardware as possible. E.g. if two NMIs are sent in quick succession, the
probability of both NMIs arriving in an STI shadow is infinitesimally low
on real hardware, but significantly larger in a virtual environment, e.g.
if the vCPU is preempted in the STI shadow. For GIF=0, the argument isn't
as clear cut, because the window where two NMIs can collide is much larger
in bare metal (though still small).
That said, KVM should not have divergent behavior for the GIF=0 case based
on whether or not vNMI support is enabled. And KVM has allowed
simultaneous NMIs with GIF=0 for over a decade, since commit 7460fb4a3400
("KVM: Fix simultaneous NMIs"). I.e. KVM's GIF=0 handling shouldn't be
modified without a *really* good reason to do so, and if KVM's behavior
were to be modified, it should be done irrespective of vNMI support.
Fixes: fa4c027a7956 ("KVM: x86: Add support for SVM's Virtual NMI")
Cc: stable(a)vger.kernel.org
Cc: Santosh Shukla <Santosh.Shukla(a)amd.com>
Cc: Maxim Levitsky <mlevitsk(a)redhat.com>
Signed-off-by: Sean Christopherson <seanjc(a)google.com>
Message-ID: <20240522021435.1684366-1-seanjc(a)google.com>
Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
arch/x86/kvm/svm/svm.c | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 8adb6e31c113..1424eb898028 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -3860,16 +3860,27 @@ static void svm_enable_nmi_window(struct kvm_vcpu *vcpu)
struct vcpu_svm *svm = to_svm(vcpu);
/*
- * KVM should never request an NMI window when vNMI is enabled, as KVM
- * allows at most one to-be-injected NMI and one pending NMI, i.e. if
- * two NMIs arrive simultaneously, KVM will inject one and set
- * V_NMI_PENDING for the other. WARN, but continue with the standard
- * single-step approach to try and salvage the pending NMI.
+ * If NMIs are outright masked, i.e. the vCPU is already handling an
+ * NMI, and KVM has not yet intercepted an IRET, then there is nothing
+ * more to do at this time as KVM has already enabled IRET intercepts.
+ * If KVM has already intercepted IRET, then single-step over the IRET,
+ * as NMIs aren't architecturally unmasked until the IRET completes.
+ *
+ * If vNMI is enabled, KVM should never request an NMI window if NMIs
+ * are masked, as KVM allows at most one to-be-injected NMI and one
+ * pending NMI. If two NMIs arrive simultaneously, KVM will inject one
+ * NMI and set V_NMI_PENDING for the other, but if and only if NMIs are
+ * unmasked. KVM _will_ request an NMI window in some situations, e.g.
+ * if the vCPU is in an STI shadow or if GIF=0, KVM can't immediately
+ * inject the NMI. In those situations, KVM needs to single-step over
+ * the STI shadow or intercept STGI.
*/
- WARN_ON_ONCE(is_vnmi_enabled(svm));
+ if (svm_get_nmi_mask(vcpu)) {
+ WARN_ON_ONCE(is_vnmi_enabled(svm));
- if (svm_get_nmi_mask(vcpu) && !svm->awaiting_iret_completion)
- return; /* IRET will cause a vm exit */
+ if (!svm->awaiting_iret_completion)
+ return; /* IRET will cause a vm exit */
+ }
/*
* SEV-ES guests are responsible for signaling when a vCPU is ready to
--
2.39.2
2
1

[openeuler:OLK-6.6 3342/10598] include/linux/pgplib.h:36:23: error: field has incomplete type 'enum pgp_key_version'
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 01c2a11a75f4f8b273ef3e34cca3974b10314a3a
commit: 43d4042e06d2bf96adf67d25e8d91653507a4cf9 [3342/10598] KEYS: Provide a function to load keys from a PGP keyring blob
config: arm64-randconfig-r131-20240707 (https://download.01.org/0day-ci/archive/20240708/202407081638.r5xQjyqM-lkp@…)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407081638.r5xQjyqM-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407081638.r5xQjyqM-lkp@intel.com/
Note: the openeuler/OLK-6.6 HEAD 01c2a11a75f4f8b273ef3e34cca3974b10314a3a builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from crypto/asymmetric_keys/pgp_preload.c:19:
include/linux/pgplib.h:26:15: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
26 | enum pgp_packet_tag type,
| ^
>> include/linux/pgplib.h:36:23: error: field has incomplete type 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:36:7: note: forward declaration of 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
>> include/linux/pgplib.h:37:23: error: field has incomplete type 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
include/linux/pgplib.h:37:7: note: forward declaration of 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
crypto/asymmetric_keys/pgp_preload.c:63:10: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:63:25: error: variable has incomplete type 'enum pgp_packet_tag'
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:63:10: note: forward declaration of 'enum pgp_packet_tag'
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:107:36: error: use of undeclared identifier 'PGP_PKT_PUBLIC_KEY'
107 | ctx.pgp.types_of_interest = (1 << PGP_PKT_PUBLIC_KEY);
| ^
>> crypto/asymmetric_keys/pgp_preload.c:108:25: error: incompatible function pointer types assigning to 'int (*)(struct pgp_parse_context *, enum pgp_packet_tag, u8, const u8 *, size_t)' (aka 'int (*)(struct pgp_parse_context *, enum pgp_packet_tag, unsigned char, const unsigned char *, unsigned long)') from 'int (struct pgp_parse_context *, enum pgp_packet_tag, u8, const u8 *, size_t)' (aka 'int (struct pgp_parse_context *, enum pgp_packet_tag, unsigned char, const unsigned char *, unsigned long)') [-Wincompatible-function-pointer-types]
108 | ctx.pgp.process_packet = found_pgp_key;
| ^ ~~~~~~~~~~~~~
crypto/asymmetric_keys/pgp_preload.c:101:12: warning: no previous prototype for function 'preload_pgp_keys' [-Wmissing-prototypes]
101 | int __init preload_pgp_keys(const u8 *pgpdata, size_t pgpdatalen,
| ^
crypto/asymmetric_keys/pgp_preload.c:101:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
101 | int __init preload_pgp_keys(const u8 *pgpdata, size_t pgpdatalen,
| ^
| static
3 warnings and 5 errors generated.
--
In file included from crypto/asymmetric_keys/pgp_public_key.c:19:
In file included from include/linux/mpi.h:21:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2193:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
In file included from crypto/asymmetric_keys/pgp_public_key.c:20:
include/linux/pgplib.h:26:15: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
26 | enum pgp_packet_tag type,
| ^
>> include/linux/pgplib.h:36:23: error: field has incomplete type 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:36:7: note: forward declaration of 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
>> include/linux/pgplib.h:37:23: error: field has incomplete type 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
include/linux/pgplib.h:37:7: note: forward declaration of 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
crypto/asymmetric_keys/pgp_public_key.c:63:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
63 | kenter("");
| ^
crypto/asymmetric_keys/pgp_public_key.c:65:22: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
65 | n = (pgp->version < PGP_KEY_VERSION_4) ? 8 : 6;
| ^
crypto/asymmetric_keys/pgp_public_key.c:67:9: error: call to undeclared function 'mpi_key_length'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
67 | ret = mpi_key_length(key_ptr, keylen, nb + i, nn + i);
| ^
crypto/asymmetric_keys/pgp_public_key.c:95:21: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
95 | if (pgp->version < PGP_KEY_VERSION_4) {
| ^
crypto/asymmetric_keys/pgp_public_key.c:115:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
115 | kleave(" = %d", ret);
| ^
crypto/asymmetric_keys/pgp_public_key.c:134:42: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
134 | tfm = crypto_alloc_shash(pgp->version < PGP_KEY_VERSION_4 ?
| ^
crypto/asymmetric_keys/pgp_public_key.c:191:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
191 | kleave(" = %d", ret);
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:12: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:27: error: variable has incomplete type 'enum pgp_packet_tag'
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:12: note: forward declaration of 'enum pgp_packet_tag'
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:211:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
211 | kenter(",%u,%u,,%zu", type, headerlen, datalen);
| ^
>> crypto/asymmetric_keys/pgp_public_key.c:213:14: error: use of undeclared identifier 'PGP_PKT_USER_ID'
213 | if (type == PGP_PKT_USER_ID) {
| ^
crypto/asymmetric_keys/pgp_public_key.c:216:3: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
216 | kleave(" = 0 [user ID]");
| ^
crypto/asymmetric_keys/pgp_public_key.c:221:3: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
221 | kleave(" = -ENOKEY [already]");
| ^
>> crypto/asymmetric_keys/pgp_public_key.c:234:25: error: use of undeclared identifier 'PGP_PUBKEY__LAST'
234 | if (pgp.pubkey_algo >= PGP_PUBKEY__LAST)
| ^
>> crypto/asymmetric_keys/pgp_public_key.c:236:9: error: use of undeclared identifier 'pgp_to_public_key_algo'
236 | algo = pgp_to_public_key_algo[pgp.pubkey_algo];
| ^
crypto/asymmetric_keys/pgp_public_key.c:252:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
252 | kleave(" = 0 [use]");
| ^
crypto/asymmetric_keys/pgp_public_key.c:310:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
310 | kenter("");
| ^
>> crypto/asymmetric_keys/pgp_public_key.c:313:36: error: use of undeclared identifier 'PGP_PKT_PUBLIC_KEY'
313 | ctx.pgp.types_of_interest = (1 << PGP_PKT_PUBLIC_KEY) |
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PGP_KEY_PARSER
Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n]
Selected by [y]:
- PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y]
vim +36 include/linux/pgplib.h
b78af6579e15dc David Howells 2023-09-12 31
b78af6579e15dc David Howells 2023-09-12 32 extern int pgp_parse_packets(const u8 *data, size_t datalen,
b78af6579e15dc David Howells 2023-09-12 33 struct pgp_parse_context *ctx);
b78af6579e15dc David Howells 2023-09-12 34
b78af6579e15dc David Howells 2023-09-12 35 struct pgp_parse_pubkey {
b78af6579e15dc David Howells 2023-09-12 @36 enum pgp_key_version version : 8;
b78af6579e15dc David Howells 2023-09-12 @37 enum pgp_pubkey_algo pubkey_algo : 8;
b78af6579e15dc David Howells 2023-09-12 38 __kernel_old_time_t creation_time;
b78af6579e15dc David Howells 2023-09-12 39 __kernel_old_time_t expires_at;
b78af6579e15dc David Howells 2023-09-12 40 };
b78af6579e15dc David Howells 2023-09-12 41
:::::: The code at line 36 was first introduced by commit
:::::: b78af6579e15dcdff86504da90af77f3e890270e PGPLIB: Basic packet parser
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Sean Anderson <sean.anderson(a)linux.dev>
stable inclusion
from stable-v6.6.33
commit 6ead3eccf67bc8318b1ce95ed879b2cc05b4fce9
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7YJM
CVE: CVE-2024-38664
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit be3f3042391d061cfca2bd22630e0d101acea5fc ]
We must always register the DRM bridge, since zynqmp_dp_hpd_work_func
calls drm_bridge_hpd_notify, which in turn expects hpd_mutex to be
initialized. We do this before zynqmp_dpsub_drm_init since that calls
drm_bridge_attach. This fixes the following lockdep warning:
[ 19.217084] ------------[ cut here ]------------
[ 19.227530] DEBUG_LOCKS_WARN_ON(lock->magic != lock)
[ 19.227768] WARNING: CPU: 0 PID: 140 at kernel/locking/mutex.c:582 __mutex_lock+0x4bc/0x550
[ 19.241696] Modules linked in:
[ 19.244937] CPU: 0 PID: 140 Comm: kworker/0:4 Not tainted 6.6.20+ #96
[ 19.252046] Hardware name: xlnx,zynqmp (DT)
[ 19.256421] Workqueue: events zynqmp_dp_hpd_work_func
[ 19.261795] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 19.269104] pc : __mutex_lock+0x4bc/0x550
[ 19.273364] lr : __mutex_lock+0x4bc/0x550
[ 19.277592] sp : ffffffc085c5bbe0
[ 19.281066] x29: ffffffc085c5bbe0 x28: 0000000000000000 x27: ffffff88009417f8
[ 19.288624] x26: ffffff8800941788 x25: ffffff8800020008 x24: ffffffc082aa3000
[ 19.296227] x23: ffffffc080d90e3c x22: 0000000000000002 x21: 0000000000000000
[ 19.303744] x20: 0000000000000000 x19: ffffff88002f5210 x18: 0000000000000000
[ 19.311295] x17: 6c707369642e3030 x16: 3030613464662072 x15: 0720072007200720
[ 19.318922] x14: 0000000000000000 x13: 284e4f5f4e524157 x12: 0000000000000001
[ 19.326442] x11: 0001ffc085c5b940 x10: 0001ff88003f388b x9 : 0001ff88003f3888
[ 19.334003] x8 : 0001ff88003f3888 x7 : 0000000000000000 x6 : 0000000000000000
[ 19.341537] x5 : 0000000000000000 x4 : 0000000000001668 x3 : 0000000000000000
[ 19.349054] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff88003f3880
[ 19.356581] Call trace:
[ 19.359160] __mutex_lock+0x4bc/0x550
[ 19.363032] mutex_lock_nested+0x24/0x30
[ 19.367187] drm_bridge_hpd_notify+0x2c/0x6c
[ 19.371698] zynqmp_dp_hpd_work_func+0x44/0x54
[ 19.376364] process_one_work+0x3ac/0x988
[ 19.380660] worker_thread+0x398/0x694
[ 19.384736] kthread+0x1bc/0x1c0
[ 19.388241] ret_from_fork+0x10/0x20
[ 19.392031] irq event stamp: 183
[ 19.395450] hardirqs last enabled at (183): [<ffffffc0800b9278>] finish_task_switch.isra.0+0xa8/0x2d4
[ 19.405140] hardirqs last disabled at (182): [<ffffffc081ad3754>] __schedule+0x714/0xd04
[ 19.413612] softirqs last enabled at (114): [<ffffffc080133de8>] srcu_invoke_callbacks+0x158/0x23c
[ 19.423128] softirqs last disabled at (110): [<ffffffc080133de8>] srcu_invoke_callbacks+0x158/0x23c
[ 19.432614] ---[ end trace 0000000000000000 ]---
Fixes: eb2d64bfcc17 ("drm: xlnx: zynqmp_dpsub: Report HPD through the bridge")
Signed-off-by: Sean Anderson <sean.anderson(a)linux.dev>
Reviewed-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen(a)ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen(a)ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240308204741.3631919-1-sean…
Signed-off-by: Maarten Lankhorst <maarten.lankhorst(a)linux.intel.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Zhang Changzhong <zhangchangzhong(a)huawei.com>
---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 88eb33acd..face8d6 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -256,12 +256,12 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
if (ret)
goto err_dp;
+ drm_bridge_add(dpsub->bridge);
+
if (dpsub->dma_enabled) {
ret = zynqmp_dpsub_drm_init(dpsub);
if (ret)
goto err_disp;
- } else {
- drm_bridge_add(dpsub->bridge);
}
dev_info(&pdev->dev, "ZynqMP DisplayPort Subsystem driver probed");
@@ -288,9 +288,8 @@ static void zynqmp_dpsub_remove(struct platform_device *pdev)
if (dpsub->drm)
zynqmp_dpsub_drm_cleanup(dpsub);
- else
- drm_bridge_remove(dpsub->bridge);
+ drm_bridge_remove(dpsub->bridge);
zynqmp_disp_remove(dpsub);
zynqmp_dp_remove(dpsub);
--
2.9.5
2
1
Damien Le Moal (1):
null_blk: Move driver into its own directory
Yu Kuai (1):
null_blk: fix null-ptr-dereference while configuring 'power' and
'submit_queues'
drivers/block/{ => null_blk}/null_blk.h | 0
.../{null_blk_trace.h => null_blk/trace.h} | 2 +-
.../{null_blk_main.c => null_blk/main.c} | 43 +++++++++++--------
.../{null_blk_trace.c => null_blk/trace.c} | 2 +-
.../{null_blk_zoned.c => null_blk/zoned.c} | 2 +-
drivers/block/Kconfig | 8 +---
drivers/block/Makefile | 7 +--
drivers/block/null_blk/Kconfig | 12 ++++++
drivers/block/null_blk/Makefile | 11 +++++
9 files changed, 54 insertions(+), 33 deletions(-)
rename drivers/block/{ => null_blk}/null_blk.h (100%)
rename drivers/block/{null_blk_trace.h => null_blk/trace.h} (97%)
rename drivers/block/{null_blk_main.c => null_blk/main.c} (99%)
rename drivers/block/{null_blk_trace.c => null_blk/trace.c} (93%)
rename drivers/block/{null_blk_zoned.c => null_blk/zoned.c} (99%)
create mode 100644 drivers/block/null_blk/Kconfig
create mode 100644 drivers/block/null_blk/Makefile
--
2.39.2
2
3

[openeuler:OLK-6.6 3348/10598] security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 01c2a11a75f4f8b273ef3e34cca3974b10314a3a
commit: 5fbe16a682d5af0c2f7145096851e31e3c921d64 [3348/10598] ima: Execute parser to upload digest lists not recognizable by the kernel
config: arm64-randconfig-r131-20240707 (https://download.01.org/0day-ci/archive/20240708/202407081457.7NZpgJgk-lkp@…)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407081457.7NZpgJgk-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407081457.7NZpgJgk-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:165:42: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:166:37: sparse: sparse: cast to restricted __le16
>> security/integrity/ima/ima_digest_list.c:167:38: sparse: sparse: cast to restricted __le32
security/integrity/ima/ima_digest_list.c:168:40: sparse: sparse: cast to restricted __le32
>> security/integrity/ima/ima_digest_list.c:416:20: sparse: sparse: symbol 'parser_task' was not declared. Should it be static?
vim +164 security/integrity/ima/ima_digest_list.c
b3fef06570ef2b Roberto Sassu 2023-09-12 138
b3fef06570ef2b Roberto Sassu 2023-09-12 139 int ima_parse_compact_list(loff_t size, void *buf, int op)
b3fef06570ef2b Roberto Sassu 2023-09-12 140 {
b3fef06570ef2b Roberto Sassu 2023-09-12 141 u8 *digest;
b3fef06570ef2b Roberto Sassu 2023-09-12 142 void *bufp = buf, *bufendp = buf + size;
b3fef06570ef2b Roberto Sassu 2023-09-12 143 struct compact_list_hdr *hdr;
b3fef06570ef2b Roberto Sassu 2023-09-12 144 size_t digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 145 int ret = 0, i;
b3fef06570ef2b Roberto Sassu 2023-09-12 146
80701e75d21f48 Roberto Sassu 2023-09-12 147 if (!(ima_digest_list_actions & ima_policy_flag))
80701e75d21f48 Roberto Sassu 2023-09-12 148 return -EACCES;
80701e75d21f48 Roberto Sassu 2023-09-12 149
b3fef06570ef2b Roberto Sassu 2023-09-12 150 while (bufp < bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 151 if (bufp + sizeof(*hdr) > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 152 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 153 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 154 }
b3fef06570ef2b Roberto Sassu 2023-09-12 155
b3fef06570ef2b Roberto Sassu 2023-09-12 156 hdr = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 157
b3fef06570ef2b Roberto Sassu 2023-09-12 158 if (hdr->version != 1) {
b3fef06570ef2b Roberto Sassu 2023-09-12 159 pr_err("compact list, unsupported version\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 160 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 161 }
b3fef06570ef2b Roberto Sassu 2023-09-12 162
b3fef06570ef2b Roberto Sassu 2023-09-12 163 if (ima_canonical_fmt) {
b3fef06570ef2b Roberto Sassu 2023-09-12 @164 hdr->type = le16_to_cpu(hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 165 hdr->modifiers = le16_to_cpu(hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 166 hdr->algo = le16_to_cpu(hdr->algo);
b3fef06570ef2b Roberto Sassu 2023-09-12 @167 hdr->count = le32_to_cpu(hdr->count);
b3fef06570ef2b Roberto Sassu 2023-09-12 168 hdr->datalen = le32_to_cpu(hdr->datalen);
b3fef06570ef2b Roberto Sassu 2023-09-12 169 }
b3fef06570ef2b Roberto Sassu 2023-09-12 170
b3fef06570ef2b Roberto Sassu 2023-09-12 171 if (hdr->algo >= HASH_ALGO__LAST)
b3fef06570ef2b Roberto Sassu 2023-09-12 172 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 173
b3fef06570ef2b Roberto Sassu 2023-09-12 174 digest_len = hash_digest_size[hdr->algo];
b3fef06570ef2b Roberto Sassu 2023-09-12 175
b3fef06570ef2b Roberto Sassu 2023-09-12 176 if (hdr->type >= COMPACT__LAST) {
b3fef06570ef2b Roberto Sassu 2023-09-12 177 pr_err("compact list, invalid type %d\n", hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 178 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 179 }
b3fef06570ef2b Roberto Sassu 2023-09-12 180
b3fef06570ef2b Roberto Sassu 2023-09-12 181 bufp += sizeof(*hdr);
b3fef06570ef2b Roberto Sassu 2023-09-12 182
b3fef06570ef2b Roberto Sassu 2023-09-12 183 for (i = 0; i < hdr->count; i++) {
b3fef06570ef2b Roberto Sassu 2023-09-12 184 if (bufp + digest_len > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 185 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 186 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 187 }
b3fef06570ef2b Roberto Sassu 2023-09-12 188
b3fef06570ef2b Roberto Sassu 2023-09-12 189 digest = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 190 bufp += digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 191
b3fef06570ef2b Roberto Sassu 2023-09-12 192 if (op == DIGEST_LIST_OP_ADD)
b3fef06570ef2b Roberto Sassu 2023-09-12 193 ret = ima_add_digest_data_entry(digest,
b3fef06570ef2b Roberto Sassu 2023-09-12 194 hdr->algo, hdr->type, hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 195 else if (op == DIGEST_LIST_OP_DEL)
b3fef06570ef2b Roberto Sassu 2023-09-12 196 ima_del_digest_data_entry(digest, hdr->algo,
b3fef06570ef2b Roberto Sassu 2023-09-12 197 hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 198 if (ret < 0 && ret != -EEXIST)
b3fef06570ef2b Roberto Sassu 2023-09-12 199 return ret;
b3fef06570ef2b Roberto Sassu 2023-09-12 200 }
b3fef06570ef2b Roberto Sassu 2023-09-12 201
b3fef06570ef2b Roberto Sassu 2023-09-12 202 if (i != hdr->count ||
b3fef06570ef2b Roberto Sassu 2023-09-12 203 bufp != (void *)hdr + sizeof(*hdr) + hdr->datalen) {
b3fef06570ef2b Roberto Sassu 2023-09-12 204 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 205 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 206 }
b3fef06570ef2b Roberto Sassu 2023-09-12 207 }
b3fef06570ef2b Roberto Sassu 2023-09-12 208
b3fef06570ef2b Roberto Sassu 2023-09-12 209 return bufp - buf;
b3fef06570ef2b Roberto Sassu 2023-09-12 210 }
80701e75d21f48 Roberto Sassu 2023-09-12 211
:::::: The code at line 164 was first introduced by commit
:::::: b3fef06570ef2b61dd7181e5c1d128bfcbf6b2ef ima: Add parser of compact digest list
:::::: TO: Roberto Sassu <roberto.sassu(a)huawei.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 7037/10596] drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: f0db1bf5852542c46c16d0b305193069e265f769 [7037/10596] Huawei BMA: Adding Huawei BMA driver: host_edma_drv
config: loongarch-randconfig-r132-20240707 (https://download.01.org/0day-ci/archive/20240708/202407081155.6fc6bMvH-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407081155.6fc6bMvH-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407081155.6fc6bMvH-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:108:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:110:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:131:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:136:28: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:147:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:254:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:413:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:581:6: sparse: sparse: symbol 'host_dma_transfer_without_list' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:629:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:608:6: sparse: sparse: symbol 'host_dma_transfer_withlist' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:653:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:668:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:708:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:716:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:748:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:754:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:759:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:765:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:777:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:791:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:810:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:852:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:859:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:869:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:876:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:960:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:966:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:996:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1046:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1050:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1061:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1087:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1102:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1126:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1138:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1160:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1162:44: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1165:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1169:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1181:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1186:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1196:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1200:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1201:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1203:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1217:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1218:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1219:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1272:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1282:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1287:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1299:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1356:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1372:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *edma_send_addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: expected void [noderef] __iomem *edma_send_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: got void *
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *edma_send_addr @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: expected void const *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: got void [noderef] __iomem *edma_send_addr
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *edma_send_addr @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: expected void const *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: got void [noderef] __iomem *edma_send_addr
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got void [noderef] __iomem *edma_send_addr @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: expected void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: got void [noderef] __iomem *edma_send_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1377:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *edma_recv_addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: expected void [noderef] __iomem *edma_recv_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1380:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1406:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1413:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1442:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +1374 drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c
1268
1269 struct edma_user_inft_s *edma_host_get_user_inft(u32 type)
1270 {
1271 if (type >= TYPE_MAX) {
> 1272 BMA_LOG(DLOG_ERROR, "type error %d\n", type);
1273 return NULL;
1274 }
1275
1276 return g_user_func[type];
1277 }
1278
1279 int edma_host_user_register(u32 type, struct edma_user_inft_s *func)
1280 {
1281 if (type >= TYPE_MAX) {
1282 BMA_LOG(DLOG_ERROR, "type error %d\n", type);
1283 return -EFAULT;
1284 }
1285
1286 if (!func) {
1287 BMA_LOG(DLOG_ERROR, "func is NULL\n");
1288 return -EFAULT;
1289 }
1290
1291 g_user_func[type] = func;
1292
1293 return 0;
1294 }
1295
1296 int edma_host_user_unregister(u32 type)
1297 {
1298 if (type >= TYPE_MAX) {
1299 BMA_LOG(DLOG_ERROR, "type error %d\n", type);
1300 return -EFAULT;
1301 }
1302
1303 g_user_func[type] = NULL;
1304
1305 return 0;
1306 }
1307
1308 int edma_host_init(struct edma_host_s *edma_host)
1309 {
1310 int ret = 0;
1311 struct bma_dev_s *bma_dev = NULL;
1312 struct notify_msg *pnm = NULL;
1313
1314 if (!edma_host)
1315 return -1;
1316
1317 bma_dev = list_entry(edma_host, struct bma_dev_s, edma_host);
1318 g_bma_dev = bma_dev;
1319
1320 edma_host->pdev = bma_dev->bma_pci_dev->pdev;
1321
1322 #ifdef EDMA_TIMER
1323 #ifdef HAVE_TIMER_SETUP
1324 timer_setup(&edma_host->timer, edma_host_timeout, 0);
1325 #else
1326 setup_timer(&edma_host->timer, edma_host_timeout,
1327 (unsigned long)edma_host);
1328 #endif
1329 (void)mod_timer(&edma_host->timer, jiffies_64 + TIMER_INTERVAL_CHECK);
1330 #ifdef USE_DMA
1331 #ifdef HAVE_TIMER_SETUP
1332 timer_setup(&edma_host->dma_timer, edma_host_dma_timeout, 0);
1333
1334 #else
1335 setup_timer(&edma_host->dma_timer, edma_host_dma_timeout,
1336 (unsigned long)edma_host);
1337 #endif
1338 (void)mod_timer(&edma_host->dma_timer,
1339 jiffies_64 + DMA_TIMER_INTERVAL_CHECK);
1340 #endif
1341
1342 #else
1343 init_completion(&edma_host->msg_ready);
1344
1345 edma_host->edma_thread =
1346 kthread_run(edma_host_thread, (void *)edma_host, "edma_host_msg");
1347
1348 if (IS_ERR(edma_host->edma_thread)) {
1349 BMA_LOG(DLOG_ERROR, "kernel_run edma_host_msg failed\n");
1350 return PTR_ERR(edma_host->edma_thread);
1351 }
1352 #endif
1353
1354 edma_host->msg_send_buf = kmalloc(HOST_MAX_SEND_MBX_LEN, GFP_KERNEL);
1355 if (!edma_host->msg_send_buf) {
1356 BMA_LOG(DLOG_ERROR, "malloc msg_send_buf failed!");
1357 ret = -ENOMEM;
1358 goto failed1;
1359 }
1360
1361 edma_host->msg_send_write = 0;
1362
1363 spin_lock_init(&edma_host->send_msg_lock);
1364
1365 tasklet_init(&edma_host->tasklet,
1366 (void (*)(unsigned long))edma_host_isr_tasklet,
1367 (unsigned long)edma_host);
1368
1369 edma_host->edma_flag = bma_dev->bma_pci_dev->edma_swap_addr;
1370
> 1371 edma_host->edma_send_addr =
1372 (void *)((unsigned char *)bma_dev->bma_pci_dev->edma_swap_addr +
1373 HOST_DMA_FLAG_LEN);
> 1374 memset(edma_host->edma_send_addr, 0, SIZE_OF_MBX_HDR);
1375
1376 edma_host->edma_recv_addr =
1377 (void *)((unsigned char *)edma_host->edma_send_addr +
1378 HOST_MAX_SEND_MBX_LEN);
1379
1380 BMA_LOG(DLOG_DEBUG,
1381 "edma_flag = %p, edma_send_addr = %p, edma_recv_addr = %p\n",
1382 edma_host->edma_flag, edma_host->edma_send_addr,
1383 edma_host->edma_recv_addr);
1384
1385 edma_host->hostrtc_viraddr = bma_dev->bma_pci_dev->hostrtc_viraddr;
1386
1387 init_waitqueue_head(&edma_host->wq_dmah2b);
1388 init_waitqueue_head(&edma_host->wq_dmab2h);
1389
1390 spin_lock_init(&edma_host->reg_lock);
1391
1392 edma_host->h2b_state = H2BSTATE_IDLE;
1393 edma_host->b2h_state = B2HSTATE_IDLE;
1394
1395 #ifdef HAVE_TIMER_SETUP
1396 timer_setup(&edma_host->heartbeat_timer,
1397 edma_host_heartbeat_timer, 0);
1398 #else
1399 setup_timer(&edma_host->heartbeat_timer,
1400 edma_host_heartbeat_timer,
1401 (unsigned long)edma_host);
1402 #endif
1403 (void)mod_timer(&edma_host->heartbeat_timer,
1404 jiffies_64 + HEARTBEAT_TIMER_INTERVAL_CHECK);
1405
1406 pnm = (struct notify_msg *)edma_host->edma_flag;
1407 if (pnm)
1408 pnm->host_registered = REGISTERED;
1409
1410 GET_SYS_SECONDS(edma_host->statistics.init_time);
1411
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH openEuler-22.03-LTS-SP1] null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
by Li Nan 08 Jul '24
by Li Nan 08 Jul '24
08 Jul '24
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.10-rc1
commit a2db328b0839312c169eb42746ec46fc1ab53ed2
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7D6H
CVE: CVE-2024-36478
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Writing 'power' and 'submit_queues' concurrently will trigger kernel
panic:
Test script:
modprobe null_blk nr_devices=0
mkdir -p /sys/kernel/config/nullb/nullb0
while true; do echo 1 > submit_queues; echo 4 > submit_queues; done &
while true; do echo 1 > power; echo 0 > power; done
Test result:
BUG: kernel NULL pointer dereference, address: 0000000000000148
Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:__lock_acquire+0x41d/0x28f0
Call Trace:
<TASK>
lock_acquire+0x121/0x450
down_write+0x5f/0x1d0
simple_recursive_removal+0x12f/0x5c0
blk_mq_debugfs_unregister_hctxs+0x7c/0x100
blk_mq_update_nr_hw_queues+0x4a3/0x720
nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]
nullb_device_submit_queues_store+0x79/0xf0 [null_blk]
configfs_write_iter+0x119/0x1e0
vfs_write+0x326/0x730
ksys_write+0x74/0x150
This is because del_gendisk() can concurrent with
blk_mq_update_nr_hw_queues():
nullb_device_power_store nullb_apply_submit_queues
null_del_dev
del_gendisk
nullb_update_nr_hw_queues
if (!dev->nullb)
// still set while gendisk is deleted
return 0
blk_mq_update_nr_hw_queues
dev->nullb = NULL
Fix this problem by resuing the global mutex to protect
nullb_device_power_store() and nullb_update_nr_hw_queues() from configfs.
Fixes: 45919fbfe1c4 ("null_blk: Enable modifying 'submit_queues' after an instance has been configured")
Reported-and-tested-by: Yi Zhang <yi.zhang(a)redhat.com>
Closes: https://lore.kernel.org/all/CAHj4cs9LgsHLnjg8z06LQ3Pr5cax-+Ps+xT7AP7TPnEjSt…
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu(a)linux.dev>
Link: https://lore.kernel.org/r/20240523153934.1937851-1-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Conflicts:
drivers/block/null_blk/main.c
[ A lot of conflict, this patch just expand the protection range of
mutex, ignore conflict. ]
Signed-off-by: Li Nan <linan122(a)huawei.com>
---
drivers/block/null_blk/main.c | 43 +++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c
index 35b390a785dd..91c8412442d0 100644
--- a/drivers/block/null_blk/main.c
+++ b/drivers/block/null_blk/main.c
@@ -323,11 +323,9 @@ CONFIGFS_ATTR(nullb_device_, NAME);
static int nullb_apply_submit_queues(struct nullb_device *dev,
unsigned int submit_queues)
{
- struct nullb *nullb = dev->nullb;
+ struct nullb *nullb;
struct blk_mq_tag_set *set;
-
- if (!nullb)
- return 0;
+ int ret = 0;
/*
* Make sure that null_init_hctx() does not access nullb->queues[] past
@@ -335,9 +333,20 @@ static int nullb_apply_submit_queues(struct nullb_device *dev,
*/
if (submit_queues > nr_cpu_ids)
return -EINVAL;
+
+ mutex_lock(&lock);
+
+ nullb = dev->nullb;
+ if (!nullb)
+ goto out;
+
set = nullb->tag_set;
blk_mq_update_nr_hw_queues(set, submit_queues);
- return set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+ ret = set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+
+out:
+ mutex_unlock(&lock);
+ return ret;
}
NULLB_DEVICE_ATTR(size, ulong, NULL);
@@ -378,27 +387,31 @@ static ssize_t nullb_device_power_store(struct config_item *item,
if (ret < 0)
return ret;
+ ret = count;
+ mutex_lock(&lock);
if (!dev->power && newp) {
if (test_and_set_bit(NULLB_DEV_FL_UP, &dev->flags))
- return count;
+ goto out;
+
if (null_add_dev(dev)) {
clear_bit(NULLB_DEV_FL_UP, &dev->flags);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
set_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
dev->power = newp;
} else if (dev->power && !newp) {
if (test_and_clear_bit(NULLB_DEV_FL_UP, &dev->flags)) {
- mutex_lock(&lock);
dev->power = newp;
null_del_dev(dev->nullb);
- mutex_unlock(&lock);
}
clear_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
}
- return count;
+out:
+ mutex_unlock(&lock);
+ return ret;
}
CONFIGFS_ATTR(nullb_device_, power);
@@ -1880,15 +1893,11 @@ static int null_add_dev(struct nullb_device *dev)
blk_queue_flag_set(QUEUE_FLAG_NONROT, nullb->q);
blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q);
- mutex_lock(&lock);
rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
- if (rv < 0) {
- mutex_unlock(&lock);
+ if (rv < 0)
goto out_cleanup_zone;
- }
nullb->index = rv;
dev->index = rv;
- mutex_unlock(&lock);
blk_queue_logical_block_size(nullb->q, dev->blocksize);
blk_queue_physical_block_size(nullb->q, dev->blocksize);
@@ -1901,9 +1910,7 @@ static int null_add_dev(struct nullb_device *dev)
if (rv)
goto out_ida_free;
- mutex_lock(&lock);
list_add_tail(&nullb->list, &nullb_list);
- mutex_unlock(&lock);
return 0;
@@ -1985,7 +1992,9 @@ static int __init null_init(void)
ret = -ENOMEM;
goto err_dev;
}
+ mutex_lock(&lock);
ret = null_add_dev(dev);
+ mutex_unlock(&lock);
if (ret) {
null_free_dev(dev);
goto err_dev;
--
2.39.2
2
1

[openeuler:OLK-6.6 3342/10596] include/linux/pgplib.h:26:15: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 43d4042e06d2bf96adf67d25e8d91653507a4cf9 [3342/10596] KEYS: Provide a function to load keys from a PGP keyring blob
config: arm64-randconfig-r131-20240707 (https://download.01.org/0day-ci/archive/20240708/202407081159.yhVjEfsw-lkp@…)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407081159.yhVjEfsw-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407081159.yhVjEfsw-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from crypto/asymmetric_keys/pgp_preload.c:19:
>> include/linux/pgplib.h:26:15: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
26 | enum pgp_packet_tag type,
| ^
include/linux/pgplib.h:36:23: error: field has incomplete type 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:36:7: note: forward declaration of 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:37:23: error: field has incomplete type 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
include/linux/pgplib.h:37:7: note: forward declaration of 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
crypto/asymmetric_keys/pgp_preload.c:63:10: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:63:25: error: variable has incomplete type 'enum pgp_packet_tag'
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:63:10: note: forward declaration of 'enum pgp_packet_tag'
63 | enum pgp_packet_tag type, u8 headerlen,
| ^
crypto/asymmetric_keys/pgp_preload.c:107:36: error: use of undeclared identifier 'PGP_PKT_PUBLIC_KEY'
107 | ctx.pgp.types_of_interest = (1 << PGP_PKT_PUBLIC_KEY);
| ^
crypto/asymmetric_keys/pgp_preload.c:108:25: error: incompatible function pointer types assigning to 'int (*)(struct pgp_parse_context *, enum pgp_packet_tag, u8, const u8 *, size_t)' (aka 'int (*)(struct pgp_parse_context *, enum pgp_packet_tag, unsigned char, const unsigned char *, unsigned long)') from 'int (struct pgp_parse_context *, enum pgp_packet_tag, u8, const u8 *, size_t)' (aka 'int (struct pgp_parse_context *, enum pgp_packet_tag, unsigned char, const unsigned char *, unsigned long)') [-Wincompatible-function-pointer-types]
108 | ctx.pgp.process_packet = found_pgp_key;
| ^ ~~~~~~~~~~~~~
crypto/asymmetric_keys/pgp_preload.c:101:12: warning: no previous prototype for function 'preload_pgp_keys' [-Wmissing-prototypes]
101 | int __init preload_pgp_keys(const u8 *pgpdata, size_t pgpdatalen,
| ^
crypto/asymmetric_keys/pgp_preload.c:101:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
101 | int __init preload_pgp_keys(const u8 *pgpdata, size_t pgpdatalen,
| ^
| static
3 warnings and 5 errors generated.
--
In file included from crypto/asymmetric_keys/pgp_public_key.c:19:
In file included from include/linux/mpi.h:21:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2193:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
In file included from crypto/asymmetric_keys/pgp_public_key.c:20:
>> include/linux/pgplib.h:26:15: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
26 | enum pgp_packet_tag type,
| ^
include/linux/pgplib.h:36:23: error: field has incomplete type 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:36:7: note: forward declaration of 'enum pgp_key_version'
36 | enum pgp_key_version version : 8;
| ^
include/linux/pgplib.h:37:23: error: field has incomplete type 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
include/linux/pgplib.h:37:7: note: forward declaration of 'enum pgp_pubkey_algo'
37 | enum pgp_pubkey_algo pubkey_algo : 8;
| ^
crypto/asymmetric_keys/pgp_public_key.c:63:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
63 | kenter("");
| ^
crypto/asymmetric_keys/pgp_public_key.c:65:22: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
65 | n = (pgp->version < PGP_KEY_VERSION_4) ? 8 : 6;
| ^
crypto/asymmetric_keys/pgp_public_key.c:67:9: error: call to undeclared function 'mpi_key_length'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
67 | ret = mpi_key_length(key_ptr, keylen, nb + i, nn + i);
| ^
crypto/asymmetric_keys/pgp_public_key.c:95:21: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
95 | if (pgp->version < PGP_KEY_VERSION_4) {
| ^
crypto/asymmetric_keys/pgp_public_key.c:115:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
115 | kleave(" = %d", ret);
| ^
crypto/asymmetric_keys/pgp_public_key.c:134:42: error: use of undeclared identifier 'PGP_KEY_VERSION_4'
134 | tfm = crypto_alloc_shash(pgp->version < PGP_KEY_VERSION_4 ?
| ^
crypto/asymmetric_keys/pgp_public_key.c:191:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
191 | kleave(" = %d", ret);
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:12: warning: declaration of 'enum pgp_packet_tag' will not be visible outside of this function [-Wvisibility]
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:27: error: variable has incomplete type 'enum pgp_packet_tag'
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:199:12: note: forward declaration of 'enum pgp_packet_tag'
199 | enum pgp_packet_tag type,
| ^
crypto/asymmetric_keys/pgp_public_key.c:211:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
211 | kenter(",%u,%u,,%zu", type, headerlen, datalen);
| ^
crypto/asymmetric_keys/pgp_public_key.c:213:14: error: use of undeclared identifier 'PGP_PKT_USER_ID'
213 | if (type == PGP_PKT_USER_ID) {
| ^
crypto/asymmetric_keys/pgp_public_key.c:216:3: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
216 | kleave(" = 0 [user ID]");
| ^
crypto/asymmetric_keys/pgp_public_key.c:221:3: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
221 | kleave(" = -ENOKEY [already]");
| ^
crypto/asymmetric_keys/pgp_public_key.c:234:25: error: use of undeclared identifier 'PGP_PUBKEY__LAST'
234 | if (pgp.pubkey_algo >= PGP_PUBKEY__LAST)
| ^
crypto/asymmetric_keys/pgp_public_key.c:236:9: error: use of undeclared identifier 'pgp_to_public_key_algo'
236 | algo = pgp_to_public_key_algo[pgp.pubkey_algo];
| ^
crypto/asymmetric_keys/pgp_public_key.c:252:2: error: call to undeclared function 'kleave'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
252 | kleave(" = 0 [use]");
| ^
crypto/asymmetric_keys/pgp_public_key.c:310:2: error: call to undeclared function 'kenter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
310 | kenter("");
| ^
crypto/asymmetric_keys/pgp_public_key.c:313:36: error: use of undeclared identifier 'PGP_PKT_PUBLIC_KEY'
313 | ctx.pgp.types_of_interest = (1 << PGP_PKT_PUBLIC_KEY) |
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PGP_KEY_PARSER
Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n]
Selected by [y]:
- PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y]
vim +26 include/linux/pgplib.h
b78af6579e15dc David Howells 2023-09-12 19
b78af6579e15dc David Howells 2023-09-12 20 /*
b78af6579e15dc David Howells 2023-09-12 21 * PGP library packet parser
b78af6579e15dc David Howells 2023-09-12 22 */
b78af6579e15dc David Howells 2023-09-12 23 struct pgp_parse_context {
b78af6579e15dc David Howells 2023-09-12 24 u64 types_of_interest;
b78af6579e15dc David Howells 2023-09-12 25 int (*process_packet)(struct pgp_parse_context *context,
b78af6579e15dc David Howells 2023-09-12 @26 enum pgp_packet_tag type,
b78af6579e15dc David Howells 2023-09-12 27 u8 headerlen,
b78af6579e15dc David Howells 2023-09-12 28 const u8 *data,
b78af6579e15dc David Howells 2023-09-12 29 size_t datalen);
b78af6579e15dc David Howells 2023-09-12 30 };
b78af6579e15dc David Howells 2023-09-12 31
:::::: The code at line 26 was first introduced by commit
:::::: b78af6579e15dcdff86504da90af77f3e890270e PGPLIB: Basic packet parser
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH OLK-6.6] md: fix resync softlockup when bitmap size is less than array size
by Li Nan 08 Jul '24
by Li Nan 08 Jul '24
08 Jul '24
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.10-rc1
commit f0e729af2eb6bee9eb58c4df1087f14ebaefe26b
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SH1
CVE: CVE-2024-38598
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Is is reported that for dm-raid10, lvextend + lvchange --syncaction will
trigger following softlockup:
kernel:watchdog: BUG: soft lockup - CPU#3 stuck for 26s! [mdX_resync:6976]
CPU: 7 PID: 3588 Comm: mdX_resync Kdump: loaded Not tainted 6.9.0-rc4-next-20240419 #1
RIP: 0010:_raw_spin_unlock_irq+0x13/0x30
Call Trace:
<TASK>
md_bitmap_start_sync+0x6b/0xf0
raid10_sync_request+0x25c/0x1b40 [raid10]
md_do_sync+0x64b/0x1020
md_thread+0xa7/0x170
kthread+0xcf/0x100
ret_from_fork+0x30/0x50
ret_from_fork_asm+0x1a/0x30
And the detailed process is as follows:
md_do_sync
j = mddev->resync_min
while (j < max_sectors)
sectors = raid10_sync_request(mddev, j, &skipped)
if (!md_bitmap_start_sync(..., &sync_blocks))
// md_bitmap_start_sync set sync_blocks to 0
return sync_blocks + sectors_skippe;
// sectors = 0;
j += sectors;
// j never change
Root cause is that commit 301867b1c168 ("md/raid10: check
slab-out-of-bounds in md_bitmap_get_counter") return early from
md_bitmap_get_counter(), without setting returned blocks.
Fix this problem by always set returned blocks from
md_bitmap_get_counter"(), as it used to be.
Noted that this patch just fix the softlockup problem in kernel, the
case that bitmap size doesn't match array size still need to be fixed.
Fixes: 301867b1c168 ("md/raid10: check slab-out-of-bounds in md_bitmap_get_counter")
Reported-and-tested-by: Nigel Croxon <ncroxon(a)redhat.com>
Closes: https://lore.kernel.org/all/71ba5272-ab07-43ba-8232-d2da642acb4e@redhat.com/
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Link: https://lore.kernel.org/r/20240422065824.2516-1-yukuai1@huaweicloud.com
Signed-off-by: Song Liu <song(a)kernel.org>
Signed-off-by: Li Nan <linan122(a)huawei.com>
---
drivers/md/md-bitmap.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index a4976ceae868..ee67da44641b 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -1427,7 +1427,7 @@ __acquires(bitmap->lock)
sector_t chunk = offset >> bitmap->chunkshift;
unsigned long page = chunk >> PAGE_COUNTER_SHIFT;
unsigned long pageoff = (chunk & PAGE_COUNTER_MASK) << COUNTER_BYTE_SHIFT;
- sector_t csize;
+ sector_t csize = ((sector_t)1) << bitmap->chunkshift;
int err;
if (page >= bitmap->pages) {
@@ -1436,6 +1436,7 @@ __acquires(bitmap->lock)
* End-of-device while looking for a whole page or
* user set a huge number to sysfs bitmap_set_bits.
*/
+ *blocks = csize - (offset & (csize - 1));
return NULL;
}
err = md_bitmap_checkpage(bitmap, page, create, 0);
@@ -1444,8 +1445,7 @@ __acquires(bitmap->lock)
bitmap->bp[page].map == NULL)
csize = ((sector_t)1) << (bitmap->chunkshift +
PAGE_COUNTER_SHIFT);
- else
- csize = ((sector_t)1) << bitmap->chunkshift;
+
*blocks = csize - (offset & (csize - 1));
if (err < 0)
--
2.39.2
2
1

[PATCH openEuler-22.03-LTS-SP1] null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
by Li Nan 08 Jul '24
by Li Nan 08 Jul '24
08 Jul '24
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.10-rc1
commit a2db328b0839312c169eb42746ec46fc1ab53ed2
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7D6H
CVE: CVE-2024-36478
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Writing 'power' and 'submit_queues' concurrently will trigger kernel
panic:
Test script:
modprobe null_blk nr_devices=0
mkdir -p /sys/kernel/config/nullb/nullb0
while true; do echo 1 > submit_queues; echo 4 > submit_queues; done &
while true; do echo 1 > power; echo 0 > power; done
Test result:
BUG: kernel NULL pointer dereference, address: 0000000000000148
Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:__lock_acquire+0x41d/0x28f0
Call Trace:
<TASK>
lock_acquire+0x121/0x450
down_write+0x5f/0x1d0
simple_recursive_removal+0x12f/0x5c0
blk_mq_debugfs_unregister_hctxs+0x7c/0x100
blk_mq_update_nr_hw_queues+0x4a3/0x720
nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]
nullb_device_submit_queues_store+0x79/0xf0 [null_blk]
configfs_write_iter+0x119/0x1e0
vfs_write+0x326/0x730
ksys_write+0x74/0x150
This is because del_gendisk() can concurrent with
blk_mq_update_nr_hw_queues():
nullb_device_power_store nullb_apply_submit_queues
null_del_dev
del_gendisk
nullb_update_nr_hw_queues
if (!dev->nullb)
// still set while gendisk is deleted
return 0
blk_mq_update_nr_hw_queues
dev->nullb = NULL
Fix this problem by resuing the global mutex to protect
nullb_device_power_store() and nullb_update_nr_hw_queues() from configfs.
Fixes: 45919fbfe1c4 ("null_blk: Enable modifying 'submit_queues' after an instance has been configured")
Reported-and-tested-by: Yi Zhang <yi.zhang(a)redhat.com>
Closes: https://lore.kernel.org/all/CAHj4cs9LgsHLnjg8z06LQ3Pr5cax-+Ps+xT7AP7TPnEjSt…
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu(a)linux.dev>
Link: https://lore.kernel.org/r/20240523153934.1937851-1-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Conflicts:
drivers/block/null_blk/main.c
[ A lot of conflict, this patch just expand the protection range of
mutex, ignore conflict. ]
Signed-off-by: Li Nan <linan122(a)huawei.com>
---
drivers/block/null_blk/main.c | 43 +++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c
index 35b390a785dd..91c8412442d0 100644
--- a/drivers/block/null_blk/main.c
+++ b/drivers/block/null_blk/main.c
@@ -323,11 +323,9 @@ CONFIGFS_ATTR(nullb_device_, NAME);
static int nullb_apply_submit_queues(struct nullb_device *dev,
unsigned int submit_queues)
{
- struct nullb *nullb = dev->nullb;
+ struct nullb *nullb;
struct blk_mq_tag_set *set;
-
- if (!nullb)
- return 0;
+ int ret = 0;
/*
* Make sure that null_init_hctx() does not access nullb->queues[] past
@@ -335,9 +333,20 @@ static int nullb_apply_submit_queues(struct nullb_device *dev,
*/
if (submit_queues > nr_cpu_ids)
return -EINVAL;
+
+ mutex_lock(&lock);
+
+ nullb = dev->nullb;
+ if (!nullb)
+ goto out;
+
set = nullb->tag_set;
blk_mq_update_nr_hw_queues(set, submit_queues);
- return set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+ ret = set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+
+out:
+ mutex_unlock(&lock);
+ return ret;
}
NULLB_DEVICE_ATTR(size, ulong, NULL);
@@ -378,27 +387,31 @@ static ssize_t nullb_device_power_store(struct config_item *item,
if (ret < 0)
return ret;
+ ret = count;
+ mutex_lock(&lock);
if (!dev->power && newp) {
if (test_and_set_bit(NULLB_DEV_FL_UP, &dev->flags))
- return count;
+ goto out;
+
if (null_add_dev(dev)) {
clear_bit(NULLB_DEV_FL_UP, &dev->flags);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
set_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
dev->power = newp;
} else if (dev->power && !newp) {
if (test_and_clear_bit(NULLB_DEV_FL_UP, &dev->flags)) {
- mutex_lock(&lock);
dev->power = newp;
null_del_dev(dev->nullb);
- mutex_unlock(&lock);
}
clear_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
}
- return count;
+out:
+ mutex_unlock(&lock);
+ return ret;
}
CONFIGFS_ATTR(nullb_device_, power);
@@ -1880,15 +1893,11 @@ static int null_add_dev(struct nullb_device *dev)
blk_queue_flag_set(QUEUE_FLAG_NONROT, nullb->q);
blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q);
- mutex_lock(&lock);
rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
- if (rv < 0) {
- mutex_unlock(&lock);
+ if (rv < 0)
goto out_cleanup_zone;
- }
nullb->index = rv;
dev->index = rv;
- mutex_unlock(&lock);
blk_queue_logical_block_size(nullb->q, dev->blocksize);
blk_queue_physical_block_size(nullb->q, dev->blocksize);
@@ -1901,9 +1910,7 @@ static int null_add_dev(struct nullb_device *dev)
if (rv)
goto out_ida_free;
- mutex_lock(&lock);
list_add_tail(&nullb->list, &nullb_list);
- mutex_unlock(&lock);
return 0;
@@ -1985,7 +1992,9 @@ static int __init null_init(void)
ret = -ENOMEM;
goto err_dev;
}
+ mutex_lock(&lock);
ret = null_add_dev(dev);
+ mutex_unlock(&lock);
if (ret) {
null_free_dev(dev);
goto err_dev;
--
2.39.2
2
1
Damien Le Moal (1):
null_blk: Fix return value of nullb_device_power_store()
Yu Kuai (1):
null_blk: fix null-ptr-dereference while configuring 'power' and
'submit_queues'
drivers/block/null_blk/main.c | 41 +++++++++++++++++++++++------------
1 file changed, 27 insertions(+), 14 deletions(-)
--
2.39.2
2
3

[PATCH openEuler-1.0-LTS v2] x86/ftrace: Disable lockdep check when execute ftrace_int3_handler()
by Zheng Yejian 08 Jul '24
by Zheng Yejian 08 Jul '24
08 Jul '24
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAA3U5
CVE: NA
---------------------------
After commit 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()"),
lockdep still complain that:
include/linux/rcupdate.h:646 rcu_read_lock() used illegally while idle!
As Xu suggested, lockdep check can be disabled when exectue
ftrace_int3_handler(), refer to mainline commit ba1f2b2eaa2a
("x86/entry: Fix NMI vs IRQ state tracking").
Fixes: 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()")
Suggested-by: Xu Kuohai <xukuohai(a)huawei.com>
Signed-off-by: Zheng Yejian <zhengyejian1(a)huawei.com>
---
arch/x86/kernel/traps.c | 12 +++++++++---
kernel/trace/ftrace.c | 10 ++--------
2 files changed, 11 insertions(+), 11 deletions(-)
v1 -> v2:
Fix check_format fail
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index e832a9becc19..343c21fa3fad 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -585,9 +585,15 @@ dotraplinkage void notrace do_int3(struct pt_regs *regs, long error_code)
* ftrace must be first, everything else may cause a recursive crash.
* See note by declaration of modifying_ftrace_code in ftrace.c
*/
- if (unlikely(atomic_read(&modifying_ftrace_code)) &&
- ftrace_int3_handler(regs))
- return;
+ if (unlikely(atomic_read(&modifying_ftrace_code))) {
+ int ret;
+
+ lockdep_off();
+ ret = ftrace_int3_handler(regs);
+ lockdep_on();
+ if (ret)
+ return;
+ }
#endif
if (poke_int3_handler(regs))
return;
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index ad4440da5b78..6704150cb655 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1581,12 +1581,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
key.ip = start;
key.flags = end; /* overload flags, as it is unsigned long */
- /*
- * It is in atomic context when called from ftrace_int3_handler(),
- * in this case rcu lock is not needed.
- */
- if (!in_atomic())
- rcu_read_lock();
+ rcu_read_lock();
for (pg = ftrace_pages_start; pg; pg = pg->next) {
if (pg->index == 0 ||
end < pg->records[0].ip ||
@@ -1600,8 +1595,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
break;
}
}
- if (!in_atomic())
- rcu_read_unlock();
+ rcu_read_unlock();
return ip;
}
--
2.25.1
2
1

08 Jul '24
From: Duoming Zhou <duoming(a)zju.edu.cn>
stable inclusion
from stable-v6.6.33
commit 965d940fb7414b310a22666503d2af69459c981b
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SG4
CVE: CVE-2024-38554
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
[ Upstream commit 36e56b1b002bb26440403053f19f9e1a8bc075b2 ]
There is a reference count leak issue of the object "net_device" in
ax25_dev_device_down(). When the ax25 device is shutting down, the
ax25_dev_device_down() drops the reference count of net_device one
or zero times depending on if we goto unlock_put or not, which will
cause memory leak.
In order to solve the above issue, decrease the reference count of
net_device after dev->ax25_ptr is set to null.
Fixes: d01ffb9eee4a ("ax25: add refcount in ax25_dev to avoid UAF bugs")
Suggested-by: Dan Carpenter <dan.carpenter(a)linaro.org>
Signed-off-by: Duoming Zhou <duoming(a)zju.edu.cn>
Reviewed-by: Dan Carpenter <dan.carpenter(a)linaro.org>
Link: https://lore.kernel.org/r/7ce3b23a40d9084657ba1125432f0ecc380cbc80.17152470…
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Zhengchao Shao <shaozhengchao(a)huawei.com>
---
net/ax25/ax25_dev.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/net/ax25/ax25_dev.c b/net/ax25/ax25_dev.c
index 52ccc37d5687..c9d55b99a7a5 100644
--- a/net/ax25/ax25_dev.c
+++ b/net/ax25/ax25_dev.c
@@ -118,15 +118,10 @@ void ax25_dev_device_down(struct net_device *dev)
list_for_each_entry(s, &ax25_dev_list, list) {
if (s == ax25_dev) {
list_del(&s->list);
- goto unlock_put;
+ break;
}
}
- dev->ax25_ptr = NULL;
- spin_unlock_bh(&ax25_dev_lock);
- ax25_dev_put(ax25_dev);
- return;
-unlock_put:
dev->ax25_ptr = NULL;
spin_unlock_bh(&ax25_dev_lock);
netdev_put(dev, &ax25_dev->dev_tracker);
--
2.34.1
2
1

[PATCH openEuler-1.0-LTS] x86/ftrace: Disable lockdep check when execute ftrace_int3_handler()
by Zheng Yejian 08 Jul '24
by Zheng Yejian 08 Jul '24
08 Jul '24
After commit 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()"),
lockdep still complain that:
include/linux/rcupdate.h:646 rcu_read_lock() used illegally while idle!
As Xu suggested, lockdep check can be disabled when exectue
ftrace_int3_handler(), refer to mainline commit ba1f2b2eaa2a
("x86/entry: Fix NMI vs IRQ state tracking").
Fixes: 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()")
Suggested-by: Xu Kuohai <xukuohai(a)huawei.com>
Signed-off-by: Zheng Yejian <zhengyejian1(a)huawei.com>
---
arch/x86/kernel/traps.c | 12 +++++++++---
kernel/trace/ftrace.c | 10 ++--------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index e832a9becc19..343c21fa3fad 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -585,9 +585,15 @@ dotraplinkage void notrace do_int3(struct pt_regs *regs, long error_code)
* ftrace must be first, everything else may cause a recursive crash.
* See note by declaration of modifying_ftrace_code in ftrace.c
*/
- if (unlikely(atomic_read(&modifying_ftrace_code)) &&
- ftrace_int3_handler(regs))
- return;
+ if (unlikely(atomic_read(&modifying_ftrace_code))) {
+ int ret;
+
+ lockdep_off();
+ ret = ftrace_int3_handler(regs);
+ lockdep_on();
+ if (ret)
+ return;
+ }
#endif
if (poke_int3_handler(regs))
return;
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index ad4440da5b78..6704150cb655 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1581,12 +1581,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
key.ip = start;
key.flags = end; /* overload flags, as it is unsigned long */
- /*
- * It is in atomic context when called from ftrace_int3_handler(),
- * in this case rcu lock is not needed.
- */
- if (!in_atomic())
- rcu_read_lock();
+ rcu_read_lock();
for (pg = ftrace_pages_start; pg; pg = pg->next) {
if (pg->index == 0 ||
end < pg->records[0].ip ||
@@ -1600,8 +1595,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
break;
}
}
- if (!in_atomic())
- rcu_read_unlock();
+ rcu_read_unlock();
return ip;
}
--
2.25.1
2
1

[openeuler:OLK-6.6 3272/10596] drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4087:21: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 22129ea1b367d0101df8cc4a837b3f773021e556 [3272/10596] iommu/arm-smmu-v3: Add support for less than one ECMDQ per core
config: arm64-randconfig-r131-20240707 (https://download.01.org/0day-ci/archive/20240708/202407080858.aAMctg7p-lkp@…)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407080858.aAMctg7p-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407080858.aAMctg7p-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4084:15: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct arm_smmu_ecmdq *ecmdq @@ got struct arm_smmu_ecmdq [noderef] __percpu * @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4084:15: sparse: expected struct arm_smmu_ecmdq *ecmdq
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4084:15: sparse: got struct arm_smmu_ecmdq [noderef] __percpu *
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4087:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct arm_smmu_ecmdq [noderef] __percpu *ecmdq @@ got struct arm_smmu_ecmdq *ecmdq @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4087:21: sparse: expected struct arm_smmu_ecmdq [noderef] __percpu *ecmdq
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4087:21: sparse: got struct arm_smmu_ecmdq *ecmdq
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4124:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderef] __iomem *base @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4124:45: sparse: expected void const *addr
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:4124:45: sparse: got void [noderef] __iomem *base
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c: note: in included file (through arch/arm64/include/asm/atomic.h, include/linux/atomic.h, include/asm-generic/bitops/atomic.h, ...):
arch/arm64/include/asm/cmpxchg.h:168:1: sparse: sparse: cast truncates bits from constant value (ffffffff80000000 becomes 0)
arch/arm64/include/asm/cmpxchg.h:168:1: sparse: sparse: cast truncates bits from constant value (ffffffff80000000 becomes 0)
vim +4087 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
4077
4078 #ifdef CONFIG_ARM_SMMU_V3_ECMDQ
4079 static int arm_smmu_ecmdq_layout(struct arm_smmu_device *smmu)
4080 {
4081 int cpu, host_cpu;
4082 struct arm_smmu_ecmdq *ecmdq;
4083
> 4084 ecmdq = devm_alloc_percpu(smmu->dev, *ecmdq);
4085 if (!ecmdq)
4086 return -ENOMEM;
> 4087 smmu->ecmdq = ecmdq;
4088
4089 /* A core requires at most one ECMDQ */
4090 if (num_possible_cpus() < smmu->nr_ecmdq)
4091 smmu->nr_ecmdq = num_possible_cpus();
4092
4093 for_each_possible_cpu(cpu) {
4094 if (cpu < smmu->nr_ecmdq) {
4095 *per_cpu_ptr(smmu->ecmdqs, cpu) = per_cpu_ptr(smmu->ecmdq, cpu);
4096 } else {
4097 host_cpu = cpu % smmu->nr_ecmdq;
4098 ecmdq = per_cpu_ptr(smmu->ecmdq, host_cpu);
4099 ecmdq->cmdq.shared = 1;
4100 *per_cpu_ptr(smmu->ecmdqs, cpu) = ecmdq;
4101 }
4102 }
4103
4104 return 0;
4105 }
4106
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 4037/10596] drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:86:33: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 5deaf74c4b3edcf88f67f18aa352690deb9dc212 [4037/10596] drivers: initial support for rnpm drivers from Mucse Technology
config: loongarch-randconfig-r132-20240707 (https://download.01.org/0day-ci/archive/20240708/202407080814.NRFI4Oce-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407080814.NRFI4Oce-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407080814.NRFI4Oce-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:86:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:86:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:86:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:86:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:87:41: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:87:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:87:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:87:41: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:102:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:102:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:102:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c:102:41: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:16:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:16:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:16:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:16:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:17:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:17:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:17:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:17:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:28:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:28:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:28:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:28:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:29:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:29:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:29:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_pcs.c:29:9: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:76:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:76:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:76:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:79:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:79:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:79:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:81:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:81:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:81:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:107:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:107:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:107:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:113:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:113:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:113:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:116:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:116:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:116:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:125:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:125:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:125:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:126:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:126:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:126:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:130:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:130:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:130:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:189:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected char *rpu_base @@ got unsigned char [noderef] [usertype] __iomem *rpu_addr @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:189:23: sparse: expected char *rpu_base
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:189:23: sparse: got unsigned char [noderef] [usertype] __iomem *rpu_addr
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:214:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected char *rpu_base @@ got unsigned char [noderef] [usertype] __iomem *rpu_addr @@
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:214:43: sparse: expected char *rpu_base
drivers/net/ethernet/mucse/rnpm/rnpm_mpe.c:214:43: sparse: got unsigned char [noderef] [usertype] __iomem *rpu_addr
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:446:5: sparse: sparse: symbol 'rnpm_reset_pipeline_n10' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:476:26: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:476:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:476:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:476:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:478:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:478:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:478:20: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:478:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:479:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:479:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:479:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:479:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:481:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:481:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:481:20: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:481:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:483:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:483:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:483:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:483:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:485:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:485:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:485:20: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:485:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:486:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:486:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:486:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:486:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:488:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:488:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:488:20: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:488:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:553:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:553:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:553:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:553:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:555:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:555:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:555:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:555:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:556:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:556:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:556:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:556:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:558:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:558:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:558:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:558:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:561:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:561:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:561:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_n10.c:561:9: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:20:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:20:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:20:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:20:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:29:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:29:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:29:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:29:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:31:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:31:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:31:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c:31:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_tc.c: note: in included file:
>> drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:28:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] ip @@ got restricted __be32 @@
drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:28:44: sparse: expected unsigned int [usertype] ip
drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:28:44: sparse: got restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:42:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] ip @@ got restricted __be32 @@
drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:42:44: sparse: expected unsigned int [usertype] ip
drivers/net/ethernet/mucse/rnpm/rnpm_tc_u32_parse.h:42:44: sparse: got restricted __be32
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:369:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:369:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:369:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:369:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:373:21: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:373:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:373:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:373:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:417:38: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:417:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:417:38: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:417:38: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:437:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:437:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:437:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:437:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:453:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:453:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:453:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:453:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:500:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:500:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:500:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:500:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:504:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:504:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:504:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:504:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:518:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:518:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:518:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:518:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:537:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:537:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:537:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:537:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:542:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:542:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:542:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:542:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:545:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:545:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:545:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:545:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:549:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:549:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:549:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:549:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:551:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:551:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:551:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:551:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:552:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:552:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:552:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:552:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:555:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:555:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:555:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:555:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:568:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:568:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:568:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:568:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:573:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:573:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:573:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:573:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:576:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:576:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:576:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:576:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:580:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:580:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:580:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:580:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:585:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:585:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:585:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:585:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:588:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:588:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:588:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:588:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:589:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:589:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:589:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:589:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:593:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:593:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:593:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:593:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:595:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:595:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:595:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:595:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:599:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:599:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:599:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:599:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:600:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:600:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:600:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:600:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:603:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx.c:603:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:61:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:67:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:67:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:67:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:69:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:69:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:69:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:69:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:70:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:70:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:70:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:70:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:71:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:71:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:71:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:71:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:73:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:73:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:73:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:73:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:75:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:210:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:210:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:210:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:210:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:212:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:212:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:212:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:212:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:361:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:361:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:361:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:361:19: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:362:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:362:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:362:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:362:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:380:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:380:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:380:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:380:27: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:382:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:382:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:382:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:382:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:424:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:424:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:424:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:424:35: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:427:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:427:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:427:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:427:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:643:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:643:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:643:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:643:41: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:645:44: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:645:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:645:44: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:645:44: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:773:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:773:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:773:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:773:21: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:976:5: sparse: sparse: symbol 'rnpm_get_vf_ringnum' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:989:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:989:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:989:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:989:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:996:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:996:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:996:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:996:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c:983:5: sparse: sparse: symbol 'rnpm_setup_ring_maxrate' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c: note: in included file (through include/linux/module.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
drivers/net/ethernet/mucse/rnpm/rnpm_sriov.c: note: in included file (through drivers/net/ethernet/mucse/rnpm/rnpm.h):
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:18:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:18:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:18:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:18:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:24:21: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:24:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:24:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:24:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:56:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:56:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:56:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:56:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:67:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:67:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:67:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:69:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:69:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:69:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:69:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:71:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:71:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:71:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:71:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:76:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:76:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:76:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:76:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:94:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:94:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:94:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:94:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:95:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:95:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:95:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:95:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:97:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:97:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:97:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:97:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:99:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:99:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:99:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:99:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:102:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:102:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:102:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:102:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:125:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:125:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:125:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:125:14: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:127:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:127:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:127:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:127:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:136:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:136:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:136:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:136:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:164:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:164:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:164:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:164:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:172:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:172:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:172:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:172:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:174:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:174:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:174:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:174:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:177:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:177:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:177:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:177:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:179:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:179:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:179:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:179:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:184:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:184:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:184:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:184:23: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:316:5: sparse: sparse: symbol 'rnpm_ptp_setup_ptp' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:681:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:681:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:681:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:681:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:687:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:687:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:687:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:687:27: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:688:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:688:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:688:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:688:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:695:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:695:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:695:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:695:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:697:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:697:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:697:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:697:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:769:13: sparse: sparse: restricted __le16 degrades to integer
>> drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:786:20: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_ptp.c:787:20: sparse: sparse: cast to restricted __be32
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:572:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:572:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:572:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:926:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:926:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:926:9: sparse: void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1039:41: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1039:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1039:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1039:41: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1046:25: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1046:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1046:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1046:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1048:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1048:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1048:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1048:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1050:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1050:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1050:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1050:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1067:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1067:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1067:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1067:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1106:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1106:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1106:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1106:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1139:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1139:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1139:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1139:41: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1149:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1149:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1149:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1149:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1150:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1150:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1150:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1150:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1152:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1152:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1152:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1152:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1154:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1154:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1154:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1154:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1179:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1179:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1179:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1179:16: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1182:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1182:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1182:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1182:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1196:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1196:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1196:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1196:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1200:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1200:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1200:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1200:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1204:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1204:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1204:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1204:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1185:6: sparse: sparse: symbol 'rnpm_setup_layer2_remapping' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: sparse: cast from restricted __be32
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1221:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1227:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1233:26: sparse: sparse: cast from restricted __be16
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1233:22: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1233:22: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1233:22: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1238:26: sparse: sparse: cast from restricted __be16
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1238:26: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1243:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1243:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1243:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1243:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1267:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1267:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1267:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1267:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1272:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1272:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1272:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1272:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1275:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1275:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1275:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1275:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1209:6: sparse: sparse: symbol 'rnpm_setup_tuple5_remapping' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1293:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1293:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1293:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1293:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1297:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1299:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1302:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1302:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1302:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1302:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1303:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1303:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1303:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1303:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1306:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1308:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1311:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1311:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1311:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1311:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1312:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1312:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1312:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1312:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1315:26: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1315:26: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1316:31: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1316:31: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1320:26: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1320:22: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1320:22: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1320:22: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1321:31: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1321:27: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1321:27: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1321:27: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1326:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1326:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1326:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1326:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1327:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1327:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1327:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1327:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1329:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1329:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1329:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1329:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1330:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1330:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1330:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1330:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1360:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1360:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1360:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1360:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1361:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1361:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1361:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1361:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1364:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1364:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1364:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1364:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1366:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1366:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1366:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1366:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1368:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1368:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1368:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1368:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1280:6: sparse: sparse: symbol 'rnpm_setup_tuple5_remapping_tcam' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1404:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1404:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1404:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1404:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1408:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1408:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1408:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1408:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1412:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1412:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1412:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1412:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1414:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1414:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1414:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1414:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1415:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1415:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1415:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1415:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1416:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1416:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1416:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1416:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1417:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1417:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1417:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1417:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1418:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1418:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1418:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1418:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1419:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1419:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1419:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1419:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1420:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1420:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1420:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1420:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1421:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1421:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1421:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1421:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1422:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1422:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1422:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1422:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1424:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1424:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1424:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1424:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1425:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1425:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1425:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1425:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1443:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1443:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1443:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1443:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1445:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1445:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1445:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1445:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1454:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1454:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1454:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1454:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1456:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1456:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1456:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1456:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1471:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1471:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1471:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1471:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1473:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1473:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1473:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1473:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1490:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1490:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1490:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1490:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1492:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1492:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1492:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1492:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1494:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1494:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1494:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:1494:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_lib.c:469:17: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1763:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1763:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1763:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1763:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:224:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:224:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:224:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:224:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:242:39: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.c:242:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:242:39: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:242:39: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:244:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:244:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:244:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:244:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:245:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:245:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:245:39: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:245:39: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:247:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:247:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:247:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:247:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:249:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:249:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:249:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:249:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:250:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:250:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:250:39: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:250:39: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:251:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:251:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:251:39: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:251:39: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:252:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:252:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:252:39: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:252:39: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:253:40: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:253:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:253:40: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:253:40: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:255:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:255:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:255:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:255:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:336:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:336:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:336:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:336:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:337:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:337:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:337:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:337:19: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:374:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:374:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:374:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:374:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:380:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:380:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:380:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:380:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:802:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:802:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:802:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:802:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:809:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:809:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:809:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:809:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:810:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:810:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:810:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:810:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:816:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:816:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:816:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:816:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:818:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:818:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:818:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:818:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:855:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:855:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:855:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:855:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:856:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:856:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:856:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:856:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:859:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:859:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:859:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:859:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:861:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:861:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:861:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:861:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:887:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:887:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:887:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:887:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:891:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:891:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:891:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:891:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:892:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:892:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
--
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1322:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1322:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1322:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1322:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1331:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1331:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1331:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1331:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1332:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1332:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1332:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1332:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1343:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1343:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1343:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1343:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1345:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1345:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1345:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1345:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1409:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1409:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1409:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1409:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1415:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1415:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1415:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1415:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1416:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1416:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1416:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1416:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1441:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1441:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1441:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1441:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1443:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1443:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1443:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1443:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1445:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1445:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1445:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1445:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1447:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1447:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1447:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1447:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1466:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1466:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1466:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1466:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1468:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1468:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1468:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1468:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1515:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1515:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1515:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1515:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1519:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1519:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1519:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1519:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1574:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1574:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1574:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1574:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1577:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1577:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1577:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1577:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1588:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1588:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1588:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1588:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1590:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1590:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1590:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1590:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1871:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1871:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1871:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1871:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1893:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1893:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1893:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1893:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1906:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1906:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1906:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1906:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1932:24: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1932:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1932:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1932:24: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1966:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1966:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1966:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1966:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1968:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] vid @@ got restricted __le16 [usertype] @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1968:13: sparse: expected unsigned short [usertype] vid
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1968:13: sparse: got restricted __le16 [usertype]
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1974:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1974:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1974:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:1974:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2015:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2015:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2015:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2015:16: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2036:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2036:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2036:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2036:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2055:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2055:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2055:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2055:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2057:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2057:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2057:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.c:2057:25: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:29:5: sparse: sparse: symbol 'rnpm_mbx_write_posted_locked' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:70:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:70:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:70:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:70:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:75:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:75:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:75:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:75:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:73:6: sparse: sparse: symbol 'rnpm_link_stat_mark_disable' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:78:5: sparse: sparse: symbol 'rnpm_mbx_fw_post_req' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:138:5: sparse: sparse: symbol 'rnpm_fw_send_cmd_wait' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:210:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:210:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:210:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:210:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:619:5: sparse: sparse: symbol 'rnpm_mbx_lldp_all_ports_enable' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:879:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:879:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:879:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:879:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:883:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:883:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:883:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:883:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:886:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:886:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:886:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:886:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:916:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:916:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:916:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:916:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:919:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:919:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:919:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:919:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:922:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:922:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:922:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:922:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:933:5: sparse: sparse: symbol 'rnpm_mbx_pluginout_evt_en' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:962:5: sparse: sparse: symbol 'rnpm_fw_get_capablity' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1178:5: sparse: sparse: symbol 'rnpm_fw_reg_read' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1205:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1205:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1205:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1205:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1212:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1212:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1212:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1212:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1224:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1224:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1224:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1224:13: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1233:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1233:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1233:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1233:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1477:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1477:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1477:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1477:13: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_mbx_fw.c:1470:5: sparse: sparse: symbol 'rnpm_get_port_stats2' was not declared. Should it be static?
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:39:5: sparse: sparse: symbol 'bar4_reg_val' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:40:5: sparse: sparse: symbol 'bar4_reg_addr' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:41:5: sparse: sparse: symbol 'pcs_phy_num' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:42:5: sparse: sparse: symbol 'pcs_cnt' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:192:31: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:192:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:192:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:192:31: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:222:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:222:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:222:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:222:21: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:224:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:224:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:224:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:224:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:227:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:227:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:227:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:227:25: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:263:5: sparse: sparse: symbol 'rnpm_mbx_get_pn_sn' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:409:60: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:409:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:409:60: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:409:60: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:429:53: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:429:53: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:429:53: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:429:53: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:738:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:738:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:738:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:738:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:742:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:742:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:742:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:742:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:746:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:746:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:746:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:746:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:752:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:752:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:752:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:752:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:756:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:756:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:756:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:756:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:760:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:760:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:760:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:760:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:766:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:766:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:766:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:766:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:770:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:770:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:770:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:770:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:776:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:776:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:776:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:776:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:780:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:780:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:780:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:780:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:784:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:784:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:784:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:784:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:790:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:790:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:790:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:790:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:794:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:794:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:794:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:794:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:800:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:800:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:800:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:800:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:804:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:804:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:804:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:804:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:808:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:808:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:808:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:808:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:812:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:812:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:812:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:812:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:816:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:816:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:816:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:816:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:820:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:820:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:820:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:820:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:824:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:824:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:824:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:824:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:828:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:828:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:828:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:828:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:832:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:832:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:832:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:832:15: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:836:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:836:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:836:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_sysfs.c:836:15: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:187:32: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:187:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:187:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:187:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:1145:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:1145:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:1145:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:1145:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2464:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2464:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2464:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2464:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2504:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2504:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2504:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2504:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2532:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2532:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2532:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2532:31: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2543:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2543:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2543:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2543:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2560:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2560:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2560:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2560:22: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2692:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2692:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2692:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2692:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2944:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2944:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2944:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2944:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2946:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2946:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2946:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:2946:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3002:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3002:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3002:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3002:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3004:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3004:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3004:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3004:29: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_ethtool.c:3246:6: sparse: sparse: symbol 'rnpm_get_phy_statistics' was not declared. Should it be static?
--
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:50:6: sparse: sparse: symbol 'rnpm_port_name' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:256:6: sparse: sparse: symbol 'rnpm_pf_service_event_schedule' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:306:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:306:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:306:9: sparse: void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:351:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:351:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:353:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:353:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:1061:37: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:1074:57: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:1167:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:1167:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:1137:5: sparse: sparse: symbol 'rnpm_rx_ring_reinit' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2215:56: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2215:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2220:56: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2220:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2207:6: sparse: sparse: symbol 'rnpm_write_eitr' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2775:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2775:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2787:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2787:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2902:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2902:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2902:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2994:17: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2994:17: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2994:17: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3033:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3033:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3033:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3033:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3013:5: sparse: sparse: symbol 'rnpm_xmit_nop_frame_ring' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3056:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3056:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3056:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3056:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3037:5: sparse: sparse: symbol 'rnpm_xmit_nop_frame_ring_temp' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3102:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3102:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3102:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3102:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3104:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3104:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3104:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3104:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3106:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3106:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3106:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3106:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3110:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3110:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3110:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3110:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3113:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3113:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3113:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3113:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3120:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3120:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3120:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3120:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3125:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3125:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3125:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3125:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3127:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3127:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3127:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3127:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3172:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3172:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3172:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3172:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3174:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3174:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3174:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3174:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3191:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3191:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3191:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3191:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3205:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3205:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3205:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3205:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3206:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3206:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3206:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3206:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3208:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3208:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3208:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3208:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3211:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3211:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3211:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3211:31: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3214:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3214:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3214:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3214:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3219:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3219:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3219:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3219:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3221:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3221:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3221:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3221:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3241:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3247:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3247:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3247:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3247:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3248:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3248:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3248:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3248:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3249:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3249:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3249:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3249:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3250:9: sparse: got void *
--
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3497:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3497:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3497:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3497:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3502:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3502:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3502:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3502:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3504:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3504:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3504:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3504:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3505:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3524:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3529:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3529:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3529:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3529:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3531:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3531:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3531:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3531:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3533:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3581:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3581:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3581:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3581:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3674:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3674:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3674:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3674:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3756:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3756:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3756:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3756:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3763:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3763:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3763:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3763:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3767:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3767:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3767:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3767:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3883:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3883:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3883:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3883:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3884:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3884:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3884:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3884:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3885:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3885:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3885:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3885:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3918:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3918:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3918:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3918:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3923:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3923:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3923:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3923:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3924:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3924:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3924:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3924:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3928:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3928:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3928:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3928:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3930:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3930:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3930:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3930:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3931:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3931:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3931:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3931:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3909:6: sparse: sparse: symbol 'rnpm_vlan_stags_flag' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3968:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3968:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3968:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3968:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3970:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3970:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3970:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3970:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3976:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3976:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3976:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3976:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3988:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3988:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3988:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3988:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3989:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3989:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3989:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:3989:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4039:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4039:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4039:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4039:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4042:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4046:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4046:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4046:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4046:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4054:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4058:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4058:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4058:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4058:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4066:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4069:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4072:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4072:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4072:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4072:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4076:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4080:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4080:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4080:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4080:33: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4031:6: sparse: sparse: symbol 'control_mac_rx' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4124:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4124:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4124:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4124:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4456:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4456:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4456:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4456:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4513:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4513:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4513:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4513:34: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4522:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4522:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4522:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4522:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4525:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4525:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4525:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4525:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4539:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4539:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4539:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4539:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4546:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4546:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4546:41: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4546:41: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4559:48: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4559:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4559:48: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4559:48: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4817:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4817:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4817:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4917:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4917:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4917:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4956:24: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4956:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4956:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:4956:24: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5139:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5139:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5139:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5215:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5215:9: sparse: void
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5215:9: sparse: void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5299:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5299:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5299:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5299:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5300:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5300:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5300:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5300:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5301:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5301:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5301:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5301:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5302:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5302:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5302:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5302:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5308:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5308:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5308:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5308:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5313:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5313:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5313:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5313:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5318:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5318:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5318:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5318:35: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5319:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5319:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5319:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5319:32: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5322:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5322:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5322:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5322:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5328:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5328:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5328:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5328:43: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5332:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5332:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5332:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5332:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5335:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5335:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5335:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5335:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5338:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5338:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5338:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5338:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5340:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5340:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5340:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5340:43: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5343:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5343:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5343:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5343:43: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5347:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5347:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5347:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5347:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5354:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5354:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5354:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5354:43: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5357:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5357:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5357:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5357:43: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5364:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5364:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5364:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5364:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5366:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5366:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5366:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5366:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5370:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5370:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5370:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5370:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5372:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5372:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5372:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5372:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5377:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5377:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5377:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5377:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5379:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5379:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5379:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5379:23: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5382:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5382:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5382:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5382:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5384:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5384:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5384:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5384:23: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5803:6: sparse: sparse: symbol 'rnpm_pf_service_timer' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5821:6: sparse: sparse: symbol 'rnpm_service_timer' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5846:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5846:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5846:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5846:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5858:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5858:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5858:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5858:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5862:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5862:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5862:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5862:26: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5874:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5874:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5874:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5874:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5878:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5878:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5878:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5878:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5905:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5905:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5905:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5905:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5906:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5906:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5906:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5906:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5910:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5910:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5910:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5910:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5918:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5918:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5918:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5918:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5919:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5919:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5919:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5919:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5920:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5920:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5920:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5920:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5923:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5923:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5923:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5923:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5924:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5924:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5924:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5924:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5925:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5925:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5925:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5925:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5926:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5926:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5926:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5926:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5928:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5928:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5928:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5928:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5929:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5929:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5929:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5929:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5930:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5930:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5930:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5930:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5931:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5931:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5931:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5931:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5933:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5933:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5933:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5933:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5939:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5939:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5939:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5939:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5940:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5940:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5940:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5940:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5947:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5947:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5947:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5947:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5948:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5948:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5948:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5948:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5949:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5949:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5949:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5949:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5950:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5950:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5950:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5950:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5954:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5954:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5954:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5954:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5955:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5955:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5955:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5955:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5962:21: sparse: sparse: symbol 'wait_all_port_resetting' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:5974:21: sparse: sparse: symbol 'clean_all_port_resetting' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6003:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6003:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6003:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6003:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6185:5: sparse: sparse: symbol 'rnpm_check_mc_addr' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6211:6: sparse: sparse: symbol 'update_pf_vlan' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6262:6: sparse: sparse: symbol 'rnpm_pf_service_task' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6436:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] mac_ip_len @@ got long @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6436:27: sparse: expected restricted __le32 [usertype] mac_ip_len
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6436:27: sparse: got long
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6437:27: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6437:27: sparse: left side has type restricted __le32
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6437:27: sparse: right side has type long
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6483:32: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned short [usertype] old @@ got restricted __be16 [usertype] frag_off @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6483:32: sparse: expected unsigned short [usertype] old
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6483:32: sparse: got restricted __be16 [usertype] frag_off
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6485:33: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6485:33: sparse: left side has type restricted __be16
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6485:33: sparse: right side has type int
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6489:58: sparse: sparse: restricted __be16 degrades to integer
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6489:69: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] diff @@ got int @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6489:69: sparse: expected restricted __wsum [usertype] diff
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6489:69: sparse: got int
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6611:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] mac_ip_len @@ got int @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6611:27: sparse: expected restricted __le32 [usertype] mac_ip_len
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6611:27: sparse: got int
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6654:32: sparse: sparse: restricted __le32 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6766:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6766:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6766:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6766:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6842:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] mac_ip_len @@ got int @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6842:27: sparse: expected restricted __le32 [usertype] mac_ip_len
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:6842:27: sparse: got int
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7422:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7422:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7422:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7422:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7425:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7425:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7425:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7425:33: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7437:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7437:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7437:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7437:29: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7445:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7445:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7445:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7445:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7492:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7496:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7535:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7535:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7535:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7535:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7528:6: sparse: sparse: symbol 'rnpm_clear_udp_tunnel_port' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be16 [usertype] vxlan_port @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: got restricted __be16 [usertype] vxlan_port
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7577:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7667:29: sparse: sparse: symbol 'rnpm_netdev_ops' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7692:6: sparse: sparse: symbol 'rnpm_assign_netdev_ops' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7785:6: sparse: sparse: symbol 'rnpm_fix_queue_number' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:7961:36: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8025:36: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8055:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8055:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8055:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8055:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8281:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8281:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8281:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8281:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8451:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8451:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8451:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8451:27: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8452:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8452:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8452:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8452:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_main.c:8760:5: sparse: sparse: symbol 'rnpm_can_rpu_start' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9034:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9034:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9034:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9034:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9035:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9035:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9035:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9035:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9036:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9036:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9036:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9036:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9039:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9039:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9039:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9039:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9040:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9040:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9040:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9040:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9041:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9041:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9041:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9041:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9042:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9042:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9042:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9042:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9044:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9044:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9044:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9044:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9045:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9045:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9045:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9045:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9046:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9046:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9046:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9046:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9047:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9047:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9047:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9047:25: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9049:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9049:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9049:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:9049:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:637:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:637:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:637:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:637:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:575:31: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:598:26: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c: note: in included file (through drivers/net/ethernet/mucse/rnpm/rnpm.h):
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:160:20: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_common.h:166:9: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2660:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnpm/rnpm_main.c:2671:17: sparse: got void *
drivers/net/ethernet/mucse/rnpm/rnpm_main.c: note: in included file (through include/linux/skbuff.h, include/net/net_namespace.h, include/linux/netdevice.h):
include/net/checksum.h:63:59: sparse: sparse: self-comparison always evaluates to false
vim +/__iomem +86 drivers/net/ethernet/mucse/rnpm/rnpm_debugfs.c
47
48 /**
49 * rnpm_dbg_reg_ops_write - write into reg_ops datum
50 * @filp: the opened file
51 * @buffer: where to find the user's data
52 * @count: the length of the user's data
53 * @ppos: file position offset
54 **/
55 static ssize_t rnpm_dbg_reg_ops_write(struct file *filp,
56 const char __user *buffer, size_t count,
57 loff_t *ppos)
58 {
59 struct rnpm_adapter *adapter = filp->private_data;
60 struct rnpm_hw *hw = &adapter->hw;
61 int len;
62
63 /* don't allow partial writes */
64 if (*ppos != 0)
65 return 0;
66 if (count >= sizeof(rnpm_dbg_reg_ops_buf))
67 return -ENOSPC;
68
69 len = simple_write_to_buffer(rnpm_dbg_reg_ops_buf,
70 sizeof(rnpm_dbg_reg_ops_buf) - 1, ppos,
71 buffer, count);
72 if (len < 0)
73 return len;
74
75 rnpm_dbg_reg_ops_buf[len] = '\0';
76
77 if (strncmp(rnpm_dbg_reg_ops_buf, "write", 5) == 0) {
78 u32 reg, value;
79 int cnt;
80
81 cnt = sscanf(&rnpm_dbg_reg_ops_buf[5], "%x %x", ®, &value);
82 if (cnt == 2) {
83 if (reg >= 0x30000000) {
84 rnpm_mbx_reg_write(hw, reg, value);
85 } else {
> 86 rnpm_wr_reg(hw->hw_addr + reg, value);
> 87 value = rnpm_rd_reg(hw->hw_addr + reg);
88 }
89 e_dev_info("write: 0x%08x = 0x%08x\n", reg, value);
90 } else {
91 e_dev_info("write <reg> <value>\n");
92 }
93 } else if (strncmp(rnpm_dbg_reg_ops_buf, "read", 4) == 0) {
94 u32 reg, value;
95 int cnt;
96
97 cnt = sscanf(&rnpm_dbg_reg_ops_buf[4], "%x", ®);
98 if (cnt == 1) {
99 if (reg >= 0x30000000)
100 value = rnpm_mbx_fw_reg_read(hw, reg);
101 else
102 value = rnpm_rd_reg(hw->hw_addr + reg);
103 snprintf(rnpm_dbg_reg_ops_buf,
104 sizeof(rnpm_dbg_reg_ops_buf), "0x%08x: 0x%08x",
105 reg, value);
106 e_dev_info("read 0x%08x = 0x%08x\n", reg, value);
107 } else {
108 e_dev_info("read <reg>\n");
109 }
110 } else {
111 e_dev_info("Unknown command %s\n", rnpm_dbg_reg_ops_buf);
112 e_dev_info("Available commands:\n");
113 e_dev_info(" read <reg>\n");
114 e_dev_info(" write <reg> <value>\n");
115 }
116 return count;
117 }
118
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 3876/10596] drivers/net/ethernet/mucse/rnp/rnp_pcs.c:15:9: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 455d45ae080810ae554f5e586adb9004230f9f70 [3876/10596] drivers: initial support for rnp drivers from Mucse Technology
config: loongarch-randconfig-r132-20240707 (https://download.01.org/0day-ci/archive/20240708/202407080500.X6ek0A6W-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407080500.X6ek0A6W-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407080500.X6ek0A6W-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/mucse/rnp/rnp_pcs.c:15:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_pcs.c:15:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:15:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:15:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:16:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_pcs.c:16:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:16:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:16:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:26:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:26:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:26:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:26:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:27:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:27:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:27:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_pcs.c:27:9: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnp/rnp_param.c:275:33: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_param.c:275:33: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_param.c:275:33: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_param.c:277:33: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_param.c:277:33: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_param.c:277:33: sparse: void *
--
>> drivers/net/ethernet/mucse/rnp/rnp_dcb.c:42:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_dcb.c:42:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:42:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:42:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:46:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:46:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:46:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:46:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:65:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:65:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:65:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:65:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:67:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_dcb.c:67:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:67:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:67:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:72:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:72:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:72:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:72:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:94:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:94:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:94:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_dcb.c:94:25: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_dcb.c:297:29: sparse: sparse: symbol 'rnp_dcbnl_ops' was not declared. Should it be static?
--
>> drivers/net/ethernet/mucse/rnp/rnp_mbx.c:352:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_mbx.c:352:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:352:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:352:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:356:21: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_mbx.c:356:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:356:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:356:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:403:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:403:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:403:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:403:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:422:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:422:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:422:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:422:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:464:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:464:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:464:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:464:26: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:468:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:468:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:468:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:468:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:482:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:482:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:482:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:482:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:493:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:493:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:493:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:493:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:496:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:496:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:496:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:496:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:499:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:499:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:499:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:499:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:502:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:502:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:502:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:502:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:505:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:505:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:505:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:505:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:507:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:507:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:507:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:507:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:511:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:511:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:511:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:511:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:522:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:522:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:522:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:522:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:525:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:525:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:525:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:525:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:528:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:528:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:528:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:528:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:532:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:532:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:532:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:532:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:536:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:536:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:536:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:536:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:539:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:539:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:539:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:539:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:542:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:542:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:542:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:542:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:545:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:545:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:545:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:545:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:547:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:547:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:547:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:547:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:553:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:553:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:553:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:553:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:555:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:555:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:555:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:555:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:558:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:558:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:558:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:558:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:562:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx.c:562:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
--
>> drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:89:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:89:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:89:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:89:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:90:41: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:90:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:90:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:90:41: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:106:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:106:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:106:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_debugfs.c:106:41: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnp/rnp_mpe.c:72:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:72:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:72:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:73:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:73:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:73:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:74:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:74:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:74:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:96:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:96:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:96:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:102:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:102:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:102:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:105:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:105:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:105:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:112:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:112:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:112:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:113:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:113:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:113:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:116:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:116:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:116:9: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_mpe.c:175:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected char *rpu_base @@ got unsigned char [noderef] [usertype] __iomem *rpu_addr @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:175:23: sparse: expected char *rpu_base
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:175:23: sparse: got unsigned char [noderef] [usertype] __iomem *rpu_addr
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:201:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected char *rpu_base @@ got unsigned char [noderef] [usertype] __iomem *rpu_addr @@
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:201:42: sparse: expected char *rpu_base
drivers/net/ethernet/mucse/rnp/rnp_mpe.c:201:42: sparse: got unsigned char [noderef] [usertype] __iomem *rpu_addr
--
drivers/net/ethernet/mucse/rnp/rnp_lib.c:439:5: sparse: sparse: symbol 'rnp_acquire_msix_vectors' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnp/rnp_lib.c:531:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_lib.c:531:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:531:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:531:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:550:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:550:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:550:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:550:33: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_lib.c:596:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_lib.c:596:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_lib.c:596:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:600:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_lib.c:600:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_lib.c:600:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:984:6: sparse: sparse: symbol 'rnp_print_ring_info' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1049:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1049:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1049:9: sparse: void *
>> drivers/net/ethernet/mucse/rnp/rnp_lib.c:1135:61: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1135:61: sparse: left side has type restricted __le32
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1135:61: sparse: right side has type int
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1256:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_lib.c:1256:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1256:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1256:16: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1259:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1259:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1259:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1259:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1303:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1303:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1303:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1303:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1304:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1304:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1304:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1304:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1312:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1312:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1312:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1312:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1313:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1313:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1313:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1313:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1327:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1327:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1327:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1327:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1329:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1329:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1329:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1329:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1346:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1346:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1346:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1346:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1348:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1348:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1348:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1348:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1350:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1350:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1350:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:1350:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:491:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:491:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:491:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:491:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_lib.c:481:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_lib.c:481:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_lib.c:481:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_lib.c:481:17: sparse: got void *
--
>> drivers/net/ethernet/mucse/rnp/rnp_ptp.c:122:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_ptp.c:122:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:122:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:122:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:277:5: sparse: sparse: symbol 'rnp_ptp_setup_ptp' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:608:13: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_ptp.c:608:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:608:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:608:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:614:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:614:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:614:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:614:27: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:615:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:615:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:615:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:615:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:621:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:621:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:621:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:621:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:623:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:623:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:623:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:623:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_ptp.c:676:13: sparse: sparse: restricted __le16 degrades to integer
>> drivers/net/ethernet/mucse/rnp/rnp_ptp.c:693:20: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_ptp.c:694:20: sparse: sparse: cast to restricted __be32
--
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:213:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:213:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:213:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:213:33: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1176:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] h_proto @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1176:45: sparse: expected restricted __be16 [usertype] h_proto
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1176:45: sparse: got int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1192:52: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] psrc @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1192:52: sparse: expected restricted __be16 [usertype] psrc
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1192:52: sparse: got int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1193:52: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1193:52: sparse: expected restricted __be16 [usertype] pdst
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1193:52: sparse: got int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1194:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4src @@ got unsigned int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1194:54: sparse: expected restricted __be32 [usertype] ip4src
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1194:54: sparse: got unsigned int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1195:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1195:54: sparse: expected restricted __be32 [usertype] ip4dst
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1195:54: sparse: got unsigned int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1440:51: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1445:51: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1473:51: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1478:51: sparse: sparse: restricted __be32 degrades to integer
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1483:51: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1488:51: sparse: sparse: restricted __be16 degrades to integer
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1711:55: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] src_port_mask @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1711:55: sparse: expected restricted __be16 [usertype] src_port_mask
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1711:55: sparse: got int
>> drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1713:55: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] dst_port_mask @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1713:55: sparse: expected restricted __be16 [usertype] dst_port_mask
drivers/net/ethernet/mucse/rnp/rnp_ethtool.c:1713:55: sparse: got int
--
>> drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:67:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:67:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:67:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:72:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:72:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:72:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:72:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:189:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:189:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:189:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:189:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:192:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:192:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:192:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:192:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:831:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:831:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:831:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:831:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:835:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:835:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:835:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:835:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:837:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:837:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:837:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:837:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1141:5: sparse: sparse: symbol 'rnp_fw_reg_read' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1178:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1178:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1178:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1178:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1187:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1187:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1187:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1187:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1201:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1201:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1201:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1201:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1212:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1212:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1212:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1212:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_mbx_fw.c:1456:5: sparse: sparse: symbol 'rnp_mbx_lldp_all_ports_enable' was not declared. Should it be static?
--
>> drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:823:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:823:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:823:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:823:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:827:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:827:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:827:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:827:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:831:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:831:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:831:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:831:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:837:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:837:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:837:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:837:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:841:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:841:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:841:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:841:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:847:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:847:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:847:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:847:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:851:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:851:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:851:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:851:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:855:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:855:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:855:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:855:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:861:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:861:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:861:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:861:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:865:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:865:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:865:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:865:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:871:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:871:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:871:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:871:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:875:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:875:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:875:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:875:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:879:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:879:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:879:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:879:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:883:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:883:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:883:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:883:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:887:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:887:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:887:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:887:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:891:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:891:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:891:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:891:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:895:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:895:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:895:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:895:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:918:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:918:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:918:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:918:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:922:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:922:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:922:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:922:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:926:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:926:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:926:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:926:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:931:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:931:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:931:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:931:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:936:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:936:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:936:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:936:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:941:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:941:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:941:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:941:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:946:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:946:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:946:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:946:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:951:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:951:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:951:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:951:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:956:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:956:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
--
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1035:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1035:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1035:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1039:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1039:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1039:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1039:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1043:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1043:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1043:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1043:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1048:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1048:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1048:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1048:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1054:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1054:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1054:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1054:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1058:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1058:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1058:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1058:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1062:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1062:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1062:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1062:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1066:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1066:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1066:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1066:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1070:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1070:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1070:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1070:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1074:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1074:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1074:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1074:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1078:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1078:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1078:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1078:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1082:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1082:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1082:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1082:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1086:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1086:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1086:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1086:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1090:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1090:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1090:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1090:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1094:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1094:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1094:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1094:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1098:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1098:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1098:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1098:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1105:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1105:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1105:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1105:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1109:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1109:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1109:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1109:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1113:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1113:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1113:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1113:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1117:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1117:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1117:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1117:15: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1124:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1124:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1124:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1124:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1128:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1128:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1128:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1128:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1132:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1132:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1132:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1132:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1154:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1154:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1154:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1154:31: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1186:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1186:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1186:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1186:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1188:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1188:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1188:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1188:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1192:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1192:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1192:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1192:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1214:5: sparse: sparse: symbol 'rnp_mbx_get_pn_sn' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1312:60: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1312:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1312:60: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1312:60: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1531:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1531:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1531:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1531:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1533:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1533:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1533:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1533:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1539:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1539:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1539:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1539:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1540:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1540:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1540:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1540:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1926:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1926:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1926:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1926:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1930:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1930:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1930:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1930:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1936:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1936:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1936:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1936:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1938:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1938:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1938:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1938:13: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1943:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1943:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1943:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1943:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1946:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1946:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1946:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sysfs.c:1946:9: sparse: got void *
--
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:305:6: sparse: sparse: symbol 'check_ari_mode' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnp/rnp_sriov.c:724:40: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_sriov.c:724:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:724:40: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:724:40: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:726:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:726:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:726:43: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:726:43: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:898:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:898:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:898:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:898:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1140:5: sparse: sparse: symbol 'rnp_msg_post_status_signle_link' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1290:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1290:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1290:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1290:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1292:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1292:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1292:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_sriov.c:1292:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_sriov.c: note: in included file (through include/linux/module.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:65:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:65:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:65:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:65:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:67:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:67:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:67:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:67:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:69:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:69:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:69:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:69:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:82:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:82:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:82:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:82:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:93:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:93:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:93:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:93:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:95:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:95:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:95:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:95:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:97:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:97:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:97:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:97:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:99:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:99:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:99:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:99:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:151:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:151:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:151:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:151:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:158:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:158:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:158:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:158:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:159:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:159:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:159:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:159:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:165:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:165:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:165:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:165:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:167:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:167:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:167:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:167:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:122:5: sparse: sparse: symbol 'rnp_eth_set_rar_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:195:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:195:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:195:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:195:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:198:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:198:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:198:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:198:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:199:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:199:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:199:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:199:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:179:5: sparse: sparse: symbol 'rnp_eth_clear_rar_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:231:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:231:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:231:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:231:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:233:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:233:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:233:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:233:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:214:5: sparse: sparse: symbol 'rnp_eth_set_vmdq_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:254:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:254:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:254:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:254:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:244:5: sparse: sparse: symbol 'rnp_eth_clear_vmdq_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:328:4: sparse: sparse: symbol 'rnp_addr_list_itr' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:420:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:420:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:420:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:420:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:428:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:428:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:428:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:428:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:429:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:429:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:429:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:429:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:359:5: sparse: sparse: symbol 'rnp_eth_update_mc_addr_list_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:447:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:447:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:447:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:447:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:442:6: sparse: sparse: symbol 'rnp_eth_clr_mc_addr_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:474:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:474:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:474:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:474:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:478:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:478:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:478:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:478:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:457:6: sparse: sparse: symbol 'rnp_eth_update_rss_key_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:497:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:497:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:497:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:497:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:501:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:501:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:501:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:501:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:488:6: sparse: sparse: symbol 'rnp_eth_update_rss_table_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:533:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:533:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:533:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:533:16: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:548:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:548:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:548:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:548:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:513:5: sparse: sparse: symbol 'rnp_eth_set_vfta_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:558:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:558:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:558:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:558:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:553:6: sparse: sparse: symbol 'rnp_eth_clr_vfta_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:570:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:570:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:570:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:570:21: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:576:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:576:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:576:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:576:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:579:5: sparse: sparse: symbol 'rnp_layer2_pritologic_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:592:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:592:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:592:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:592:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:597:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:597:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:597:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:597:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:600:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:600:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:600:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:600:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:604:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:604:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:604:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:604:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:584:6: sparse: sparse: symbol 'rnp_eth_set_layer2_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:615:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:615:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:615:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:615:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:610:6: sparse: sparse: symbol 'rnp_eth_clr_layer2_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:623:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:623:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:623:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:623:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:618:6: sparse: sparse: symbol 'rnp_eth_clr_all_layer2_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:626:5: sparse: sparse: symbol 'rnp_tuple5_pritologic_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:631:5: sparse: sparse: symbol 'rnp_tuple5_pritologic_tcam_n10' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: sparse: cast from restricted __be32
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:667:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:673:25: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:679:34: sparse: sparse: cast from restricted __be16
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:679:30: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnp/rnp_n10.c:679:30: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnp/rnp_n10.c:679:30: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:683:34: sparse: sparse: cast from restricted __be16
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:683:34: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_n10.c:688:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:688:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:688:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:688:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:712:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:712:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:712:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:712:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:718:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:718:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:718:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:718:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:722:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:722:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:722:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:722:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:727:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:727:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:727:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:727:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:743:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:743:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:743:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:743:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:745:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:747:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:750:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:750:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:750:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:750:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:751:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:751:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:751:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:751:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:754:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:756:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:759:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:759:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:759:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:759:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:760:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:760:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:760:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:760:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:763:34: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:763:34: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_n10.c:764:39: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:764:39: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_n10.c:769:34: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:769:30: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnp/rnp_n10.c:769:30: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnp/rnp_n10.c:769:30: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:771:34: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:770:35: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/mucse/rnp/rnp_n10.c:770:35: sparse: left side has type unsigned int
drivers/net/ethernet/mucse/rnp/rnp_n10.c:770:35: sparse: right side has type restricted __be16
drivers/net/ethernet/mucse/rnp/rnp_n10.c:776:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:776:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:776:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:776:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:777:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:777:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:777:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:777:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:780:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:780:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:780:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:780:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:781:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:781:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:781:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:781:25: sparse: got void *
--
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2109:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2109:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2109:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2109:32: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2117:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2117:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2117:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2117:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2120:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2120:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2120:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2120:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2121:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2121:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2121:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2121:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2122:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2122:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2122:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2122:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2123:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2123:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2123:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2123:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2124:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2124:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2124:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2124:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2125:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2125:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2125:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2125:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2126:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2126:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2126:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2126:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2130:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2130:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2130:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2130:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2132:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2132:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2132:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2132:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2133:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2133:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2133:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2133:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2135:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2135:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2135:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2135:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2137:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2137:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2137:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2137:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2139:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2139:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2139:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2139:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2141:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2141:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2141:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2141:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2143:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2143:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2143:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2143:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2145:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2145:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2145:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2145:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2147:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2147:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2147:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2147:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2149:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2149:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2149:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2149:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2151:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2151:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2151:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2151:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2153:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2153:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2153:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2153:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2155:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2155:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2155:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2155:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2158:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2158:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2158:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2158:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2160:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2160:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2160:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2160:23: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_n10.c:2196:24: sparse: sparse: symbol 'rnp10_gstrings_net_stats' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:2805:5: sparse: sparse: symbol 'rnp10_get_link_ksettings' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3003:5: sparse: sparse: symbol 'rnp10_set_link_ksettings' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3246:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3246:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3246:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3246:32: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3249:5: sparse: sparse: symbol 'rnp_nway_reset' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3269:6: sparse: sparse: symbol 'rnp_device_supports_autoneg_fc' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3587:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3587:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3587:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3587:20: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3674:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3674:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3674:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3674:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3679:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3679:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3679:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3679:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3720:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3720:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3720:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3720:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3826:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3826:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3826:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3826:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3827:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3827:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3827:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3827:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3889:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3889:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3889:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3889:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3890:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3890:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3890:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3890:29: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3950:6: sparse: sparse: symbol 'rnp_set_ethtool_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3960:5: sparse: sparse: symbol 'rnp_get_thermal_sensor_data_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3976:5: sparse: sparse: symbol 'rnp_init_thermal_sensor_thresh_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:3990:5: sparse: sparse: symbol 'rnp_phy_read_reg_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4002:5: sparse: sparse: symbol 'rnp_phy_write_reg_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4012:6: sparse: sparse: symbol 'rnp_set_vf_vlan_mode_hw_ops_n10' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4086:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4090:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4090:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4090:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4090:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4099:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4099:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4099:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4099:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4100:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4100:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4100:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4100:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4103:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4107:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4107:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4107:41: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4107:41: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4114:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4114:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4114:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4114:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4118:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4121:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4121:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4121:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4121:33: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4128:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4128:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4128:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4128:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4136:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_n10.c:4136:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
--
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:166:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:166:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:166:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:175:6: sparse: sparse: symbol 'rnp_unmap_and_free_tx_resource' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:202:20: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:202:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:203:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:203:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:602:29: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c:613:64: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c:702:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:702:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:670:5: sparse: sparse: symbol 'rnp_rx_ring_reinit' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:2021:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2021:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2012:6: sparse: sparse: symbol 'rnp_write_eitr_rx' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:2225:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2225:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2236:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2236:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2272:49: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2272:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2293:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2293:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2311:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2311:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2392:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:2392:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:2392:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2426:17: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:2426:17: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:2426:17: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2469:17: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:2469:17: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:2469:17: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2550:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2550:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2550:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2550:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2551:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2551:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2551:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2551:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2591:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2591:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2591:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2591:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2593:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2593:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2593:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2593:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2595:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2595:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2595:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2595:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2599:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2599:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2599:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2599:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2602:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2602:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2602:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2602:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2605:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2605:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2605:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2605:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2612:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2612:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2612:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2612:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2618:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2618:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2618:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2618:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2620:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2620:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2620:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2620:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2659:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2659:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2659:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2659:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2661:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2661:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2661:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2661:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2671:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2671:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2671:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2671:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2685:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2685:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2685:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2685:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2687:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2687:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2687:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2687:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2689:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2689:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2689:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2689:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2693:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2693:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2693:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2693:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2697:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2697:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2697:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2697:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2700:17: sparse: sparse: cast removes address space '__iomem' of expression
--
drivers/net/ethernet/mucse/rnp/rnp_main.c:2728:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2728:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2730:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2730:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2730:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2730:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2752:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2833:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2833:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2833:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2833:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2840:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2840:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2840:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2840:23: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2842:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2842:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2842:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2842:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3146:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3146:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3146:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3146:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3147:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3147:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3147:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3147:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3148:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3148:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3148:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3148:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3176:6: sparse: sparse: symbol 'rnp_vlan_stags_flag' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:3284:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3284:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3284:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3284:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3601:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3601:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3601:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3601:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3580:5: sparse: sparse: symbol 'rnp_xmit_nop_frame_ring' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:3662:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3662:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3662:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3662:32: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3712:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3712:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3712:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3712:42: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3722:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3722:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3722:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3722:32: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3728:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3728:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3728:41: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3728:41: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3738:48: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:3738:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:3738:48: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:3738:48: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3920:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:3920:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:3920:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:3923:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:3923:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:3923:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4017:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:4017:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:4017:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4020:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:4020:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:4020:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4052:24: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:4052:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:4052:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:4052:24: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4237:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:4237:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:4237:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4305:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:4305:9: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:4305:9: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4358:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:4358:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:4358:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:4358:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:4842:6: sparse: sparse: symbol 'rnp_service_timer' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:4950:6: sparse: sparse: symbol 'rnp_service_task' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:5384:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:5384:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:5384:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:5384:17: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:5515:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] priv_tags @@ got int @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:5515:42: sparse: expected restricted __be16 [usertype] priv_tags
drivers/net/ethernet/mucse/rnp/rnp_main.c:5515:42: sparse: got int
drivers/net/ethernet/mucse/rnp/rnp_main.c:5972:5: sparse: sparse: symbol 'rnp_delete_knode' was not declared. Should it be static?
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:6036:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] off @@ got int off @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6036:21: sparse: expected restricted __be32 [usertype] off
drivers/net/ethernet/mucse/rnp/rnp_main.c:6036:21: sparse: got int off
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:6044:29: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c:6061:5: sparse: sparse: symbol 'rnp_config_knode' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6120:5: sparse: sparse: symbol 'rnp_setup_tc_cls_u32' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6197:6: sparse: sparse: symbol 'rnp_do_reset' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6348:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6352:25: sparse: got void *
>> drivers/net/ethernet/mucse/rnp/rnp_main.c:6418:29: sparse: sparse: symbol 'rnp10_netdev_ops' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6452:6: sparse: sparse: symbol 'rnp_assign_netdev_ops' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6609:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6609:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6609:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6609:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6628:5: sparse: sparse: symbol 'rnp_can_rpu_start' was not declared. Should it be static?
drivers/net/ethernet/mucse/rnp/rnp_main.c:6692:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6692:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6692:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6692:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6713:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6713:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6713:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6713:31: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:6737:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:6737:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:6737:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:6737:31: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:7010:17: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnp/rnp_main.c:7010:17: sparse: void
drivers/net/ethernet/mucse/rnp/rnp_main.c:7010:17: sparse: void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:412:31: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c:435:33: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c: note: in included file (through drivers/net/ethernet/mucse/rnp/rnp_tc_u32_parse.h):
>> drivers/net/ethernet/mucse/rnp/rnp.h:1143:13: sparse: sparse: cast from restricted __le16
>> drivers/net/ethernet/mucse/rnp/rnp.h:1143:13: sparse: sparse: restricted __le16 degrades to integer
drivers/net/ethernet/mucse/rnp/rnp_main.c:470:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:470:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:470:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:470:9: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2040:17: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2051:25: sparse: got void *
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/mucse/rnp/rnp_main.c:2055:17: sparse: got void *
vim +/__iomem +15 drivers/net/ethernet/mucse/rnp/rnp_pcs.c
7
8 static u32 rnp_read_pcs(struct rnp_hw *hw, int num, u32 addr)
9 {
10 u32 reg_hi, reg_lo;
11 u32 value;
12
13 reg_hi = addr >> 8;
14 reg_lo = (addr & 0xff) << 2;
> 15 wr32(hw, RNP_PCS_BASE(num) + (0xff << 2), reg_hi);
> 16 value = rd32(hw, RNP_PCS_BASE(num) + reg_lo);
17 return value;
18 }
19
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 3269/10596] drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3942:23: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 86b90dc581ce2fcc6b724b4ffaea6103122a4b68 [3269/10596] iommu/arm-smmu-v3: Add support for ECMDQ register mode
config: arm64-randconfig-r131-20240707 (https://download.01.org/0day-ci/archive/20240708/202407080437.gW9dgdMn-lkp@…)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407080437.gW9dgdMn-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407080437.gW9dgdMn-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3942:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct arm_smmu_ecmdq *ecmdq @@ got struct arm_smmu_ecmdq [noderef] __percpu * @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3942:23: sparse: expected struct arm_smmu_ecmdq *ecmdq
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3942:23: sparse: got struct arm_smmu_ecmdq [noderef] __percpu *
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3947:58: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct arm_smmu_ecmdq * @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3947:58: sparse: expected void const [noderef] __percpu *__vpp_verify
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3947:58: sparse: got struct arm_smmu_ecmdq *
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3973:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderef] __iomem *base @@
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3973:45: sparse: expected void const *addr
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:3973:45: sparse: got void [noderef] __iomem *base
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c: note: in included file (through arch/arm64/include/asm/atomic.h, include/linux/atomic.h, include/asm-generic/bitops/atomic.h, ...):
arch/arm64/include/asm/cmpxchg.h:168:1: sparse: sparse: cast truncates bits from constant value (ffffffff80000000 becomes 0)
arch/arm64/include/asm/cmpxchg.h:168:1: sparse: sparse: cast truncates bits from constant value (ffffffff80000000 becomes 0)
vim +3942 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
3934
3935 #ifdef CONFIG_ARM_SMMU_V3_ECMDQ
3936 static int arm_smmu_ecmdq_layout(struct arm_smmu_device *smmu)
3937 {
3938 int cpu;
3939 struct arm_smmu_ecmdq *ecmdq;
3940
3941 if (num_possible_cpus() <= smmu->nr_ecmdq) {
> 3942 ecmdq = devm_alloc_percpu(smmu->dev, *ecmdq);
3943 if (!ecmdq)
3944 return -ENOMEM;
3945
3946 for_each_possible_cpu(cpu)
3947 *per_cpu_ptr(smmu->ecmdq, cpu) = per_cpu_ptr(ecmdq, cpu);
3948
3949 /* A core requires at most one ECMDQ */
3950 smmu->nr_ecmdq = num_possible_cpus();
3951
3952 return 0;
3953 }
3954
3955 return -ENOSPC;
3956 }
3957
3958 static int arm_smmu_ecmdq_probe(struct arm_smmu_device *smmu)
3959 {
3960 int ret, cpu;
3961 u32 i, nump, numq, gap;
3962 u32 reg, shift_increment;
3963 u64 addr, smmu_dma_base;
3964 void __iomem *cp_regs, *cp_base;
3965
3966 /* IDR6 */
3967 reg = readl_relaxed(smmu->base + ARM_SMMU_IDR6);
3968 nump = 1 << FIELD_GET(IDR6_LOG2NUMP, reg);
3969 numq = 1 << FIELD_GET(IDR6_LOG2NUMQ, reg);
3970 smmu->nr_ecmdq = nump * numq;
3971 gap = ECMDQ_CP_RRESET_SIZE >> FIELD_GET(IDR6_LOG2NUMQ, reg);
3972
> 3973 smmu_dma_base = (vmalloc_to_pfn(smmu->base) << PAGE_SHIFT);
3974 cp_regs = ioremap(smmu_dma_base + ARM_SMMU_ECMDQ_CP_BASE, PAGE_SIZE);
3975 if (!cp_regs)
3976 return -ENOMEM;
3977
3978 for (i = 0; i < nump; i++) {
3979 u64 val, pre_addr;
3980
3981 val = readq_relaxed(cp_regs + 32 * i);
3982 if (!(val & ECMDQ_CP_PRESET)) {
3983 iounmap(cp_regs);
3984 dev_err(smmu->dev, "ecmdq control page %u is memory mode\n", i);
3985 return -EFAULT;
3986 }
3987
3988 if (i && ((val & ECMDQ_CP_ADDR) != (pre_addr + ECMDQ_CP_RRESET_SIZE))) {
3989 iounmap(cp_regs);
3990 dev_err(smmu->dev, "ecmdq_cp memory region is not contiguous\n");
3991 return -EFAULT;
3992 }
3993
3994 pre_addr = val & ECMDQ_CP_ADDR;
3995 }
3996
3997 addr = readl_relaxed(cp_regs) & ECMDQ_CP_ADDR;
3998 iounmap(cp_regs);
3999
4000 cp_base = devm_ioremap(smmu->dev, smmu_dma_base + addr, ECMDQ_CP_RRESET_SIZE * nump);
4001 if (!cp_base)
4002 return -ENOMEM;
4003
4004 smmu->ecmdq = devm_alloc_percpu(smmu->dev, struct arm_smmu_ecmdq *);
4005 if (!smmu->ecmdq)
4006 return -ENOMEM;
4007
4008 ret = arm_smmu_ecmdq_layout(smmu);
4009 if (ret)
4010 return ret;
4011
4012 shift_increment = order_base_2(num_possible_cpus() / smmu->nr_ecmdq);
4013
4014 addr = 0;
4015 for_each_possible_cpu(cpu) {
4016 struct arm_smmu_ecmdq *ecmdq;
4017 struct arm_smmu_queue *q;
4018
4019 ecmdq = *per_cpu_ptr(smmu->ecmdq, cpu);
4020 ecmdq->base = cp_base + addr;
4021
4022 q = &ecmdq->cmdq.q;
4023
4024 q->llq.max_n_shift = ECMDQ_MAX_SZ_SHIFT + shift_increment;
4025 ret = arm_smmu_init_one_queue(smmu, q, ecmdq->base, ARM_SMMU_ECMDQ_PROD,
4026 ARM_SMMU_ECMDQ_CONS, CMDQ_ENT_DWORDS, "ecmdq");
4027 if (ret)
4028 return ret;
4029
4030 q->ecmdq_prod = ECMDQ_PROD_EN;
4031 rwlock_init(&q->ecmdq_lock);
4032
4033 ret = arm_smmu_ecmdq_init(&ecmdq->cmdq);
4034 if (ret) {
4035 dev_err(smmu->dev, "ecmdq[%d] init failed\n", i);
4036 return ret;
4037 }
4038
4039 addr += gap;
4040 }
4041
4042 return 0;
4043 }
4044 #endif
4045
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 3778/10596] drivers/video/fbdev/ls2k500sfb.c:322:49: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot 08 Jul '24
by kernel test robot 08 Jul '24
08 Jul '24
Hi Xianglai,
First bad commit (maybe != root cause):
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
commit: 351aa968603500987e891b20cc97a677602ae7c2 [3778/10596] loongarch/kernel: Fix loongarch compilation error
config: loongarch-randconfig-r132-20240707 (https://download.01.org/0day-ci/archive/20240708/202407080311.6JOR7V5E-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240708/202407080311.6JOR7V5E-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407080311.6JOR7V5E-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/video/fbdev/ls2k500sfb.c:144:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static p @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:144:27: sparse: expected void *static p
drivers/video/fbdev/ls2k500sfb.c:144:27: sparse: got void [noderef] __iomem *
drivers/video/fbdev/ls2k500sfb.c:146:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *static p @@
drivers/video/fbdev/ls2k500sfb.c:146:30: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:146:30: sparse: got void *static p
drivers/video/fbdev/ls2k500sfb.c:201:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static p @@
drivers/video/fbdev/ls2k500sfb.c:201:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:201:36: sparse: got void *static p
drivers/video/fbdev/ls2k500sfb.c:203:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:203:37: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:203:37: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:256:13: sparse: sparse: symbol 'ls2k500sfb_interrupt' was not declared. Should it be static?
drivers/video/fbdev/ls2k500sfb.c:322:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:322:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:322:22: sparse: got void *
>> drivers/video/fbdev/ls2k500sfb.c:322:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:322:49: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:322:49: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:323:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:323:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:323:22: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:323:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:323:53: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:323:53: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:324:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:324:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:324:22: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:324:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:324:53: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:324:53: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:325:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:325:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:325:22: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:325:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:325:51: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:325:51: sparse: got void *
drivers/video/fbdev/ls2k500sfb.c:458:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got char *preg @@
drivers/video/fbdev/ls2k500sfb.c:458:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:458:28: sparse: got char *preg
drivers/video/fbdev/ls2k500sfb.c:459:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got char *preg @@
drivers/video/fbdev/ls2k500sfb.c:459:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:459:32: sparse: got char *preg
drivers/video/fbdev/ls2k500sfb.c:571:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:571:19: sparse: expected char *penv
drivers/video/fbdev/ls2k500sfb.c:571:19: sparse: got void [noderef] __iomem *
drivers/video/fbdev/ls2k500sfb.c:572:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *preg @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:572:19: sparse: expected char *preg
drivers/video/fbdev/ls2k500sfb.c:572:19: sparse: got void [noderef] __iomem *
drivers/video/fbdev/ls2k500sfb.c:674:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:674:14: sparse: expected char *penv
drivers/video/fbdev/ls2k500sfb.c:674:14: sparse: got void [noderef] __iomem *
vim +322 drivers/video/fbdev/ls2k500sfb.c
8248d42b7c5f433 Chong Qiao 2023-12-11 113
4fbeaa84ef36adc Chong Qiao 2023-12-11 114 static unsigned long event_jiffies;
8248d42b7c5f433 Chong Qiao 2023-12-11 115 static void ls2k500sfb_events_fn(struct work_struct *work)
8248d42b7c5f433 Chong Qiao 2023-12-11 116 {
8248d42b7c5f433 Chong Qiao 2023-12-11 117 struct ls2k500sfb_struct *priv = container_of(work, struct ls2k500sfb_struct, work);
8248d42b7c5f433 Chong Qiao 2023-12-11 118 struct pci_dev *pdev = priv->dev;
8248d42b7c5f433 Chong Qiao 2023-12-11 119 struct pci_dev *ppdev = pdev->bus->self;
8248d42b7c5f433 Chong Qiao 2023-12-11 120 uint32_t i, d, timeout, retry = 0;
8248d42b7c5f433 Chong Qiao 2023-12-11 121 static const uint32_t index[] = {
8248d42b7c5f433 Chong Qiao 2023-12-11 122 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x30, 0x3c, 0x54, 0x58, 0x78, 0x7c, 0x80, 4
8248d42b7c5f433 Chong Qiao 2023-12-11 123 };
8248d42b7c5f433 Chong Qiao 2023-12-11 124
8248d42b7c5f433 Chong Qiao 2023-12-11 125 static uint32_t data[sizeof(index) / 4];
8248d42b7c5f433 Chong Qiao 2023-12-11 126 static const uint32_t cindex[] = { 0x10, 0x3c, 4 };
8248d42b7c5f433 Chong Qiao 2023-12-11 127
8248d42b7c5f433 Chong Qiao 2023-12-11 128 static uint32_t cdata[sizeof(cindex) / 4];
8248d42b7c5f433 Chong Qiao 2023-12-11 129 static uint32_t d80c, d71c, ctrl;
8248d42b7c5f433 Chong Qiao 2023-12-11 130 static void *p;
8248d42b7c5f433 Chong Qiao 2023-12-11 131
8248d42b7c5f433 Chong Qiao 2023-12-11 132 if (!priv->running) {
8248d42b7c5f433 Chong Qiao 2023-12-11 133 for (i = 0; i < ARRAY_SIZE(index); i++)
8248d42b7c5f433 Chong Qiao 2023-12-11 134 pci_read_config_dword(ppdev, index[i], &data[i]);
8248d42b7c5f433 Chong Qiao 2023-12-11 135 for (i = 0; i < ARRAY_SIZE(cindex); i++)
8248d42b7c5f433 Chong Qiao 2023-12-11 136 pci_read_config_dword(pdev, cindex[i], &cdata[i]);
8248d42b7c5f433 Chong Qiao 2023-12-11 137 if (ppdev->vendor == 0x14) {
8248d42b7c5f433 Chong Qiao 2023-12-11 138 pci_read_config_dword(ppdev, 0x80c, &d80c);
8248d42b7c5f433 Chong Qiao 2023-12-11 139 d80c = (d80c & ~(3 << 17)) | (1 << 17);
8248d42b7c5f433 Chong Qiao 2023-12-11 140
8248d42b7c5f433 Chong Qiao 2023-12-11 141 pci_read_config_dword(ppdev, 0x71c, &d71c);
8248d42b7c5f433 Chong Qiao 2023-12-11 142 d71c |= 1 << 26;
8248d42b7c5f433 Chong Qiao 2023-12-11 143
8248d42b7c5f433 Chong Qiao 2023-12-11 144 p = pci_iomap(ppdev, 0, 0x100);
8248d42b7c5f433 Chong Qiao 2023-12-11 145 }
8248d42b7c5f433 Chong Qiao 2023-12-11 146 ctrl = readl(p);
8248d42b7c5f433 Chong Qiao 2023-12-11 147 return;
8248d42b7c5f433 Chong Qiao 2023-12-11 148 }
8248d42b7c5f433 Chong Qiao 2023-12-11 149 local_bh_disable();
8248d42b7c5f433 Chong Qiao 2023-12-11 150 pciebreak_smp_send_stop(100);
8248d42b7c5f433 Chong Qiao 2023-12-11 151 wmb(); /* flush all write before we disable pcie window */
8248d42b7c5f433 Chong Qiao 2023-12-11 152 pci_write_config_dword(ppdev, 0x18, 0);
8248d42b7c5f433 Chong Qiao 2023-12-11 153 pci_write_config_dword(ppdev, 0x1c, 0);
8248d42b7c5f433 Chong Qiao 2023-12-11 154 pci_write_config_dword(ppdev, 0x20, 0);
4fbeaa84ef36adc Chong Qiao 2023-12-11 155 event_jiffies = jiffies;
8248d42b7c5f433 Chong Qiao 2023-12-11 156 atomic_set(&waiting_for_pciebreak_ipi, 0);
8248d42b7c5f433 Chong Qiao 2023-12-11 157 wmb(); /* flush all write after change pcie window */
8248d42b7c5f433 Chong Qiao 2023-12-11 158 local_bh_enable();
8248d42b7c5f433 Chong Qiao 2023-12-11 159 if (ppdev->vendor == 0x14) {
8248d42b7c5f433 Chong Qiao 2023-12-11 160 timeout = 10000;
8248d42b7c5f433 Chong Qiao 2023-12-11 161 while (timeout) {
8248d42b7c5f433 Chong Qiao 2023-12-11 162 pci_read_config_dword(ppdev, 0x10, &d);
8248d42b7c5f433 Chong Qiao 2023-12-11 163 d &= ~0xf;
8248d42b7c5f433 Chong Qiao 2023-12-11 164 if (!d)
8248d42b7c5f433 Chong Qiao 2023-12-11 165 break;
8248d42b7c5f433 Chong Qiao 2023-12-11 166 mdelay(1);
8248d42b7c5f433 Chong Qiao 2023-12-11 167 timeout--;
8248d42b7c5f433 Chong Qiao 2023-12-11 168 };
8248d42b7c5f433 Chong Qiao 2023-12-11 169 if (!timeout)
8248d42b7c5f433 Chong Qiao 2023-12-11 170 pr_info("bar not clear 0\n");
8248d42b7c5f433 Chong Qiao 2023-12-11 171
8248d42b7c5f433 Chong Qiao 2023-12-11 172 pci_read_config_dword(ppdev, 0x0, &d);
8248d42b7c5f433 Chong Qiao 2023-12-11 173 pr_info("pcie port deviceid=0x%x recover begin\n", d);
8248d42b7c5f433 Chong Qiao 2023-12-11 174 retrain:
8248d42b7c5f433 Chong Qiao 2023-12-11 175 while (1) {
8248d42b7c5f433 Chong Qiao 2023-12-11 176 pci_write_config_dword(ppdev, index[0], data[0]);
8248d42b7c5f433 Chong Qiao 2023-12-11 177 pci_read_config_dword(ppdev, index[0], &d);
8248d42b7c5f433 Chong Qiao 2023-12-11 178 d &= ~0xf;
8248d42b7c5f433 Chong Qiao 2023-12-11 179 if (d)
8248d42b7c5f433 Chong Qiao 2023-12-11 180 break;
8248d42b7c5f433 Chong Qiao 2023-12-11 181 mdelay(1);
8248d42b7c5f433 Chong Qiao 2023-12-11 182 }
8248d42b7c5f433 Chong Qiao 2023-12-11 183
8248d42b7c5f433 Chong Qiao 2023-12-11 184 while (1) {
8248d42b7c5f433 Chong Qiao 2023-12-11 185 for (i = 0; i < ARRAY_SIZE(index); i++) {
8248d42b7c5f433 Chong Qiao 2023-12-11 186 if (index[i] != 0x18 && index[i] != 0x1c && index[i] != 0x20)
8248d42b7c5f433 Chong Qiao 2023-12-11 187 pci_write_config_dword(ppdev, index[i], data[i]);
8248d42b7c5f433 Chong Qiao 2023-12-11 188 }
8248d42b7c5f433 Chong Qiao 2023-12-11 189 pci_write_config_dword(ppdev, 0x80c, d80c);
8248d42b7c5f433 Chong Qiao 2023-12-11 190 pci_write_config_dword(ppdev, 0x71c, d71c);
8248d42b7c5f433 Chong Qiao 2023-12-11 191
8248d42b7c5f433 Chong Qiao 2023-12-11 192 pci_read_config_dword(ppdev, 0x10, &d);
8248d42b7c5f433 Chong Qiao 2023-12-11 193 d &= ~0xf;
8248d42b7c5f433 Chong Qiao 2023-12-11 194 if (d)
8248d42b7c5f433 Chong Qiao 2023-12-11 195 break;
8248d42b7c5f433 Chong Qiao 2023-12-11 196 mdelay(1);
8248d42b7c5f433 Chong Qiao 2023-12-11 197 }
8248d42b7c5f433 Chong Qiao 2023-12-11 198
8248d42b7c5f433 Chong Qiao 2023-12-11 199 timeout = 10000;
8248d42b7c5f433 Chong Qiao 2023-12-11 200
8248d42b7c5f433 Chong Qiao 2023-12-11 @201 writel(ctrl | 0x8, p);
8248d42b7c5f433 Chong Qiao 2023-12-11 202 while (1) {
8248d42b7c5f433 Chong Qiao 2023-12-11 203 d = readl(p + 0xc);
8248d42b7c5f433 Chong Qiao 2023-12-11 204 if ((d & 0x11) == 0x11) {
8248d42b7c5f433 Chong Qiao 2023-12-11 205 break;
8248d42b7c5f433 Chong Qiao 2023-12-11 206 } else if (!timeout) {
8248d42b7c5f433 Chong Qiao 2023-12-11 207 pr_info("pcie train failed status=0x%x\n", d);
8248d42b7c5f433 Chong Qiao 2023-12-11 208 goto out;
8248d42b7c5f433 Chong Qiao 2023-12-11 209 }
8248d42b7c5f433 Chong Qiao 2023-12-11 210 mdelay(1);
8248d42b7c5f433 Chong Qiao 2023-12-11 211 timeout--;
8248d42b7c5f433 Chong Qiao 2023-12-11 212 }
8248d42b7c5f433 Chong Qiao 2023-12-11 213
8248d42b7c5f433 Chong Qiao 2023-12-11 214
8248d42b7c5f433 Chong Qiao 2023-12-11 215 pr_info("pcie recovered done\n");
8248d42b7c5f433 Chong Qiao 2023-12-11 216
8248d42b7c5f433 Chong Qiao 2023-12-11 217 if (!retry) {
8248d42b7c5f433 Chong Qiao 2023-12-11 218 /*wait u-boot ddr config */
8248d42b7c5f433 Chong Qiao 2023-12-11 219 set_current_state(TASK_UNINTERRUPTIBLE);
8248d42b7c5f433 Chong Qiao 2023-12-11 220 schedule_timeout(HZ*resetbootwait);
8248d42b7c5f433 Chong Qiao 2023-12-11 221 set_current_state(TASK_RUNNING);
8248d42b7c5f433 Chong Qiao 2023-12-11 222 pci_read_config_dword(ppdev, 0x10, &d);
8248d42b7c5f433 Chong Qiao 2023-12-11 223 d &= ~0xf;
8248d42b7c5f433 Chong Qiao 2023-12-11 224 if (!d) {
8248d42b7c5f433 Chong Qiao 2023-12-11 225 retry = 1;
8248d42b7c5f433 Chong Qiao 2023-12-11 226 goto retrain;
8248d42b7c5f433 Chong Qiao 2023-12-11 227 }
8248d42b7c5f433 Chong Qiao 2023-12-11 228 }
8248d42b7c5f433 Chong Qiao 2023-12-11 229 } else {
8248d42b7c5f433 Chong Qiao 2023-12-11 230 set_current_state(TASK_UNINTERRUPTIBLE);
8248d42b7c5f433 Chong Qiao 2023-12-11 231 schedule_timeout(HZ*resetbootwait);
8248d42b7c5f433 Chong Qiao 2023-12-11 232 set_current_state(TASK_RUNNING);
8248d42b7c5f433 Chong Qiao 2023-12-11 233 }
8248d42b7c5f433 Chong Qiao 2023-12-11 234 local_bh_disable();
8248d42b7c5f433 Chong Qiao 2023-12-11 235 pciebreak_smp_send_stop(10000);
8248d42b7c5f433 Chong Qiao 2023-12-11 236 wmb(); /* flush all write before we update pcie window */
8248d42b7c5f433 Chong Qiao 2023-12-11 237 for (i = 0; i < ARRAY_SIZE(index); i++)
8248d42b7c5f433 Chong Qiao 2023-12-11 238 pci_write_config_dword(ppdev, index[i], data[i]);
8248d42b7c5f433 Chong Qiao 2023-12-11 239
8248d42b7c5f433 Chong Qiao 2023-12-11 240 for (i = 0; i < ARRAY_SIZE(cindex); i++)
8248d42b7c5f433 Chong Qiao 2023-12-11 241 pci_write_config_dword(pdev, cindex[i], cdata[i]);
8248d42b7c5f433 Chong Qiao 2023-12-11 242 atomic_set(&waiting_for_pciebreak_ipi, 0);
8248d42b7c5f433 Chong Qiao 2023-12-11 243 wmb(); /* flush all write after we update pcie window */
8248d42b7c5f433 Chong Qiao 2023-12-11 244 local_bh_enable();
8248d42b7c5f433 Chong Qiao 2023-12-11 245
8248d42b7c5f433 Chong Qiao 2023-12-11 246
8248d42b7c5f433 Chong Qiao 2023-12-11 247 pr_info("redraw console\n");
8248d42b7c5f433 Chong Qiao 2023-12-11 248
8248d42b7c5f433 Chong Qiao 2023-12-11 249 saved_console = fg_console;
8248d42b7c5f433 Chong Qiao 2023-12-11 250 switch_console(fg_console > 0?fg_console - 1 : fg_console + 1);
8248d42b7c5f433 Chong Qiao 2023-12-11 251 queue_delayed_work(priv->wq, &priv->redraw_work, HZ);
8248d42b7c5f433 Chong Qiao 2023-12-11 252 out:
8248d42b7c5f433 Chong Qiao 2023-12-11 253 priv->running = 0;
8248d42b7c5f433 Chong Qiao 2023-12-11 254 }
8248d42b7c5f433 Chong Qiao 2023-12-11 255
8248d42b7c5f433 Chong Qiao 2023-12-11 256 irqreturn_t ls2k500sfb_interrupt(int irq, void *arg)
8248d42b7c5f433 Chong Qiao 2023-12-11 257 {
8248d42b7c5f433 Chong Qiao 2023-12-11 258 struct ls2k500sfb_struct *priv = arg;
8248d42b7c5f433 Chong Qiao 2023-12-11 259 struct pci_dev *pdev = priv->dev;
8248d42b7c5f433 Chong Qiao 2023-12-11 260
8248d42b7c5f433 Chong Qiao 2023-12-11 261 if (irq == pdev->irq)
8248d42b7c5f433 Chong Qiao 2023-12-11 262 pr_info("ls2k500sfb pcie interrupt\n");
8248d42b7c5f433 Chong Qiao 2023-12-11 263 else
8248d42b7c5f433 Chong Qiao 2023-12-11 264 pr_info("ls2k500sfb gpio interrupt\n");
8248d42b7c5f433 Chong Qiao 2023-12-11 265 if (system_state != SYSTEM_RUNNING)
8248d42b7c5f433 Chong Qiao 2023-12-11 266 return IRQ_HANDLED;
8248d42b7c5f433 Chong Qiao 2023-12-11 267
8248d42b7c5f433 Chong Qiao 2023-12-11 268 if (!priv->running) {
8248d42b7c5f433 Chong Qiao 2023-12-11 269 if (!resetdelay || time_after(jiffies, priv->reset_time + resetdelay * HZ)) {
8248d42b7c5f433 Chong Qiao 2023-12-11 270 priv->running = 1;
8248d42b7c5f433 Chong Qiao 2023-12-11 271 queue_work(priv->wq, &priv->work);
8248d42b7c5f433 Chong Qiao 2023-12-11 272 }
8248d42b7c5f433 Chong Qiao 2023-12-11 273 priv->reset_time = jiffies;
8248d42b7c5f433 Chong Qiao 2023-12-11 274 }
8248d42b7c5f433 Chong Qiao 2023-12-11 275 return IRQ_HANDLED;
8248d42b7c5f433 Chong Qiao 2023-12-11 276 }
8248d42b7c5f433 Chong Qiao 2023-12-11 277
8248d42b7c5f433 Chong Qiao 2023-12-11 278 #ifdef CONFIG_LOONGARCH
8248d42b7c5f433 Chong Qiao 2023-12-11 279 #define GPIO_OEN ((void *)IO_BASE+0x1fe00000+0x500)
8248d42b7c5f433 Chong Qiao 2023-12-11 280 #define GPIO_FUNCEN ((void *)IO_BASE+0x1fe00000+0x504)
8248d42b7c5f433 Chong Qiao 2023-12-11 281 #define GPIO_OUT ((void *)IO_BASE+0x1fe00000+0x508)
8248d42b7c5f433 Chong Qiao 2023-12-11 282 #define GPIO_IN ((void *)IO_BASE+0x1fe00000+0x50c)
8248d42b7c5f433 Chong Qiao 2023-12-11 283 #define GPIO_INTPOL ((void *)IO_BASE+0x1fe00000+0x510)
8248d42b7c5f433 Chong Qiao 2023-12-11 284 #define GPIO_INTEN ((void *)IO_BASE+0x1fe00000+0x514)
8248d42b7c5f433 Chong Qiao 2023-12-11 285
8248d42b7c5f433 Chong Qiao 2023-12-11 286 static int gpiochip_match_name(struct gpio_chip *chip, void *data)
8248d42b7c5f433 Chong Qiao 2023-12-11 287 {
8248d42b7c5f433 Chong Qiao 2023-12-11 288 const char *name = data;
8248d42b7c5f433 Chong Qiao 2023-12-11 289
8248d42b7c5f433 Chong Qiao 2023-12-11 290 return !strcmp(chip->label, name);
8248d42b7c5f433 Chong Qiao 2023-12-11 291 }
8248d42b7c5f433 Chong Qiao 2023-12-11 292 static int get_gpio_irq_from_acpi_table(int gpio)
8248d42b7c5f433 Chong Qiao 2023-12-11 293 {
8248d42b7c5f433 Chong Qiao 2023-12-11 294 struct gpio_chip *chip;
8248d42b7c5f433 Chong Qiao 2023-12-11 295 struct gpio_desc *desc;
8248d42b7c5f433 Chong Qiao 2023-12-11 296
8248d42b7c5f433 Chong Qiao 2023-12-11 297 chip = gpiochip_find("LOON0007:00", gpiochip_match_name);
8248d42b7c5f433 Chong Qiao 2023-12-11 298 if (!chip)
8248d42b7c5f433 Chong Qiao 2023-12-11 299 return -ENOENT;
8248d42b7c5f433 Chong Qiao 2023-12-11 300 desc = gpiochip_request_own_desc(chip, gpio, "reboot", GPIO_LOOKUP_FLAGS_DEFAULT, GPIOD_IN);
8248d42b7c5f433 Chong Qiao 2023-12-11 301 if (!desc)
8248d42b7c5f433 Chong Qiao 2023-12-11 302 return -ENOENT;
8248d42b7c5f433 Chong Qiao 2023-12-11 303 return gpiod_to_irq(desc);
8248d42b7c5f433 Chong Qiao 2023-12-11 304 }
8248d42b7c5f433 Chong Qiao 2023-12-11 305
8248d42b7c5f433 Chong Qiao 2023-12-11 306 static int get_gpio_irq_from_acpi_gsi(int gpio)
8248d42b7c5f433 Chong Qiao 2023-12-11 307 {
8248d42b7c5f433 Chong Qiao 2023-12-11 308 int gsi = 16 + (gpio & 7);
8248d42b7c5f433 Chong Qiao 2023-12-11 309
8248d42b7c5f433 Chong Qiao 2023-12-11 310 return acpi_register_gsi(NULL, gsi, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW);
8248d42b7c5f433 Chong Qiao 2023-12-11 311 }
8248d42b7c5f433 Chong Qiao 2023-12-11 312
8248d42b7c5f433 Chong Qiao 2023-12-11 313 static int register_gpio_reboot_handler(struct ls2k500sfb_struct *priv)
8248d42b7c5f433 Chong Qiao 2023-12-11 314 {
8248d42b7c5f433 Chong Qiao 2023-12-11 315 int irq = get_gpio_irq_from_acpi_table(GPIO);
8248d42b7c5f433 Chong Qiao 2023-12-11 316
8248d42b7c5f433 Chong Qiao 2023-12-11 317 if (irq < 0) {
8248d42b7c5f433 Chong Qiao 2023-12-11 318 irq = get_gpio_irq_from_acpi_gsi(GPIO);
8248d42b7c5f433 Chong Qiao 2023-12-11 319 pr_notice("gsi gpio irq %d\n", irq);
8248d42b7c5f433 Chong Qiao 2023-12-11 320 } else
8248d42b7c5f433 Chong Qiao 2023-12-11 321 pr_notice("acpi gpio irq %d\n", irq);
8248d42b7c5f433 Chong Qiao 2023-12-11 @322 writel(readl(GPIO_OEN) | (0x1 << GPIO), GPIO_OEN);
8248d42b7c5f433 Chong Qiao 2023-12-11 323 writel(readl(GPIO_FUNCEN) & ~(0x1 << GPIO), GPIO_FUNCEN);
8248d42b7c5f433 Chong Qiao 2023-12-11 324 writel(readl(GPIO_INTPOL) & ~(0x1 << GPIO), GPIO_INTPOL);
8248d42b7c5f433 Chong Qiao 2023-12-11 325 writel(readl(GPIO_INTEN) | (0x1 << GPIO), GPIO_INTEN);
8248d42b7c5f433 Chong Qiao 2023-12-11 326 if (request_irq(irq, ls2k500sfb_interrupt, IRQF_SHARED | IRQF_TRIGGER_FALLING,
8248d42b7c5f433 Chong Qiao 2023-12-11 327 "ls2k500sfb", priv))
8248d42b7c5f433 Chong Qiao 2023-12-11 328 pr_err("request_irq(%d) failed\n", irq);
8248d42b7c5f433 Chong Qiao 2023-12-11 329 return 0;
8248d42b7c5f433 Chong Qiao 2023-12-11 330 }
8248d42b7c5f433 Chong Qiao 2023-12-11 331 #endif
8248d42b7c5f433 Chong Qiao 2023-12-11 332
:::::: The code at line 322 was first introduced by commit
:::::: 8248d42b7c5f4338a54f26d8efebec8614b43466 fbdev: add ls2k500sfb driver for ls2k500 bmc.
:::::: TO: Chong Qiao <qiaochong(a)loongson.cn>
:::::: CC: Hongchen Zhang <zhanghongchen(a)loongson.cn>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6] BUILD SUCCESS 3b421b6002e287e38790cbdad4a3e08baf7e1bc4
by kernel test robot 07 Jul '24
by kernel test robot 07 Jul '24
07 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 3b421b6002e287e38790cbdad4a3e08baf7e1bc4 !9770 Add a switch to enable hungtask check for io
Warning ids grouped by kconfigs:
recent_errors
`-- arm64-allmodconfig
`-- clang:warning:no-such-include-directory:drivers-infiniband-hw-hiroce3-include-mag
elapsed time: 723m
configs tested: 38
configs skipped: 123
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240706 gcc-13.2.0
arm64 randconfig-002-20240706 gcc-13.2.0
arm64 randconfig-003-20240706 clang-16
arm64 randconfig-004-20240706 clang-19
loongarch allmodconfig gcc-13.2.0
loongarch allnoconfig gcc-13.2.0
loongarch randconfig-001-20240706 gcc-13.2.0
loongarch randconfig-002-20240706 gcc-13.2.0
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240706 clang-18
x86_64 buildonly-randconfig-002-20240706 clang-18
x86_64 buildonly-randconfig-003-20240706 clang-18
x86_64 buildonly-randconfig-004-20240706 clang-18
x86_64 buildonly-randconfig-005-20240706 gcc-13
x86_64 buildonly-randconfig-006-20240706 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240706 gcc-9
x86_64 randconfig-002-20240706 clang-18
x86_64 randconfig-003-20240706 clang-18
x86_64 randconfig-004-20240706 clang-18
x86_64 randconfig-005-20240706 clang-18
x86_64 randconfig-006-20240706 clang-18
x86_64 randconfig-011-20240706 gcc-12
x86_64 randconfig-012-20240706 gcc-12
x86_64 randconfig-013-20240706 clang-18
x86_64 randconfig-014-20240706 gcc-13
x86_64 randconfig-015-20240706 gcc-13
x86_64 randconfig-016-20240706 gcc-13
x86_64 randconfig-071-20240706 gcc-12
x86_64 randconfig-072-20240706 gcc-13
x86_64 randconfig-073-20240706 gcc-12
x86_64 randconfig-074-20240706 gcc-13
x86_64 randconfig-075-20240706 clang-18
x86_64 randconfig-076-20240706 gcc-13
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD SUCCESS 1cc61a82256cf82a5f06287eb7c64d9b94f43786
by kernel test robot 07 Jul '24
by kernel test robot 07 Jul '24
07 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 1cc61a82256cf82a5f06287eb7c64d9b94f43786 !9792 v3 net: fix one NULL pointer dereference bug in net_rship module
Warning ids grouped by kconfigs:
recent_errors
`-- x86_64-allnoconfig
`-- drivers-arm-spe-spe.c:linux-perf-arm_pmu.h-is-included-more-than-once.
elapsed time: 727m
configs tested: 34
configs skipped: 126
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240706 gcc-13.2.0
arm64 randconfig-002-20240706 gcc-13.2.0
arm64 randconfig-003-20240706 clang-16
arm64 randconfig-004-20240706 clang-19
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240706 clang-18
x86_64 buildonly-randconfig-002-20240706 clang-18
x86_64 buildonly-randconfig-003-20240706 clang-18
x86_64 buildonly-randconfig-004-20240706 clang-18
x86_64 buildonly-randconfig-005-20240706 gcc-13
x86_64 buildonly-randconfig-006-20240706 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240706 gcc-9
x86_64 randconfig-002-20240706 clang-18
x86_64 randconfig-003-20240706 clang-18
x86_64 randconfig-004-20240706 clang-18
x86_64 randconfig-005-20240706 clang-18
x86_64 randconfig-006-20240706 clang-18
x86_64 randconfig-011-20240706 gcc-12
x86_64 randconfig-012-20240706 gcc-12
x86_64 randconfig-013-20240706 clang-18
x86_64 randconfig-014-20240706 gcc-13
x86_64 randconfig-015-20240706 gcc-13
x86_64 randconfig-016-20240706 gcc-13
x86_64 randconfig-071-20240706 gcc-12
x86_64 randconfig-072-20240706 gcc-13
x86_64 randconfig-073-20240706 gcc-12
x86_64 randconfig-074-20240706 gcc-13
x86_64 randconfig-075-20240706 clang-18
x86_64 randconfig-076-20240706 gcc-13
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD SUCCESS d127ee13b4d5627947830da5f044541d1144dc44
by kernel test robot 07 Jul '24
by kernel test robot 07 Jul '24
07 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: d127ee13b4d5627947830da5f044541d1144dc44 !9797 sch_cake: do not call cake_destroy() from cake_init()
elapsed time: 726m
configs tested: 34
configs skipped: 127
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig gcc-13.2.0
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240706 gcc-13.2.0
arm64 randconfig-002-20240706 gcc-13.2.0
arm64 randconfig-003-20240706 gcc-13.2.0
arm64 randconfig-004-20240706 gcc-13.2.0
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240706 clang-18
x86_64 buildonly-randconfig-002-20240706 clang-18
x86_64 buildonly-randconfig-003-20240706 clang-18
x86_64 buildonly-randconfig-004-20240706 clang-18
x86_64 buildonly-randconfig-005-20240706 gcc-13
x86_64 buildonly-randconfig-006-20240706 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240706 gcc-9
x86_64 randconfig-002-20240706 clang-18
x86_64 randconfig-003-20240706 clang-18
x86_64 randconfig-004-20240706 clang-18
x86_64 randconfig-005-20240706 clang-18
x86_64 randconfig-006-20240706 clang-18
x86_64 randconfig-011-20240706 gcc-12
x86_64 randconfig-012-20240706 gcc-12
x86_64 randconfig-013-20240706 clang-18
x86_64 randconfig-014-20240706 gcc-13
x86_64 randconfig-015-20240706 gcc-13
x86_64 randconfig-016-20240706 gcc-13
x86_64 randconfig-071-20240706 gcc-12
x86_64 randconfig-072-20240706 gcc-13
x86_64 randconfig-073-20240706 gcc-12
x86_64 randconfig-074-20240706 gcc-13
x86_64 randconfig-075-20240706 clang-18
x86_64 randconfig-076-20240706 gcc-13
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH openEuler-22.03-LTS-SP1] null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
by Li Nan 06 Jul '24
by Li Nan 06 Jul '24
06 Jul '24
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.10-rc1
commit a2db328b0839312c169eb42746ec46fc1ab53ed2
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7D6H
CVE: CVE-2024-36478
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Writing 'power' and 'submit_queues' concurrently will trigger kernel
panic:
Test script:
modprobe null_blk nr_devices=0
mkdir -p /sys/kernel/config/nullb/nullb0
while true; do echo 1 > submit_queues; echo 4 > submit_queues; done &
while true; do echo 1 > power; echo 0 > power; done
Test result:
BUG: kernel NULL pointer dereference, address: 0000000000000148
Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:__lock_acquire+0x41d/0x28f0
Call Trace:
<TASK>
lock_acquire+0x121/0x450
down_write+0x5f/0x1d0
simple_recursive_removal+0x12f/0x5c0
blk_mq_debugfs_unregister_hctxs+0x7c/0x100
blk_mq_update_nr_hw_queues+0x4a3/0x720
nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]
nullb_device_submit_queues_store+0x79/0xf0 [null_blk]
configfs_write_iter+0x119/0x1e0
vfs_write+0x326/0x730
ksys_write+0x74/0x150
This is because del_gendisk() can concurrent with
blk_mq_update_nr_hw_queues():
nullb_device_power_store nullb_apply_submit_queues
null_del_dev
del_gendisk
nullb_update_nr_hw_queues
if (!dev->nullb)
// still set while gendisk is deleted
return 0
blk_mq_update_nr_hw_queues
dev->nullb = NULL
Fix this problem by resuing the global mutex to protect
nullb_device_power_store() and nullb_update_nr_hw_queues() from configfs.
Fixes: 45919fbfe1c4 ("null_blk: Enable modifying 'submit_queues' after an instance has been configured")
Reported-and-tested-by: Yi Zhang <yi.zhang(a)redhat.com>
Closes: https://lore.kernel.org/all/CAHj4cs9LgsHLnjg8z06LQ3Pr5cax-+Ps+xT7AP7TPnEjSt…
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu(a)linux.dev>
Link: https://lore.kernel.org/r/20240523153934.1937851-1-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Conflicts:
drivers/block/null_blk/main.c
[ A lot of conflict, this patch just expand the protection range of
mutex, ignore conflict. ]
Signed-off-by: Li Nan <linan122(a)huawei.com>
---
drivers/block/null_blk/main.c | 43 +++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c
index 35b390a785dd..91c8412442d0 100644
--- a/drivers/block/null_blk/main.c
+++ b/drivers/block/null_blk/main.c
@@ -323,11 +323,9 @@ CONFIGFS_ATTR(nullb_device_, NAME);
static int nullb_apply_submit_queues(struct nullb_device *dev,
unsigned int submit_queues)
{
- struct nullb *nullb = dev->nullb;
+ struct nullb *nullb;
struct blk_mq_tag_set *set;
-
- if (!nullb)
- return 0;
+ int ret = 0;
/*
* Make sure that null_init_hctx() does not access nullb->queues[] past
@@ -335,9 +333,20 @@ static int nullb_apply_submit_queues(struct nullb_device *dev,
*/
if (submit_queues > nr_cpu_ids)
return -EINVAL;
+
+ mutex_lock(&lock);
+
+ nullb = dev->nullb;
+ if (!nullb)
+ goto out;
+
set = nullb->tag_set;
blk_mq_update_nr_hw_queues(set, submit_queues);
- return set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+ ret = set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+
+out:
+ mutex_unlock(&lock);
+ return ret;
}
NULLB_DEVICE_ATTR(size, ulong, NULL);
@@ -378,27 +387,31 @@ static ssize_t nullb_device_power_store(struct config_item *item,
if (ret < 0)
return ret;
+ ret = count;
+ mutex_lock(&lock);
if (!dev->power && newp) {
if (test_and_set_bit(NULLB_DEV_FL_UP, &dev->flags))
- return count;
+ goto out;
+
if (null_add_dev(dev)) {
clear_bit(NULLB_DEV_FL_UP, &dev->flags);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
set_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
dev->power = newp;
} else if (dev->power && !newp) {
if (test_and_clear_bit(NULLB_DEV_FL_UP, &dev->flags)) {
- mutex_lock(&lock);
dev->power = newp;
null_del_dev(dev->nullb);
- mutex_unlock(&lock);
}
clear_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
}
- return count;
+out:
+ mutex_unlock(&lock);
+ return ret;
}
CONFIGFS_ATTR(nullb_device_, power);
@@ -1880,15 +1893,11 @@ static int null_add_dev(struct nullb_device *dev)
blk_queue_flag_set(QUEUE_FLAG_NONROT, nullb->q);
blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q);
- mutex_lock(&lock);
rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
- if (rv < 0) {
- mutex_unlock(&lock);
+ if (rv < 0)
goto out_cleanup_zone;
- }
nullb->index = rv;
dev->index = rv;
- mutex_unlock(&lock);
blk_queue_logical_block_size(nullb->q, dev->blocksize);
blk_queue_physical_block_size(nullb->q, dev->blocksize);
@@ -1901,9 +1910,7 @@ static int null_add_dev(struct nullb_device *dev)
if (rv)
goto out_ida_free;
- mutex_lock(&lock);
list_add_tail(&nullb->list, &nullb_list);
- mutex_unlock(&lock);
return 0;
@@ -1985,7 +1992,9 @@ static int __init null_init(void)
ret = -ENOMEM;
goto err_dev;
}
+ mutex_lock(&lock);
ret = null_add_dev(dev);
+ mutex_unlock(&lock);
if (ret) {
null_free_dev(dev);
goto err_dev;
--
2.39.2
2
1

[PATCH OLK-5.10] null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
by Li Nan 06 Jul '24
by Li Nan 06 Jul '24
06 Jul '24
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.10-rc1
commit a2db328b0839312c169eb42746ec46fc1ab53ed2
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7D6H
CVE: CVE-2024-36478
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Writing 'power' and 'submit_queues' concurrently will trigger kernel
panic:
Test script:
modprobe null_blk nr_devices=0
mkdir -p /sys/kernel/config/nullb/nullb0
while true; do echo 1 > submit_queues; echo 4 > submit_queues; done &
while true; do echo 1 > power; echo 0 > power; done
Test result:
BUG: kernel NULL pointer dereference, address: 0000000000000148
Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:__lock_acquire+0x41d/0x28f0
Call Trace:
<TASK>
lock_acquire+0x121/0x450
down_write+0x5f/0x1d0
simple_recursive_removal+0x12f/0x5c0
blk_mq_debugfs_unregister_hctxs+0x7c/0x100
blk_mq_update_nr_hw_queues+0x4a3/0x720
nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]
nullb_device_submit_queues_store+0x79/0xf0 [null_blk]
configfs_write_iter+0x119/0x1e0
vfs_write+0x326/0x730
ksys_write+0x74/0x150
This is because del_gendisk() can concurrent with
blk_mq_update_nr_hw_queues():
nullb_device_power_store nullb_apply_submit_queues
null_del_dev
del_gendisk
nullb_update_nr_hw_queues
if (!dev->nullb)
// still set while gendisk is deleted
return 0
blk_mq_update_nr_hw_queues
dev->nullb = NULL
Fix this problem by resuing the global mutex to protect
nullb_device_power_store() and nullb_update_nr_hw_queues() from configfs.
Fixes: 45919fbfe1c4 ("null_blk: Enable modifying 'submit_queues' after an instance has been configured")
Reported-and-tested-by: Yi Zhang <yi.zhang(a)redhat.com>
Closes: https://lore.kernel.org/all/CAHj4cs9LgsHLnjg8z06LQ3Pr5cax-+Ps+xT7AP7TPnEjSt…
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu(a)linux.dev>
Link: https://lore.kernel.org/r/20240523153934.1937851-1-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
Conflicts:
drivers/block/null_blk/main.c
[ A lot of conflict, this patch just expand the protection range of
mutex, ignore conflict. ]
Signed-off-by: Li Nan <linan122(a)huawei.com>
---
drivers/block/null_blk/main.c | 43 +++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c
index 35b390a785dd..91c8412442d0 100644
--- a/drivers/block/null_blk/main.c
+++ b/drivers/block/null_blk/main.c
@@ -323,11 +323,9 @@ CONFIGFS_ATTR(nullb_device_, NAME);
static int nullb_apply_submit_queues(struct nullb_device *dev,
unsigned int submit_queues)
{
- struct nullb *nullb = dev->nullb;
+ struct nullb *nullb;
struct blk_mq_tag_set *set;
-
- if (!nullb)
- return 0;
+ int ret = 0;
/*
* Make sure that null_init_hctx() does not access nullb->queues[] past
@@ -335,9 +333,20 @@ static int nullb_apply_submit_queues(struct nullb_device *dev,
*/
if (submit_queues > nr_cpu_ids)
return -EINVAL;
+
+ mutex_lock(&lock);
+
+ nullb = dev->nullb;
+ if (!nullb)
+ goto out;
+
set = nullb->tag_set;
blk_mq_update_nr_hw_queues(set, submit_queues);
- return set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+ ret = set->nr_hw_queues == submit_queues ? 0 : -ENOMEM;
+
+out:
+ mutex_unlock(&lock);
+ return ret;
}
NULLB_DEVICE_ATTR(size, ulong, NULL);
@@ -378,27 +387,31 @@ static ssize_t nullb_device_power_store(struct config_item *item,
if (ret < 0)
return ret;
+ ret = count;
+ mutex_lock(&lock);
if (!dev->power && newp) {
if (test_and_set_bit(NULLB_DEV_FL_UP, &dev->flags))
- return count;
+ goto out;
+
if (null_add_dev(dev)) {
clear_bit(NULLB_DEV_FL_UP, &dev->flags);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
set_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
dev->power = newp;
} else if (dev->power && !newp) {
if (test_and_clear_bit(NULLB_DEV_FL_UP, &dev->flags)) {
- mutex_lock(&lock);
dev->power = newp;
null_del_dev(dev->nullb);
- mutex_unlock(&lock);
}
clear_bit(NULLB_DEV_FL_CONFIGURED, &dev->flags);
}
- return count;
+out:
+ mutex_unlock(&lock);
+ return ret;
}
CONFIGFS_ATTR(nullb_device_, power);
@@ -1880,15 +1893,11 @@ static int null_add_dev(struct nullb_device *dev)
blk_queue_flag_set(QUEUE_FLAG_NONROT, nullb->q);
blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q);
- mutex_lock(&lock);
rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
- if (rv < 0) {
- mutex_unlock(&lock);
+ if (rv < 0)
goto out_cleanup_zone;
- }
nullb->index = rv;
dev->index = rv;
- mutex_unlock(&lock);
blk_queue_logical_block_size(nullb->q, dev->blocksize);
blk_queue_physical_block_size(nullb->q, dev->blocksize);
@@ -1901,9 +1910,7 @@ static int null_add_dev(struct nullb_device *dev)
if (rv)
goto out_ida_free;
- mutex_lock(&lock);
list_add_tail(&nullb->list, &nullb_list);
- mutex_unlock(&lock);
return 0;
@@ -1985,7 +1992,9 @@ static int __init null_init(void)
ret = -ENOMEM;
goto err_dev;
}
+ mutex_lock(&lock);
ret = null_add_dev(dev);
+ mutex_unlock(&lock);
if (ret) {
null_free_dev(dev);
goto err_dev;
--
2.39.2
2
1

[PATCH openEuler-1.0-LTS] ftrace: Use preempt disable instead of rcu lock in ftrace_location_range()
by Zheng Yejian 06 Jul '24
by Zheng Yejian 06 Jul '24
06 Jul '24
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAA3U5
CVE: NA
--------------------------------
After commit 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()"),
syzkaller reports following warning:
WARNING: lock held when returning to user space!
4.18.0+ #16 Tainted: G W ---------r- -
------------------------------------------------
modprobe/4255 is leaving the kernel with locks still held!
1 lock held by modprobe/4255:
#0: 0000000012ba3568 (rcu_read_lock){....}, at:
ftrace_location_range+0x292/0x440
BUG: scheduling while atomic: modprobe/4255/0x00000002
=============================
BUG: scheduling while atomic: modprobe/4256/0x00000002
INFO: lockdep is turned off.
Modules linked in:
Kernel panic - not syncing: scheduling while atomic
It seems that rcu_read_lock() is held but rcu_read_unlock() is not
called, this is most likely due to the inconsistent state when calling
in_atomic(). To fix it, use preemt_{disable,enable}_notrace() instead
of rcu_read_{,un}lock().
Fixes: 5e66a5bdad69 ("ftrace: Fix rcu warn in ftrace_location()")
Signed-off-by: Zheng Yejian <zhengyejian1(a)huawei.com>
---
kernel/trace/ftrace.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index ad4440da5b78..ceb4bab432f1 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1581,12 +1581,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
key.ip = start;
key.flags = end; /* overload flags, as it is unsigned long */
- /*
- * It is in atomic context when called from ftrace_int3_handler(),
- * in this case rcu lock is not needed.
- */
- if (!in_atomic())
- rcu_read_lock();
+ preempt_disable_notrace();
for (pg = ftrace_pages_start; pg; pg = pg->next) {
if (pg->index == 0 ||
end < pg->records[0].ip ||
@@ -1600,8 +1595,7 @@ unsigned long ftrace_location_range(unsigned long start, unsigned long end)
break;
}
}
- if (!in_atomic())
- rcu_read_unlock();
+ preempt_enable_notrace();
return ip;
}
--
2.25.1
2
1

[PATCH openEuler-1.0-LTS] sch_cake: do not call cake_destroy() from cake_init()
by Xiang Yang 06 Jul '24
by Xiang Yang 06 Jul '24
06 Jul '24
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v4.19.222
commit 4e388232e630ebe4f94b4a0715ec98c0e2b314a3
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SGX
CVE: CVE-2021-47598
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=…
--------------------------------
[ Upstream commit ab443c53916730862cec202078d36fd4008bea79 ]
qdiscs are not supposed to call their own destroy() method
from init(), because core stack already does that.
syzbot was able to trigger use after free:
DEBUG_LOCKS_WARN_ON(lock->magic != lock)
WARNING: CPU: 0 PID: 21902 at kernel/locking/mutex.c:586 __mutex_lock_common kernel/locking/mutex.c:586 [inline]
WARNING: CPU: 0 PID: 21902 at kernel/locking/mutex.c:586 __mutex_lock+0x9ec/0x12f0 kernel/locking/mutex.c:740
Modules linked in:
CPU: 0 PID: 21902 Comm: syz-executor189 Not tainted 5.16.0-rc4-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__mutex_lock_common kernel/locking/mutex.c:586 [inline]
RIP: 0010:__mutex_lock+0x9ec/0x12f0 kernel/locking/mutex.c:740
Code: 08 84 d2 0f 85 19 08 00 00 8b 05 97 38 4b 04 85 c0 0f 85 27 f7 ff ff 48 c7 c6 20 00 ac 89 48 c7 c7 a0 fe ab 89 e8 bf 76 ba ff <0f> 0b e9 0d f7 ff ff 48 8b 44 24 40 48 8d b8 c8 08 00 00 48 89 f8
RSP: 0018:ffffc9000627f290 EFLAGS: 00010282
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88802315d700 RSI: ffffffff815f1db8 RDI: fffff52000c4fe44
RBP: ffff88818f28e000 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff815ebb5e R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: ffffc9000627f458 R15: 0000000093c30000
FS: 0000555556abc400(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fda689c3303 CR3: 000000001cfbb000 CR4: 0000000000350ef0
Call Trace:
<TASK>
tcf_chain0_head_change_cb_del+0x2e/0x3d0 net/sched/cls_api.c:810
tcf_block_put_ext net/sched/cls_api.c:1381 [inline]
tcf_block_put_ext net/sched/cls_api.c:1376 [inline]
tcf_block_put+0xbc/0x130 net/sched/cls_api.c:1394
cake_destroy+0x3f/0x80 net/sched/sch_cake.c:2695
qdisc_create.constprop.0+0x9da/0x10f0 net/sched/sch_api.c:1293
tc_modify_qdisc+0x4c5/0x1980 net/sched/sch_api.c:1660
rtnetlink_rcv_msg+0x413/0xb80 net/core/rtnetlink.c:5571
netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2496
netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1345
netlink_sendmsg+0x904/0xdf0 net/netlink/af_netlink.c:1921
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:724
____sys_sendmsg+0x6e8/0x810 net/socket.c:2409
___sys_sendmsg+0xf3/0x170 net/socket.c:2463
__sys_sendmsg+0xe5/0x1b0 net/socket.c:2492
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f1bb06badb9
Code: Unable to access opcode bytes at RIP 0x7f1bb06bad8f.
RSP: 002b:00007fff3012a658 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f1bb06badb9
RDX: 0000000000000000 RSI: 00000000200007c0 RDI: 0000000000000003
RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000003
R10: 0000000000000003 R11: 0000000000000246 R12: 00007fff3012a688
R13: 00007fff3012a6a0 R14: 00007fff3012a6e0 R15: 00000000000013c2
</TASK>
Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc")
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Acked-by: Toke Høiland-Jørgensen <toke(a)toke.dk>
Link: https://lore.kernel.org/r/20211210142046.698336-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Xiang Yang <xiangyang3(a)huawei.com>
---
net/sched/sch_cake.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c
index 2025f0f559de..18c207b85d51 100644
--- a/net/sched/sch_cake.c
+++ b/net/sched/sch_cake.c
@@ -2675,7 +2675,7 @@ static int cake_init(struct Qdisc *sch, struct nlattr *opt,
q->tins = kvcalloc(CAKE_MAX_TINS, sizeof(struct cake_tin_data),
GFP_KERNEL);
if (!q->tins)
- goto nomem;
+ return -ENOMEM;
for (i = 0; i < CAKE_MAX_TINS; i++) {
struct cake_tin_data *b = q->tins + i;
@@ -2705,10 +2705,6 @@ static int cake_init(struct Qdisc *sch, struct nlattr *opt,
q->min_netlen = ~0;
q->min_adjlen = ~0;
return 0;
-
-nomem:
- cake_destroy(sch);
- return -ENOMEM;
}
static int cake_dump(struct Qdisc *sch, struct sk_buff *skb)
--
2.34.1
2
1

[PATCH OLK-5.10] drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
by Zheng Zucheng 06 Jul '24
by Zheng Zucheng 06 Jul '24
06 Jul '24
From: Aleksandr Mishin <amishin(a)t-argos.ru>
stable inclusion
from stable-v6.6.33
commit dcf53e6103b26e7458be71491d0641f49fbd5840
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SEW
CVE: CVE-2024-38548
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 935a92a1c400285545198ca2800a4c6c519c650a ]
In cdns_mhdp_atomic_enable(), the return value of drm_mode_duplicate() is
assigned to mhdp_state->current_mode, and there is a dereference of it in
drm_mode_set_name(), which will lead to a NULL pointer dereference on
failure of drm_mode_duplicate().
Fix this bug add a check of mhdp_state->current_mode.
Fixes: fb43aa0acdfd ("drm: bridge: Add support for Cadence MHDP8546 DPI/DP bridge")
Signed-off-by: Aleksandr Mishin <amishin(a)t-argos.ru>
Reviewed-by: Robert Foss <rfoss(a)kernel.org>
Signed-off-by: Robert Foss <rfoss(a)kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240408125810.21899-1-amishi…
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: ZhangPeng <zhangpeng362(a)huawei.com>
Signed-off-by: Zheng Zucheng <zhengzucheng(a)huawei.com>
---
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
index 6af565ac307a..858f5b650849 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
@@ -2057,6 +2057,9 @@ static void cdns_mhdp_atomic_enable(struct drm_bridge *bridge,
mhdp_state = to_cdns_mhdp_bridge_state(new_state);
mhdp_state->current_mode = drm_mode_duplicate(bridge->dev, mode);
+ if (!mhdp_state->current_mode)
+ return;
+
drm_mode_set_name(mhdp_state->current_mode);
dev_dbg(mhdp->dev, "%s: Enabling mode %s\n", __func__, mode->name);
--
2.34.1
2
1

[PATCH openEuler-22.03-LTS-SP1] drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
by Zheng Zucheng 06 Jul '24
by Zheng Zucheng 06 Jul '24
06 Jul '24
From: Aleksandr Mishin <amishin(a)t-argos.ru>
stable inclusion
from stable-v6.6.33
commit dcf53e6103b26e7458be71491d0641f49fbd5840
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SEW
CVE: CVE-2024-38548
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 935a92a1c400285545198ca2800a4c6c519c650a ]
In cdns_mhdp_atomic_enable(), the return value of drm_mode_duplicate() is
assigned to mhdp_state->current_mode, and there is a dereference of it in
drm_mode_set_name(), which will lead to a NULL pointer dereference on
failure of drm_mode_duplicate().
Fix this bug add a check of mhdp_state->current_mode.
Fixes: fb43aa0acdfd ("drm: bridge: Add support for Cadence MHDP8546 DPI/DP bridge")
Signed-off-by: Aleksandr Mishin <amishin(a)t-argos.ru>
Reviewed-by: Robert Foss <rfoss(a)kernel.org>
Signed-off-by: Robert Foss <rfoss(a)kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240408125810.21899-1-amishi…
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: ZhangPeng <zhangpeng362(a)huawei.com>
Signed-off-by: Zheng Zucheng <zhengzucheng(a)huawei.com>
---
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
index 6af565ac307a..858f5b650849 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
@@ -2057,6 +2057,9 @@ static void cdns_mhdp_atomic_enable(struct drm_bridge *bridge,
mhdp_state = to_cdns_mhdp_bridge_state(new_state);
mhdp_state->current_mode = drm_mode_duplicate(bridge->dev, mode);
+ if (!mhdp_state->current_mode)
+ return;
+
drm_mode_set_name(mhdp_state->current_mode);
dev_dbg(mhdp->dev, "%s: Enabling mode %s\n", __func__, mode->name);
--
2.34.1
2
1

[PATCH OLK-6.6] drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
by Zheng Zucheng 06 Jul '24
by Zheng Zucheng 06 Jul '24
06 Jul '24
From: Aleksandr Mishin <amishin(a)t-argos.ru>
stable inclusion
from stable-v6.6.33
commit dcf53e6103b26e7458be71491d0641f49fbd5840
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SEW
CVE: CVE-2024-38548
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 935a92a1c400285545198ca2800a4c6c519c650a ]
In cdns_mhdp_atomic_enable(), the return value of drm_mode_duplicate() is
assigned to mhdp_state->current_mode, and there is a dereference of it in
drm_mode_set_name(), which will lead to a NULL pointer dereference on
failure of drm_mode_duplicate().
Fix this bug add a check of mhdp_state->current_mode.
Fixes: fb43aa0acdfd ("drm: bridge: Add support for Cadence MHDP8546 DPI/DP bridge")
Signed-off-by: Aleksandr Mishin <amishin(a)t-argos.ru>
Reviewed-by: Robert Foss <rfoss(a)kernel.org>
Signed-off-by: Robert Foss <rfoss(a)kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240408125810.21899-1-amishi…
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: ZhangPeng <zhangpeng362(a)huawei.com>
Signed-off-by: Zheng Zucheng <zhengzucheng(a)huawei.com>
---
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
index 6af565ac307a..858f5b650849 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
@@ -2057,6 +2057,9 @@ static void cdns_mhdp_atomic_enable(struct drm_bridge *bridge,
mhdp_state = to_cdns_mhdp_bridge_state(new_state);
mhdp_state->current_mode = drm_mode_duplicate(bridge->dev, mode);
+ if (!mhdp_state->current_mode)
+ return;
+
drm_mode_set_name(mhdp_state->current_mode);
dev_dbg(mhdp->dev, "%s: Enabling mode %s\n", __func__, mode->name);
--
2.34.1
2
1

[PATCH OLK-5.10 v3] net: fix one NULL pointer dereference bug in net_rship module
by Liu Jian 06 Jul '24
by Liu Jian 06 Jul '24
06 Jul '24
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAAZJ8
--------------------------------
The call trace as below:
Call trace:
__netdev_alloc_skb+0x8c/0x1e0
ad_lacpdu_send+0x34/0x18c [bonding]
ad_tx_machine+0xcc/0x174 [bonding]
bond_3ad_state_machine_handler+0x120/0x470 [bonding]
process_one_work+0x1d8/0x4e0
worker_thread+0x154/0x420
kthread+0x108/0x150
ret_from_fork+0x10/0x18
It is caused by null pointer dereference in net_rship module.
The code path is as follows:
ad_lacpdu_send
dev_alloc_skb
netdev_alloc_skb(NULL, length) // dev is NULL
__netdev_alloc_skb(dev, length, GFP_ATOMIC)
net_rship_skb_record_dev_rxinfo(skb, dev)
// here dereference dev, it is NULL pointer, trigger issue.
So we should add null pointer check to avoid the issue.
Fixes: 64ba5634c4c6 ("net: add some bpf hooks in tcp stack for network numa relationship")
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
---
include/net/net_rship.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/net/net_rship.h b/include/net/net_rship.h
index ad8af5a5cb9b..dda4dd732bd0 100644
--- a/include/net/net_rship.h
+++ b/include/net/net_rship.h
@@ -222,6 +222,9 @@ static inline void net_rship_skb_record_dev_rxinfo(struct sk_buff *skb, struct n
if (gnet_bpf_enabled(GNET_RCV_NIC_NODE)) {
struct sched_net_rship_skb *ext = __get_skb_net_rship(skb);
+ if (!dev)
+ return;
+
ext->rx_dev_idx = dev->ifindex;
ext->rx_dev_net_cookie = dev_net(dev)->net_cookie;
}
--
2.34.1
2
1

[openeuler:openEuler-1.0-LTS] BUILD SUCCESS 4949c9455d5ad3ecd338b3fe8c5aafe54dfeacda
by kernel test robot 06 Jul '24
by kernel test robot 06 Jul '24
06 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 4949c9455d5ad3ecd338b3fe8c5aafe54dfeacda !9786 drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()
elapsed time: 733m
configs tested: 34
configs skipped: 127
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig gcc-13.2.0
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240705 gcc-13.2.0
arm64 randconfig-002-20240705 gcc-13.2.0
arm64 randconfig-003-20240705 gcc-13.2.0
arm64 randconfig-004-20240705 gcc-13.2.0
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240705 gcc-7
x86_64 buildonly-randconfig-002-20240705 gcc-13
x86_64 buildonly-randconfig-003-20240705 clang-18
x86_64 buildonly-randconfig-004-20240705 clang-18
x86_64 buildonly-randconfig-005-20240705 clang-18
x86_64 buildonly-randconfig-006-20240705 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240705 clang-18
x86_64 randconfig-002-20240705 gcc-13
x86_64 randconfig-003-20240705 clang-18
x86_64 randconfig-004-20240705 gcc-13
x86_64 randconfig-005-20240705 gcc-13
x86_64 randconfig-006-20240705 gcc-13
x86_64 randconfig-011-20240705 clang-18
x86_64 randconfig-012-20240705 gcc-9
x86_64 randconfig-013-20240705 clang-18
x86_64 randconfig-014-20240705 gcc-13
x86_64 randconfig-015-20240705 clang-18
x86_64 randconfig-016-20240705 gcc-9
x86_64 randconfig-071-20240705 gcc-13
x86_64 randconfig-072-20240705 gcc-13
x86_64 randconfig-073-20240705 clang-18
x86_64 randconfig-074-20240705 gcc-13
x86_64 randconfig-075-20240705 clang-18
x86_64 randconfig-076-20240705 clang-18
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6] BUILD REGRESSION ea4dd5f0e87fde262e6fa081be0fb7f9e103057f
by kernel test robot 06 Jul '24
by kernel test robot 06 Jul '24
06 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: ea4dd5f0e87fde262e6fa081be0fb7f9e103057f !9649 f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| `-- clang:warning:no-such-include-directory:drivers-infiniband-hw-hiroce3-include-mag
`-- x86_64-randconfig-014-20240705
|-- crypto-asymmetric_keys-pgp_public_key.c:(.text):undefined-reference-to-public_key_subtype
|-- ld:crypto-asymmetric_keys-pgp_public_key.c:(.text):undefined-reference-to-public_key_free
`-- ld:crypto-asymmetric_keys-pgp_public_key.c:(.text):undefined-reference-to-public_key_subtype
elapsed time: 730m
configs tested: 38
configs skipped: 123
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240705 clang-19
arm64 randconfig-002-20240705 clang-19
arm64 randconfig-003-20240705 clang-19
arm64 randconfig-004-20240705 clang-19
loongarch allmodconfig gcc-13.2.0
loongarch allnoconfig gcc-13.2.0
loongarch randconfig-001-20240705 gcc-13.2.0
loongarch randconfig-002-20240705 gcc-13.2.0
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240705 gcc-7
x86_64 buildonly-randconfig-002-20240705 gcc-13
x86_64 buildonly-randconfig-003-20240705 clang-18
x86_64 buildonly-randconfig-004-20240705 clang-18
x86_64 buildonly-randconfig-005-20240705 clang-18
x86_64 buildonly-randconfig-006-20240705 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240705 clang-18
x86_64 randconfig-002-20240705 gcc-13
x86_64 randconfig-003-20240705 clang-18
x86_64 randconfig-004-20240705 gcc-13
x86_64 randconfig-005-20240705 gcc-13
x86_64 randconfig-006-20240705 gcc-13
x86_64 randconfig-011-20240705 clang-18
x86_64 randconfig-012-20240705 gcc-9
x86_64 randconfig-013-20240705 clang-18
x86_64 randconfig-014-20240705 gcc-13
x86_64 randconfig-015-20240705 clang-18
x86_64 randconfig-016-20240705 gcc-9
x86_64 randconfig-071-20240705 gcc-13
x86_64 randconfig-072-20240705 gcc-13
x86_64 randconfig-073-20240705 clang-18
x86_64 randconfig-074-20240705 gcc-13
x86_64 randconfig-075-20240705 clang-18
x86_64 randconfig-076-20240705 clang-18
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD SUCCESS 3486fdb9082a474750f2067f80fb835c2f480a18
by kernel test robot 06 Jul '24
by kernel test robot 06 Jul '24
06 Jul '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 3486fdb9082a474750f2067f80fb835c2f480a18 !9373 ALSA: core: Fix NULL module pointer assignment at card init
Warning ids grouped by kconfigs:
recent_errors
`-- x86_64-allnoconfig
`-- drivers-arm-spe-spe.c:linux-perf-arm_pmu.h-is-included-more-than-once.
elapsed time: 729m
configs tested: 34
configs skipped: 127
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-13.2.0
arm64 randconfig-001-20240705 clang-19
arm64 randconfig-002-20240705 clang-19
arm64 randconfig-003-20240705 clang-19
arm64 randconfig-004-20240705 clang-19
x86_64 allnoconfig clang-18
x86_64 allyesconfig clang-18
x86_64 buildonly-randconfig-001-20240705 gcc-7
x86_64 buildonly-randconfig-002-20240705 gcc-13
x86_64 buildonly-randconfig-003-20240705 clang-18
x86_64 buildonly-randconfig-004-20240705 clang-18
x86_64 buildonly-randconfig-005-20240705 clang-18
x86_64 buildonly-randconfig-006-20240705 clang-18
x86_64 defconfig gcc-13
x86_64 randconfig-001-20240705 clang-18
x86_64 randconfig-002-20240705 gcc-13
x86_64 randconfig-003-20240705 clang-18
x86_64 randconfig-004-20240705 gcc-13
x86_64 randconfig-005-20240705 gcc-13
x86_64 randconfig-006-20240705 gcc-13
x86_64 randconfig-011-20240705 clang-18
x86_64 randconfig-012-20240705 gcc-9
x86_64 randconfig-013-20240705 clang-18
x86_64 randconfig-014-20240705 gcc-13
x86_64 randconfig-015-20240705 clang-18
x86_64 randconfig-016-20240705 gcc-9
x86_64 randconfig-071-20240705 gcc-13
x86_64 randconfig-072-20240705 gcc-13
x86_64 randconfig-073-20240705 clang-18
x86_64 randconfig-074-20240705 gcc-13
x86_64 randconfig-075-20240705 clang-18
x86_64 randconfig-076-20240705 clang-18
x86_64 rhel-8.3-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
CVE-2024-27017
Pablo Neira Ayuso (3):
netfilter: nft_set_pipapo: .walk does not deal with generations
netfilter: nft_set_pipapo: walk over current view on netlink dump
netfilter: nf_tables: missing iterator type in lookup walk
include/net/netfilter/nf_tables.h | 13 +++++++++++++
net/netfilter/nf_tables_api.c | 6 ++++++
net/netfilter/nft_lookup.c | 1 +
net/netfilter/nft_set_pipapo.c | 8 +++++++-
4 files changed, 27 insertions(+), 1 deletion(-)
--
2.17.1
2
4

[PATCH openEuler-22.03-LTS-SP1] clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data
by Wang Hai 05 Jul '24
by Wang Hai 05 Jul '24
05 Jul '24
From: Jiasheng Jiang <jiasheng(a)iscas.ac.cn>
stable inclusion
from stable-v5.10.201
commit 3994387ba3564976731179c4d4a6d7850ddda71a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9RFZV
CVE: CVE-2023-52873
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 1f57f78fbacf630430bf954e5a84caafdfea30c0 ]
Add the check for the return value of mtk_alloc_clk_data() in order to
avoid NULL pointer dereference.
Fixes: 710774e04861 ("clk: mediatek: Add MT6779 clock support")
Signed-off-by: Jiasheng Jiang <jiasheng(a)iscas.ac.cn>
Link: https://lore.kernel.org/r/20230912093407.21505-2-jiasheng@iscas.ac.cn
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno(a)collabora.com>
Signed-off-by: Stephen Boyd <sboyd(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Wang Hai <wanghai38(a)huawei.com>
---
drivers/clk/mediatek/clk-mt6779.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt6779.c b/drivers/clk/mediatek/clk-mt6779.c
index 6e0d3a166729..cf720651fc53 100644
--- a/drivers/clk/mediatek/clk-mt6779.c
+++ b/drivers/clk/mediatek/clk-mt6779.c
@@ -1216,6 +1216,8 @@ static int clk_mt6779_apmixed_probe(struct platform_device *pdev)
struct device_node *node = pdev->dev.of_node;
clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK);
+ if (!clk_data)
+ return -ENOMEM;
mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data);
@@ -1236,6 +1238,8 @@ static int clk_mt6779_top_probe(struct platform_device *pdev)
return PTR_ERR(base);
clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK);
+ if (!clk_data)
+ return -ENOMEM;
mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks),
clk_data);
--
2.17.1
2
1

[PATCH OLK-5.10 v2] net: fix one NULL pointer dereference bug in net_rship module
by Liu Jian 05 Jul '24
by Liu Jian 05 Jul '24
05 Jul '24
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAAZJ8
--------------------------------
The call trace as below:
Call trace:
__netdev_alloc_skb+0x8c/0x1e0
ad_lacpdu_send+0x34/0x18c [bonding]
ad_tx_machine+0xcc/0x174 [bonding]
bond_3ad_state_machine_handler+0x120/0x470 [bonding]
process_one_work+0x1d8/0x4e0
worker_thread+0x154/0x420
kthread+0x108/0x150
ret_from_fork+0x10/0x18
Fixes: 64ba5634c4c6 ("net: add some bpf hooks in tcp stack for network numa relationship")
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
---
include/net/net_rship.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/net/net_rship.h b/include/net/net_rship.h
index ad8af5a5cb9b..dda4dd732bd0 100644
--- a/include/net/net_rship.h
+++ b/include/net/net_rship.h
@@ -222,6 +222,9 @@ static inline void net_rship_skb_record_dev_rxinfo(struct sk_buff *skb, struct n
if (gnet_bpf_enabled(GNET_RCV_NIC_NODE)) {
struct sched_net_rship_skb *ext = __get_skb_net_rship(skb);
+ if (!dev)
+ return;
+
ext->rx_dev_idx = dev->ifindex;
ext->rx_dev_net_cookie = dev_net(dev)->net_cookie;
}
--
2.34.1
2
1

[openeuler:OLK-6.6 3342/10589] crypto/asymmetric_keys/pgp_public_key.c:359:undefined reference to `public_key_subtype'
by kernel test robot 05 Jul '24
by kernel test robot 05 Jul '24
05 Jul '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 17b5ba51d6bc20767e5e5c03df0acf15609b6d11
commit: 43d4042e06d2bf96adf67d25e8d91653507a4cf9 [3342/10589] KEYS: Provide a function to load keys from a PGP keyring blob
config: x86_64-randconfig-014-20240705 (https://download.01.org/0day-ci/archive/20240705/202407051911.Va4emssv-lkp@…)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240705/202407051911.Va4emssv-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407051911.Va4emssv-lkp@intel.com/
All errors (new ones prefixed by >>):
ld: vmlinux.o: in function `pgp_key_parse':
>> crypto/asymmetric_keys/pgp_public_key.c:359:(.text+0x1b11e1c): undefined reference to `public_key_subtype'
>> ld: crypto/asymmetric_keys/pgp_public_key.c:359:(.text+0x1b11e3b): undefined reference to `public_key_subtype'
ld: crypto/asymmetric_keys/pgp_public_key.c:360:(.text+0x1b11e67): undefined reference to `public_key_subtype'
>> ld: crypto/asymmetric_keys/pgp_public_key.c:369:(.text+0x1b11f38): undefined reference to `public_key_free'
ld: crypto/asymmetric_keys/pgp_public_key.c:359:(.text+0x1b11fbf): undefined reference to `public_key_subtype'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PGP_KEY_PARSER
Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n]
Selected by [y]:
- PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y]
vim +359 crypto/asymmetric_keys/pgp_public_key.c
4e59d757dc3f7f Roberto Sassu 2023-09-12 300
4e59d757dc3f7f Roberto Sassu 2023-09-12 301 /*
4e59d757dc3f7f Roberto Sassu 2023-09-12 302 * Attempt to parse the instantiation data blob for a key as a PGP packet
4e59d757dc3f7f Roberto Sassu 2023-09-12 303 * message holding a key.
4e59d757dc3f7f Roberto Sassu 2023-09-12 304 */
4e59d757dc3f7f Roberto Sassu 2023-09-12 305 static int pgp_key_parse(struct key_preparsed_payload *prep)
4e59d757dc3f7f Roberto Sassu 2023-09-12 306 {
4e59d757dc3f7f Roberto Sassu 2023-09-12 307 struct pgp_key_data_parse_context ctx;
4e59d757dc3f7f Roberto Sassu 2023-09-12 308 int ret;
4e59d757dc3f7f Roberto Sassu 2023-09-12 309
4e59d757dc3f7f Roberto Sassu 2023-09-12 310 kenter("");
4e59d757dc3f7f Roberto Sassu 2023-09-12 311
4e59d757dc3f7f Roberto Sassu 2023-09-12 312 memset(&ctx, 0, sizeof(ctx));
e8c01f299ab793 David Howells 2023-09-12 313 ctx.pgp.types_of_interest = (1 << PGP_PKT_PUBLIC_KEY) |
e8c01f299ab793 David Howells 2023-09-12 314 (1 << PGP_PKT_USER_ID);
4e59d757dc3f7f Roberto Sassu 2023-09-12 315 ctx.pgp.process_packet = pgp_process_public_key;
4e59d757dc3f7f Roberto Sassu 2023-09-12 316
4e59d757dc3f7f Roberto Sassu 2023-09-12 317 ret = pgp_parse_packets(prep->data, prep->datalen, &ctx.pgp);
4e59d757dc3f7f Roberto Sassu 2023-09-12 318 if (ret < 0)
4e59d757dc3f7f Roberto Sassu 2023-09-12 319 goto error;
4e59d757dc3f7f Roberto Sassu 2023-09-12 320
e8c01f299ab793 David Howells 2023-09-12 321 if (!ctx.fingerprint) {
e8c01f299ab793 David Howells 2023-09-12 322 ret = -EINVAL;
e8c01f299ab793 David Howells 2023-09-12 323 goto error;
e8c01f299ab793 David Howells 2023-09-12 324 }
e8c01f299ab793 David Howells 2023-09-12 325
e8c01f299ab793 David Howells 2023-09-12 326 if (ctx.user_id && ctx.user_id_len > 0) {
e8c01f299ab793 David Howells 2023-09-12 327 /* Propose a description for the key
e8c01f299ab793 David Howells 2023-09-12 328 * (user ID without the comment)
e8c01f299ab793 David Howells 2023-09-12 329 */
e8c01f299ab793 David Howells 2023-09-12 330 size_t ulen = ctx.user_id_len, flen = ctx.fingerprint_len;
e8c01f299ab793 David Howells 2023-09-12 331 const char *p;
e8c01f299ab793 David Howells 2023-09-12 332
e8c01f299ab793 David Howells 2023-09-12 333 p = memchr(ctx.user_id, '(', ulen);
e8c01f299ab793 David Howells 2023-09-12 334 if (p) {
e8c01f299ab793 David Howells 2023-09-12 335 /* Remove the comment */
e8c01f299ab793 David Howells 2023-09-12 336 do {
e8c01f299ab793 David Howells 2023-09-12 337 p--;
e8c01f299ab793 David Howells 2023-09-12 338 } while (*p == ' ' && p > ctx.user_id);
e8c01f299ab793 David Howells 2023-09-12 339 if (*p != ' ')
e8c01f299ab793 David Howells 2023-09-12 340 p++;
e8c01f299ab793 David Howells 2023-09-12 341 ulen = p - ctx.user_id;
e8c01f299ab793 David Howells 2023-09-12 342 }
e8c01f299ab793 David Howells 2023-09-12 343
e8c01f299ab793 David Howells 2023-09-12 344 if (ulen > 255 - 9)
e8c01f299ab793 David Howells 2023-09-12 345 ulen = 255 - 9;
e8c01f299ab793 David Howells 2023-09-12 346 prep->description = kmalloc(ulen + 1 + 8 + 1, GFP_KERNEL);
e8c01f299ab793 David Howells 2023-09-12 347 ret = -ENOMEM;
e8c01f299ab793 David Howells 2023-09-12 348 if (!prep->description)
e8c01f299ab793 David Howells 2023-09-12 349 goto error;
e8c01f299ab793 David Howells 2023-09-12 350 memcpy(prep->description, ctx.user_id, ulen);
e8c01f299ab793 David Howells 2023-09-12 351 prep->description[ulen] = ' ';
e8c01f299ab793 David Howells 2023-09-12 352 memcpy(prep->description + ulen + 1,
e8c01f299ab793 David Howells 2023-09-12 353 ctx.fingerprint + flen - 8, 8);
e8c01f299ab793 David Howells 2023-09-12 354 prep->description[ulen + 9] = 0;
e8c01f299ab793 David Howells 2023-09-12 355 pr_debug("desc '%s'\n", prep->description);
e8c01f299ab793 David Howells 2023-09-12 356 }
e8c01f299ab793 David Howells 2023-09-12 357
4e59d757dc3f7f Roberto Sassu 2023-09-12 358 /* We're pinning the module by being linked against it */
4e59d757dc3f7f Roberto Sassu 2023-09-12 @359 __module_get(public_key_subtype.owner);
4e59d757dc3f7f Roberto Sassu 2023-09-12 360 prep->payload.data[asym_subtype] = &public_key_subtype;
4e59d757dc3f7f Roberto Sassu 2023-09-12 361 prep->payload.data[asym_key_ids] = pgp_key_generate_id(&ctx);
4e59d757dc3f7f Roberto Sassu 2023-09-12 362 prep->payload.data[asym_crypto] = ctx.pub;
4e59d757dc3f7f Roberto Sassu 2023-09-12 363 prep->quotalen = 100;
4e59d757dc3f7f Roberto Sassu 2023-09-12 364 kfree(ctx.fingerprint);
4e59d757dc3f7f Roberto Sassu 2023-09-12 365 kfree(ctx.raw_fingerprint);
4e59d757dc3f7f Roberto Sassu 2023-09-12 366 return 0;
4e59d757dc3f7f Roberto Sassu 2023-09-12 367
4e59d757dc3f7f Roberto Sassu 2023-09-12 368 error:
4e59d757dc3f7f Roberto Sassu 2023-09-12 @369 public_key_free(ctx.pub);
4e59d757dc3f7f Roberto Sassu 2023-09-12 370 kfree(ctx.fingerprint);
4e59d757dc3f7f Roberto Sassu 2023-09-12 371 kfree(ctx.raw_fingerprint);
4e59d757dc3f7f Roberto Sassu 2023-09-12 372 return ret;
4e59d757dc3f7f Roberto Sassu 2023-09-12 373 }
4e59d757dc3f7f Roberto Sassu 2023-09-12 374
:::::: The code at line 359 was first introduced by commit
:::::: 4e59d757dc3f7f2e2a646a2e3f0f271ae4599eeb KEYS: PGP data parser
:::::: TO: Roberto Sassu <roberto.sassu(a)huawei.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

05 Jul '24
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8KU3B
CVE: NA
--------------------------------
We should return 0 on success.
Fixes: e62b4a1c5593 ("bpf: Add bpf_get_sockops_uid_gid helper function")
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
---
net/core/filter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/filter.c b/net/core/filter.c
index 6ec353bf36f3..c88f51f7d3f9 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -5675,7 +5675,7 @@ static int bpf_sock_ops_get_uid_gid(struct bpf_sock_ops_kern *bpf_sock,
*(u32 *)optval = from_kgid_munged(sock_net(sk)->user_ns, gid);
*((u32 *)optval + 1) = from_kuid_munged(sock_net(sk)->user_ns, uid);
- return sizeof(u64);
+ return 0;
}
static int bpf_sk_original_addr(struct bpf_sock_ops_kern *bpf_sock,
--
2.34.1
2
1

[PATCH OLK-5.10] net: fix one NULL pointer dereference bug in net_rship module
by Liu Jian 05 Jul '24
by Liu Jian 05 Jul '24
05 Jul '24
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAAZJ8
--------------------------------
The call trace as below:
Call trace:
__netdev_alloc_skb+0x8c/0x1e0
ad_lacpdu_send+0x34/0x18c [bonding]
ad_tx_machine+0xcc/0x174 [bonding]
bond_3ad_state_machine_handler+0x120/0x470 [bonding]
process_one_work+0x1d8/0x4e0
worker_thread+0x154/0x420
kthread+0x108/0x150
ret_from_fork+0x10/0x18
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
---
include/net/net_rship.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/net/net_rship.h b/include/net/net_rship.h
index ad8af5a5cb9b..dda4dd732bd0 100644
--- a/include/net/net_rship.h
+++ b/include/net/net_rship.h
@@ -222,6 +222,9 @@ static inline void net_rship_skb_record_dev_rxinfo(struct sk_buff *skb, struct n
if (gnet_bpf_enabled(GNET_RCV_NIC_NODE)) {
struct sched_net_rship_skb *ext = __get_skb_net_rship(skb);
+ if (!dev)
+ return;
+
ext->rx_dev_idx = dev->ifindex;
ext->rx_dev_net_cookie = dev_net(dev)->net_cookie;
}
--
2.34.1
2
1