From: Greg Kroah-Hartman Date: Thu, 12 May 2022 13:36:34 +0000 (+0200) Subject: 4.9-stable patches X-Git-Tag: v4.9.314~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=516425a5cf66610119d6a158abedb9651099c6aa;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch mips-use-address-of-operator-on-section-symbols.patch --- diff --git a/queue-4.9/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch b/queue-4.9/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch new file mode 100644 index 00000000000..b6fbfcc1369 --- /dev/null +++ b/queue-4.9/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch @@ -0,0 +1,83 @@ +From 1f1e87b4dc4598eac57a69868534b92d65e47e82 Mon Sep 17 00:00:00 2001 +From: Lee Jones +Date: Fri, 12 Mar 2021 10:55:26 +0000 +Subject: block: drbd: drbd_nl: Make conversion to 'enum drbd_ret_code' explicit +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Lee Jones + +commit 1f1e87b4dc4598eac57a69868534b92d65e47e82 upstream. + +Fixes the following W=1 kernel build warning(s): + + from drivers/block/drbd/drbd_nl.c:24: + drivers/block/drbd/drbd_nl.c: In function ‘drbd_adm_set_role’: + drivers/block/drbd/drbd_nl.c:793:11: warning: implicit conversion from ‘enum drbd_state_rv’ to ‘enum drbd_ret_code’ [-Wenum-conversion] + drivers/block/drbd/drbd_nl.c:795:11: warning: implicit conversion from ‘enum drbd_state_rv’ to ‘enum drbd_ret_code’ [-Wenum-conversion] + drivers/block/drbd/drbd_nl.c: In function ‘drbd_adm_attach’: + drivers/block/drbd/drbd_nl.c:1965:10: warning: implicit conversion from ‘enum drbd_state_rv’ to ‘enum drbd_ret_code’ [-Wenum-conversion] + drivers/block/drbd/drbd_nl.c: In function ‘drbd_adm_connect’: + drivers/block/drbd/drbd_nl.c:2690:10: warning: implicit conversion from ‘enum drbd_state_rv’ to ‘enum drbd_ret_code’ [-Wenum-conversion] + drivers/block/drbd/drbd_nl.c: In function ‘drbd_adm_disconnect’: + drivers/block/drbd/drbd_nl.c:2803:11: warning: implicit conversion from ‘enum drbd_state_rv’ to ‘enum drbd_ret_code’ [-Wenum-conversion] + +Cc: Philipp Reisner +Cc: Lars Ellenberg +Cc: Jens Axboe +Cc: drbd-dev@lists.linbit.com +Cc: linux-block@vger.kernel.org +Signed-off-by: Lee Jones +Link: https://lore.kernel.org/r/20210312105530.2219008-8-lee.jones@linaro.org +Signed-off-by: Jens Axboe +Cc: Nathan Chancellor +Signed-off-by: Greg Kroah-Hartman +--- + drivers/block/drbd/drbd_nl.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +--- a/drivers/block/drbd/drbd_nl.c ++++ b/drivers/block/drbd/drbd_nl.c +@@ -774,9 +774,11 @@ int drbd_adm_set_role(struct sk_buff *sk + mutex_lock(&adm_ctx.resource->adm_mutex); + + if (info->genlhdr->cmd == DRBD_ADM_PRIMARY) +- retcode = drbd_set_role(adm_ctx.device, R_PRIMARY, parms.assume_uptodate); ++ retcode = (enum drbd_ret_code)drbd_set_role(adm_ctx.device, ++ R_PRIMARY, parms.assume_uptodate); + else +- retcode = drbd_set_role(adm_ctx.device, R_SECONDARY, 0); ++ retcode = (enum drbd_ret_code)drbd_set_role(adm_ctx.device, ++ R_SECONDARY, 0); + + mutex_unlock(&adm_ctx.resource->adm_mutex); + genl_lock(); +@@ -1933,7 +1935,7 @@ int drbd_adm_attach(struct sk_buff *skb, + drbd_flush_workqueue(&connection->sender_work); + + rv = _drbd_request_state(device, NS(disk, D_ATTACHING), CS_VERBOSE); +- retcode = rv; /* FIXME: Type mismatch. */ ++ retcode = (enum drbd_ret_code)rv; + drbd_resume_io(device); + if (rv < SS_SUCCESS) + goto fail; +@@ -2684,7 +2686,8 @@ int drbd_adm_connect(struct sk_buff *skb + } + rcu_read_unlock(); + +- retcode = conn_request_state(connection, NS(conn, C_UNCONNECTED), CS_VERBOSE); ++ retcode = (enum drbd_ret_code)conn_request_state(connection, ++ NS(conn, C_UNCONNECTED), CS_VERBOSE); + + conn_reconfig_done(connection); + mutex_unlock(&adm_ctx.resource->adm_mutex); +@@ -2790,7 +2793,7 @@ int drbd_adm_disconnect(struct sk_buff * + mutex_lock(&adm_ctx.resource->adm_mutex); + rv = conn_try_disconnect(connection, parms.force_disconnect); + if (rv < SS_SUCCESS) +- retcode = rv; /* FIXME: Type mismatch. */ ++ retcode = (enum drbd_ret_code)rv; + else + retcode = NO_ERROR; + mutex_unlock(&adm_ctx.resource->adm_mutex); diff --git a/queue-4.9/mips-use-address-of-operator-on-section-symbols.patch b/queue-4.9/mips-use-address-of-operator-on-section-symbols.patch new file mode 100644 index 00000000000..69a7f2ae844 --- /dev/null +++ b/queue-4.9/mips-use-address-of-operator-on-section-symbols.patch @@ -0,0 +1,69 @@ +From d422c6c0644bccbb1ebeefffa51f35cec3019517 Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor +Date: Tue, 5 Jan 2021 13:18:27 -0700 +Subject: MIPS: Use address-of operator on section symbols + +From: Nathan Chancellor + +commit d422c6c0644bccbb1ebeefffa51f35cec3019517 upstream. + +When building xway_defconfig with clang: + +arch/mips/lantiq/prom.c:82:23: error: array comparison always evaluates +to true [-Werror,-Wtautological-compare] + else if (__dtb_start != __dtb_end) + ^ +1 error generated. + +These are not true arrays, they are linker defined symbols, which are +just addresses. Using the address of operator silences the warning +and does not change the resulting assembly with either clang/ld.lld +or gcc/ld (tested with diff + objdump -Dr). Do the same thing across +the entire MIPS subsystem to ensure there are no more warnings around +this type of comparison. + +Link: https://github.com/ClangBuiltLinux/linux/issues/1232 +Signed-off-by: Nathan Chancellor +Acked-by: Florian Fainelli +Signed-off-by: Thomas Bogendoerfer +Cc: Sudip Mukherjee +Signed-off-by: Greg Kroah-Hartman +--- + arch/mips/bmips/setup.c | 2 +- + arch/mips/lantiq/prom.c | 2 +- + arch/mips/pic32/pic32mzda/init.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +--- a/arch/mips/bmips/setup.c ++++ b/arch/mips/bmips/setup.c +@@ -174,7 +174,7 @@ void __init plat_mem_setup(void) + dtb = phys_to_virt(fw_arg2); + else if (fw_passed_dtb) /* UHI interface */ + dtb = (void *)fw_passed_dtb; +- else if (__dtb_start != __dtb_end) ++ else if (&__dtb_start != &__dtb_end) + dtb = (void *)__dtb_start; + else + panic("no dtb found"); +--- a/arch/mips/lantiq/prom.c ++++ b/arch/mips/lantiq/prom.c +@@ -76,7 +76,7 @@ void __init plat_mem_setup(void) + + if (fw_passed_dtb) /* UHI interface */ + dtb = (void *)fw_passed_dtb; +- else if (__dtb_start != __dtb_end) ++ else if (&__dtb_start != &__dtb_end) + dtb = (void *)__dtb_start; + else + panic("no dtb found"); +--- a/arch/mips/pic32/pic32mzda/init.c ++++ b/arch/mips/pic32/pic32mzda/init.c +@@ -36,7 +36,7 @@ static ulong get_fdtaddr(void) + if (fw_passed_dtb && !fw_arg2 && !fw_arg3) + return (ulong)fw_passed_dtb; + +- if (__dtb_start < __dtb_end) ++ if (&__dtb_start < &__dtb_end) + ftaddr = (ulong)__dtb_start; + + return ftaddr; diff --git a/queue-4.9/series b/queue-4.9/series new file mode 100644 index 00000000000..68a2b186a09 --- /dev/null +++ b/queue-4.9/series @@ -0,0 +1,2 @@ +mips-use-address-of-operator-on-section-symbols.patch +block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch