FAILED: patch "[PATCH] s390/dasd: add missing discipline function" failed to apply to 5.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.4.y
git checkout FETCH_HEAD
git cherry-pick -x c0c8a8397fa8a74d04915f4d3d28cb4a5d401427
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '[email protected]' --subject-prefix 'PATCH 5.4.y' HEAD^..
Possible dependencies:
c0c8a8397fa8 ("s390/dasd: add missing discipline function") 4d063e646b4b ("s390/dasd: Process FCES path event notification") b72949328869 ("s390/dasd: Prepare for additional path event handling")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From c0c8a8397fa8a74d04915f4d3d28cb4a5d401427 Mon Sep 17 00:00:00 2001
From: Stefan Haberland <[email protected]>
Date: Tue, 25 May 2021 14:50:06 +0200
Subject: [PATCH] s390/dasd: add missing discipline function
Fix crash with illegal operation exception in dasd_device_tasklet. Commit b72949328869 ("s390/dasd: Prepare for additional path event handling") renamed the verify_path function for ECKD but not for FBA and DIAG. This leads to a panic when the path verification function is called for a FBA or DIAG device.
Fix by defining a wrapper function for dasd_generic_verify_path().
drivers/s390/block/dasd_diag.c +7 -1
@@ -642,12 +642,18 @@ static void dasd_diag_setup_blk_queue(struct dasd_block *block)blk_queue_segment_boundary (q,PAGE_SIZE -1 ); } +static int dasd_diag_pe_handler (struct dasd_device *device, +__u8 tbvpm,__u8 fcsecpm) +{ +return dasd_generic_verify_path (device, tbvpm); +} +static struct dasd_discipline dasd_diag_discipline = { .owner =THIS_MODULE , .name ="DIAG" , .ebcname ="DIAG" , .check_device = dasd_diag_check_device, - .verify_path = dasd_generic_verify_path, + .pe_handler = dasd_diag_pe_handler, .fill_geometry = dasd_diag_fill_geometry, .setup_blk_queue = dasd_diag_setup_blk_queue, .start_IO = dasd_start_diag,
drivers/s390/block/dasd_fba.c +7 -1
@@ -794,13 +794,19 @@ static void dasd_fba_setup_blk_queue(struct dasd_block *block)blk_queue_flag_set (QUEUE_FLAG_DISCARD , q); } +static int dasd_fba_pe_handler (struct dasd_device *device, +__u8 tbvpm,__u8 fcsecpm) +{ +return dasd_generic_verify_path (device, tbvpm); +} +static struct dasd_discipline dasd_fba_discipline = { .owner =THIS_MODULE , .name ="FBA " , .ebcname ="FBA " , .check_device = dasd_fba_check_characteristics, .do_analysis = dasd_fba_do_analysis, - .verify_path = dasd_generic_verify_path, + .pe_handler = dasd_fba_pe_handler, .setup_blk_queue = dasd_fba_setup_blk_queue, .fill_geometry = dasd_fba_fill_geometry, .start_IO = dasd_start_IO,
drivers/s390/block/dasd_int.h +0 -1
@@ -297,7 +297,6 @@ struct dasd_discipline {* e.g. verify that new path is compatible with the current * configuration. */ -int (*verify_path)(struct dasd_device *,__u8 );int (*pe_handler)(struct dasd_device *,__u8 ,__u8 );/*
Jan Höppner
maintainerPATCH 1/1 s390/dasd: add missing discipline function
From: Stefan Haberland <[email protected]>
Fix crash with illegal operation exception in dasd_device_tasklet. Commit b72949328869 ("s390/dasd: Prepare for additional path event handling") renamed the verify_path function for ECKD but not for FBA and DIAG. This leads to a panic when the path verification function is called for a FBA or DIAG device.
Fix by defining a wrapper function for dasd_generic_verify_path().
--- drivers/s390/block/dasd_diag.c | 7 ++++++- drivers/s390/block/dasd_fba.c | 7 ++++++- drivers/s390/block/dasd_int.h | 1 - 3 files changed, 12 insertions(+), 3 deletions(-)
drivers/s390/block/dasd_diag.c +6 -1
@@ -644,12 +644,17 @@ static void dasd_diag_setup_blk_queue(struct dasd_block *block)blk_queue_segment_boundary (q,PAGE_SIZE -1 ); } +static int dasd_diag_pe_handler (struct dasd_device *device,__u8 tbvpm) +{ +return dasd_generic_verify_path (device, tbvpm); +} +static struct dasd_discipline dasd_diag_discipline = { .owner =THIS_MODULE , .name ="DIAG" , .ebcname ="DIAG" , .check_device = dasd_diag_check_device, - .verify_path = dasd_generic_verify_path, + .pe_handler = dasd_diag_pe_handler, .fill_geometry = dasd_diag_fill_geometry, .setup_blk_queue = dasd_diag_setup_blk_queue, .start_IO = dasd_start_diag,
drivers/s390/block/dasd_fba.c +6 -1
@@ -803,13 +803,18 @@ static void dasd_fba_setup_blk_queue(struct dasd_block *block)blk_queue_flag_set (QUEUE_FLAG_DISCARD , q); } +static int dasd_fba_pe_handler (struct dasd_device *device,__u8 tbvpm) +{ +return dasd_generic_verify_path (device, tbvpm); +} +static struct dasd_discipline dasd_fba_discipline = { .owner =THIS_MODULE , .name ="FBA " , .ebcname ="FBA " , .check_device = dasd_fba_check_characteristics, .do_analysis = dasd_fba_do_analysis, - .verify_path = dasd_generic_verify_path, + .pe_handler = dasd_fba_pe_handler, .setup_blk_queue = dasd_fba_setup_blk_queue, .fill_geometry = dasd_fba_fill_geometry, .start_IO = dasd_start_IO,
drivers/s390/block/dasd_int.h +0 -1
@@ -298,7 +298,6 @@ struct dasd_discipline {* e.g. verify that new path is compatible with the current * configuration. */ -int (*verify_path)(struct dasd_device *,__u8 );int (*pe_handler)(struct dasd_device *,__u8 );/*
Signature · 1 line
2.37.2
Greg KH
maintainerRe: [PATCH 5.4.y] s390/dasd: add missing discipline function
Quoted 17 lines · Jan Höppner
From: Stefan Haberland <[email protected]>
Fix crash with illegal operation exception in
dasd_device_tasklet. Commitb72949328869("s390/dasd: Prepare for additional path event handling") renamed theverify_pathfunction for ECKD but not for FBA and DIAG. This leads to a panic when the path verification function is called for a FBA or DIAG device.Fix by defining a wrapper function for
dasd_generic_verify_path().Fixes b72949328869 ("s390/dasd: Prepare for additional path event handling")Cc <[email protected]> #5.11Reviewed-by Jan Hoeppner <[email protected]>Signed-off-by Stefan Haberland <[email protected]>Reviewed-by Cornelia Huck <[email protected]>Signed-off-by Jens Axboe <[email protected]>
Quoted 5 lines
--- drivers/s390/block/dasd_diag.c | 7 ++++++- drivers/s390/block/dasd_fba.c | 7 ++++++- drivers/s390/block/dasd_int.h | 1 - 3 files changed, 12 insertions(+), 3 deletions(-)
What is the git commit id of this change in Linus's tree?
thanks,
greg k-h
Greg KH
maintainerRe: [PATCH 5.4.y] s390/dasd: add missing discipline function
Quoted 24 lines · Greg KH
Quoted 17 lines · Jan Höppner
From: Stefan Haberland <[email protected]>
Fix crash with illegal operation exception in
dasd_device_tasklet. Commitb72949328869("s390/dasd: Prepare for additional path event handling") renamed theverify_pathfunction for ECKD but not for FBA and DIAG. This leads to a panic when the path verification function is called for a FBA or DIAG device.Fix by defining a wrapper function for
dasd_generic_verify_path().Fixes b72949328869 ("s390/dasd: Prepare for additional path event handling")Cc <[email protected]> #5.11Reviewed-by Jan Hoeppner <[email protected]>Signed-off-by Stefan Haberland <[email protected]>Reviewed-by Cornelia Huck <[email protected]>Signed-off-by Jens Axboe <[email protected]>Quoted 5 lines
--- drivers/s390/block/dasd_diag.c | 7 ++++++- drivers/s390/block/dasd_fba.c | 7 ++++++- drivers/s390/block/dasd_int.h | 1 - 3 files changed, 12 insertions(+), 3 deletions(-)
Quoted 1 line
What is the git commit id of this change in Linus's tree?
Nevermind, I dug in the tree and found it...