Hi Jan,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 02951ceaa6d546dfa0f741f52f6d47e0fb0ac7b4
commit: 5d5f0e49572a1948fa42fd082aaa8238757614bd [1334/1334] ext4: Check journal inode extents more carefully
config: x86_64-randconfig-102-20241218 (https://download.01.org/0day-ci/archive/20241220/202412202311.0ETgmhXR-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412202311.0ETgmhXR-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/202412202311.0ETgmhXR-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from fs/ext4/inode.c:25:
include/linux/pagemap.h:425:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict]
425 | filler_t *filler = (filler_t *)mapping->a_ops->readpage;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
>> fs/ext4/inode.o: warning: objtool: ext4_map_blocks()+0x9ea: unreachable instruction
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 02951ceaa6d546dfa0f741f52f6d47e0fb0ac7b4
commit: 56bc1719652e7a937bc9856f76f0c0fbf8ce1b23 [1336/1336] objtool: Support GCC 9 cold subfunction naming scheme
config: x86_64-buildonly-randconfig-001-20241219 (https://download.01.org/0day-ci/archive/20241220/202412201921.TZ1izhG7-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412201921.TZ1izhG7-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/202412201921.TZ1izhG7-lkp@intel.com/
All warnings (new ones prefixed by >>):
kernel/time/posix-stubs.c:27:17: warning: no previous prototype for 'sys_ni_posix_timers' [-Wmissing-prototypes]
27 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:74:5: warning: no previous prototype for 'do_clock_gettime' [-Wmissing-prototypes]
74 | int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
| ^~~~~~~~~~~~~~~~
>> kernel/time/.tmp_posix-stubs.o: warning: objtool: sys_ni_posix_timers.cold()+0x0: unreachable instruction
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Tang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 02951ceaa6d546dfa0f741f52f6d47e0fb0ac7b4
commit: 1cfc25ccec44c17c19c892bd31d00d8f6fb23f9b [1341/1341] share_pool: Add proc node to show process overview info
config: arm64-randconfig-003-20241220 (https://download.01.org/0day-ci/archive/20241220/202412201919.863TCPHL-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412201919.863TCPHL-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/202412201919.863TCPHL-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/share_pool.c: In function 'sp_group_id_by_pid':
mm/share_pool.c:840:29: warning: ordered comparison of pointer with integer zero [-Wextra]
840 | if (!spg_ids || num <= 0)
| ^~
mm/share_pool.c: In function 'sp_compact_nodes':
mm/share_pool.c:1689:9: error: implicit declaration of function 'sysctl_compaction_handler'; did you mean 'sysctl_memcg_qos_handler'? [-Werror=implicit-function-declaration]
1689 | sysctl_compaction_handler(NULL, 1, NULL, NULL, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| sysctl_memcg_qos_handler
mm/share_pool.c: At top level:
>> mm/share_pool.c:3736:12: warning: 'proc_overview_show' defined but not used [-Wunused-function]
3736 | static int proc_overview_show(struct seq_file *seq, void *offset)
| ^~~~~~~~~~~~~~~~~~
mm/share_pool.c:3693:12: warning: 'proc_stat_show' defined but not used [-Wunused-function]
3693 | static int proc_stat_show(struct seq_file *seq, void *offset)
| ^~~~~~~~~~~~~~
mm/share_pool.c:3635:12: warning: 'spa_stat_show' defined but not used [-Wunused-function]
3635 | static int spa_stat_show(struct seq_file *seq, void *offset)
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/proc_overview_show +3736 mm/share_pool.c
3735
> 3736 static int proc_overview_show(struct seq_file *seq, void *offset)
3737 {
3738 seq_printf(seq, "%-8s %-16s %-9s %-9s %-9s %-10s %-10s %-8s\n",
3739 "PID", "COMM", "SP_ALLOC", "SP_K2U", "SP_RES", "Non-SP_RES",
3740 "Non-SP_Shm", "VIRT");
3741
3742 down_read(&sp_proc_stat_sem);
3743 idr_for_each(&sp_proc_stat_idr, idr_proc_overview_cb, seq);
3744 up_read(&sp_proc_stat_sem);
3745 return 0;
3746 }
3747
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
From: Xingui Yang <yangxingui(a)huawei.com>
driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBCOG7
CVE: NA
----------------------------------------------------------------------
the SAS controller determines the disk to which I/Os are delivered based
on the port id in the DQ entry when SATA disk directly connected.
When many phys were disconnected immediately and connected again during
I/O sending and port id of phys were changed and used by other link, I/O
may be sent to incorrect disk and data inconsistency on the SATA disk may
occur during I/O retry with the old port id. So enable force phy, then
force the command to be executed in a certain phy, and if the actual phy
id of the port does not match the phy configured in the command, the chip
will stop delivering the I/O to disk.
Fixes: ce60689e12dd ("scsi: hisi_sas: add v3 code to send ATA frame")
Signed-off-by: Xingui Yang <yangxingui(a)huawei.com>
Signed-off-by: Bing Xia <xiabing14(a)h-partners.com>
---
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 9 +++++++--
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 14 ++++++++++++--
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 59e56df322db..b00a82a2b657 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -2508,10 +2508,15 @@ static void prep_ata_v2_hw(struct hisi_hba *hisi_hba,
/* create header */
/* dw0 */
dw0 = port->id << CMD_HDR_PORT_OFF;
- if (parent_dev && dev_is_expander(parent_dev->dev_type))
+ if (parent_dev && dev_is_expander(parent_dev->dev_type)) {
dw0 |= 3 << CMD_HDR_CMD_OFF;
- else
+ } else {
+ int phy_id = device->phy->identify.phy_identifier;
+
+ dw0 |= (1U << phy_id) << CMD_HDR_PHY_ID_OFF;
+ dw0 |= CMD_HDR_FORCE_PHY_MSK;
dw0 |= 4 << CMD_HDR_CMD_OFF;
+ }
if (tmf && ata_task->force_phy) {
dw0 |= CMD_HDR_FORCE_PHY_MSK;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index a86cdb6dbee6..37550e788bec 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -359,6 +359,10 @@
#define CMD_HDR_RESP_REPORT_MSK (0x1 << CMD_HDR_RESP_REPORT_OFF)
#define CMD_HDR_TLR_CTRL_OFF 6
#define CMD_HDR_TLR_CTRL_MSK (0x3 << CMD_HDR_TLR_CTRL_OFF)
+#define CMD_HDR_PHY_ID_OFF 8
+#define CMD_HDR_PHY_ID_MSK (0x1ff << CMD_HDR_PHY_ID_OFF)
+#define CMD_HDR_FORCE_PHY_OFF 17
+#define CMD_HDR_FORCE_PHY_MSK (0x1U << CMD_HDR_FORCE_PHY_OFF)
#define CMD_HDR_PORT_OFF 18
#define CMD_HDR_PORT_MSK (0xf << CMD_HDR_PORT_OFF)
#define CMD_HDR_PRIORITY_OFF 27
@@ -1434,10 +1438,16 @@ static void prep_ata_v3_hw(struct hisi_hba *hisi_hba,
u32 dw1 = 0, dw2 = 0;
hdr->dw0 = cpu_to_le32(port->id << CMD_HDR_PORT_OFF);
- if (parent_dev && dev_is_expander(parent_dev->dev_type))
+ if (parent_dev && dev_is_expander(parent_dev->dev_type)) {
hdr->dw0 |= cpu_to_le32(3 << CMD_HDR_CMD_OFF);
- else
+ } else {
+ int phy_id = device->phy->identify.phy_identifier;
+
+ hdr->dw0 |= cpu_to_le32((1U << phy_id)
+ << CMD_HDR_PHY_ID_OFF);
+ hdr->dw0 |= CMD_HDR_FORCE_PHY_MSK;
hdr->dw0 |= cpu_to_le32(4U << CMD_HDR_CMD_OFF);
+ }
switch (task->data_dir) {
case DMA_TO_DEVICE:
--
2.33.0
Hi Zhou,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 02951ceaa6d546dfa0f741f52f6d47e0fb0ac7b4
commit: d45b33b72c530e64219ad997947a33f6e07d339c [1341/1341] share pool: Try to compact when memory is insufficient
config: arm64-randconfig-003-20241220 (https://download.01.org/0day-ci/archive/20241220/202412201754.UDg3QqQf-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412201754.UDg3QqQf-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/202412201754.UDg3QqQf-lkp@intel.com/
All errors (new ones prefixed by >>):
mm/share_pool.c: In function 'sp_compact_nodes':
>> mm/share_pool.c:1043:9: error: implicit declaration of function 'sysctl_compaction_handler'; did you mean 'sysctl_memcg_qos_handler'? [-Werror=implicit-function-declaration]
1043 | sysctl_compaction_handler(NULL, 1, NULL, NULL, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| sysctl_memcg_qos_handler
mm/share_pool.c: At top level:
mm/share_pool.c:2482:12: warning: 'spa_stat_show' defined but not used [-Wunused-function]
2482 | static int spa_stat_show(struct seq_file *seq, void *offset)
| ^~~~~~~~~~~~~
mm/share_pool.c:2363:12: warning: 'proc_stat_show' defined but not used [-Wunused-function]
2363 | static int proc_stat_show(struct seq_file *seq, void *offset)
| ^~~~~~~~~~~~~~
In file included from mm/share_pool.c:22:
In function 'memalloc_noreclaim_restore',
inlined from 'sp_alloc' at mm/share_pool.c:1374:4:
include/linux/sched/mm.h:278:58: warning: 'noreclaim_flag' may be used uninitialized [-Wmaybe-uninitialized]
278 | current->flags = (current->flags & ~PF_MEMALLOC) | flags;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
mm/share_pool.c: In function 'sp_alloc':
mm/share_pool.c:1238:22: note: 'noreclaim_flag' was declared here
1238 | unsigned int noreclaim_flag;
| ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1043 mm/share_pool.c
1039
1040 static unsigned long last_jiffies;
1041 static void sp_compact_nodes(struct work_struct *work)
1042 {
> 1043 sysctl_compaction_handler(NULL, 1, NULL, NULL, NULL);
1044
1045 kfree(work);
1046 }
1047
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
From: Xingui Yang <yangxingui(a)huawei.com>
driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBCOG7
CVE: NA
----------------------------------------------------------------------
the SAS controller determines the disk to which I/Os are delivered based
on the port id in the DQ entry when SATA disk directly connected.
When many phys were disconnected immediately and connected again during
I/O sending and port id of phys were changed and used by other link, I/O
may be sent to incorrect disk and data inconsistency on the SATA disk may
occur during I/O retry with the old port id. So enable force phy, then
force the command to be executed in a certain phy, and if the actual phy
id of the port does not match the phy configured in the command, the chip
will stop delivering the I/O to disk.
Signed-off-by: Xingui Yang <yangxingui(a)huawei.com>
Signed-off-by: Bing Xia <xiabing14(a)h-partners.com>
---
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 9 +++++++--
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 14 ++++++++++++--
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 59e56df322db..b00a82a2b657 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -2508,10 +2508,15 @@ static void prep_ata_v2_hw(struct hisi_hba *hisi_hba,
/* create header */
/* dw0 */
dw0 = port->id << CMD_HDR_PORT_OFF;
- if (parent_dev && dev_is_expander(parent_dev->dev_type))
+ if (parent_dev && dev_is_expander(parent_dev->dev_type)) {
dw0 |= 3 << CMD_HDR_CMD_OFF;
- else
+ } else {
+ int phy_id = device->phy->identify.phy_identifier;
+
+ dw0 |= (1U << phy_id) << CMD_HDR_PHY_ID_OFF;
+ dw0 |= CMD_HDR_FORCE_PHY_MSK;
dw0 |= 4 << CMD_HDR_CMD_OFF;
+ }
if (tmf && ata_task->force_phy) {
dw0 |= CMD_HDR_FORCE_PHY_MSK;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index a86cdb6dbee6..37550e788bec 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -359,6 +359,10 @@
#define CMD_HDR_RESP_REPORT_MSK (0x1 << CMD_HDR_RESP_REPORT_OFF)
#define CMD_HDR_TLR_CTRL_OFF 6
#define CMD_HDR_TLR_CTRL_MSK (0x3 << CMD_HDR_TLR_CTRL_OFF)
+#define CMD_HDR_PHY_ID_OFF 8
+#define CMD_HDR_PHY_ID_MSK (0x1ff << CMD_HDR_PHY_ID_OFF)
+#define CMD_HDR_FORCE_PHY_OFF 17
+#define CMD_HDR_FORCE_PHY_MSK (0x1U << CMD_HDR_FORCE_PHY_OFF)
#define CMD_HDR_PORT_OFF 18
#define CMD_HDR_PORT_MSK (0xf << CMD_HDR_PORT_OFF)
#define CMD_HDR_PRIORITY_OFF 27
@@ -1434,10 +1438,16 @@ static void prep_ata_v3_hw(struct hisi_hba *hisi_hba,
u32 dw1 = 0, dw2 = 0;
hdr->dw0 = cpu_to_le32(port->id << CMD_HDR_PORT_OFF);
- if (parent_dev && dev_is_expander(parent_dev->dev_type))
+ if (parent_dev && dev_is_expander(parent_dev->dev_type)) {
hdr->dw0 |= cpu_to_le32(3 << CMD_HDR_CMD_OFF);
- else
+ } else {
+ int phy_id = device->phy->identify.phy_identifier;
+
+ hdr->dw0 |= cpu_to_le32((1U << phy_id)
+ << CMD_HDR_PHY_ID_OFF);
+ hdr->dw0 |= CMD_HDR_FORCE_PHY_MSK;
hdr->dw0 |= cpu_to_le32(4U << CMD_HDR_CMD_OFF);
+ }
switch (task->data_dir) {
case DMA_TO_DEVICE:
--
2.33.0
From: wenglianfa <wenglianfa(a)huawei.com>
driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB71IG
----------------------------------------------------------------------
According to the IB protocol, the qp_num of the GSI QP must
be set to 1. Therefore, the QP must be created in BANK 1.
Currently, only QPs in BANK 0 and 6 can use extended SGEs,
but the GSI QP in bank 1 also need to use extended SGEs.
To fix it, the restriction is changed to allow QPs in BANK
1 and BANK 6 to use extended SGEs.
Fixes: 209f40403456 ("RDMA/hns: Fix RoCEE hang when multiple QP banks use EXT_SGE EXT_SGE")
Signed-off-by: wenglianfa <wenglianfa(a)huawei.com>
Signed-off-by: Xinghai Cen <cenxinghai(a)h-partners.com>
---
drivers/infiniband/hw/hns/hns_roce_device.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
index 8f2527642318..765bfc3d5579 100644
--- a/drivers/infiniband/hw/hns/hns_roce_device.h
+++ b/drivers/infiniband/hw/hns/hns_roce_device.h
@@ -108,7 +108,7 @@
#define VALID_CQ_BANK_MASK_DEFAULT 0xF
#define VALID_CQ_BANK_MASK_LIMIT 0x9
-#define VALID_EXT_SGE_QP_BANK_MASK_LIMIT 0x41
+#define VALID_EXT_SGE_QP_BANK_MASK_LIMIT 0x42
#define HNS_ROCE_MAX_CQ_COUNT 0xFFFF
#define HNS_ROCE_MAX_CQ_PERIOD 0xFFFF
--
2.33.0
From: Xiu Jianfeng <xiujianfeng(a)huawei.com>
stable inclusion
from stable-v4.19.32
commit 339df130db47ae7e89fddce5729b0f0566405d1d
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I95ATJ
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
----------------------------------------------------------------------
[ Upstream commit 3cc4e13bb1617f6a13e5e6882465984148743cf4 ]
cgroup.max.depth is the maximum allowed descent depth below the current
cgroup. If the actual descent depth is equal or larger, an attempt to
create a new child cgroup will fail. However due to the cgroup->max_depth
is of int type and having the default value INT_MAX, the condition
'level > cgroup->max_depth' will never be satisfied, and it will cause
an overflow of the level after it reaches to INT_MAX.
Fix it by starting the level from 0 and using '>=' instead.
It's worth mentioning that this issue is unlikely to occur in reality,
as it's impossible to have a depth of INT_MAX hierarchy, but should be
be avoided logically.
Fixes: 1a926e0bbab8 ("cgroup: implement hierarchy limits")
Signed-off-by: Xiu Jianfeng <xiujianfeng(a)huawei.com>
Reviewed-by: Michal Koutný <mkoutny(a)suse.com>
Signed-off-by: Tejun Heo <tj(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Chen Ridong <chenridong(a)huawei.com>
---
kernel/cgroup/cgroup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 7b3c1491cc88..47aef4a48125 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5124,7 +5124,7 @@ static bool cgroup_check_hierarchy_limits(struct cgroup *parent)
{
struct cgroup *cgroup;
int ret = false;
- int level = 1;
+ int level = 0;
lockdep_assert_held(&cgroup_mutex);
@@ -5132,7 +5132,7 @@ static bool cgroup_check_hierarchy_limits(struct cgroup *parent)
if (cgroup->nr_descendants >= cgroup->max_descendants)
goto fail;
- if (level > cgroup->max_depth)
+ if (level >= cgroup->max_depth)
goto fail;
level++;
--
2.34.1