]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fuzz cleanup
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Feb 2026 05:17:36 +0000 (21:17 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Feb 2026 05:17:36 +0000 (21:17 -0800)
queue-6.12/ata-libata-avoid-long-timeouts-on-hot-unplugged-sata.patch
queue-6.12/ext4-propagate-flags-to-convert_initialized_extent.patch
queue-6.12/ext4-use-reserved-metadata-blocks-when-splitting-ext.patch
queue-6.6/ata-libata-avoid-long-timeouts-on-hot-unplugged-sata.patch

index a288a0850f05db1444c3859f0a69c00ccd54c174..bbe4bcbbf514a37777cc8728f610bccc2bfd55c3 100644 (file)
@@ -67,17 +67,15 @@ Signed-off-by: Henry Tseng <henrytseng@qnap.com>
 Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/ata/libata-core.c | 24 ++++++++++++++++++++++++
- drivers/ata/libata-eh.c   |  3 ++-
- drivers/ata/libata-scsi.c |  3 +++
- drivers/ata/libata.h      |  1 +
+ drivers/ata/libata-core.c |   24 ++++++++++++++++++++++++
+ drivers/ata/libata-eh.c   |    3 ++-
+ drivers/ata/libata-scsi.c |    3 +++
+ drivers/ata/libata.h      |    1 +
  4 files changed, 30 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
-index 33454d01c2044..39dcefb1fdd54 100644
 --- a/drivers/ata/libata-core.c
 +++ b/drivers/ata/libata-core.c
-@@ -2329,6 +2329,24 @@ static bool ata_dev_check_adapter(struct ata_device *dev,
+@@ -2329,6 +2329,24 @@ static bool ata_dev_check_adapter(struct
        return false;
  }
  
@@ -102,7 +100,7 @@ index 33454d01c2044..39dcefb1fdd54 100644
  static int ata_dev_config_ncq(struct ata_device *dev,
                               char *desc, size_t desc_sz)
  {
-@@ -5023,6 +5041,12 @@ void ata_qc_issue(struct ata_queued_cmd *qc)
+@@ -5023,6 +5041,12 @@ void ata_qc_issue(struct ata_queued_cmd
        qc->flags |= ATA_QCFLAG_ACTIVE;
        ap->qc_active |= 1ULL << qc->tag;
  
@@ -115,11 +113,9 @@ index 33454d01c2044..39dcefb1fdd54 100644
        /*
         * We guarantee to LLDs that they will have at least one
         * non-zero sg if the command is a data command.
-diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
-index 16cd676eae1f9..205c62cf9e32d 100644
 --- a/drivers/ata/libata-eh.c
 +++ b/drivers/ata/libata-eh.c
-@@ -738,7 +738,8 @@ void ata_scsi_port_error_handler(struct Scsi_Host *host, struct ata_port *ap)
+@@ -738,7 +738,8 @@ void ata_scsi_port_error_handler(struct
        spin_unlock_irqrestore(ap->lock, flags);
  
        /* invoke EH, skip if unloading or suspended */
@@ -129,11 +125,9 @@ index 16cd676eae1f9..205c62cf9e32d 100644
                ap->ops->error_handler(ap);
        else {
                /* if unloading, commence suicide */
-diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
-index 74842750b2ed4..e39f1b3f6cb4e 100644
 --- a/drivers/ata/libata-scsi.c
 +++ b/drivers/ata/libata-scsi.c
-@@ -2838,6 +2838,9 @@ ata_scsi_find_dev(struct ata_port *ap, const struct scsi_device *scsidev)
+@@ -2857,6 +2857,9 @@ ata_scsi_find_dev(struct ata_port *ap, c
  {
        struct ata_device *dev = __ata_scsi_find_dev(ap, scsidev);
  
@@ -143,11 +137,9 @@ index 74842750b2ed4..e39f1b3f6cb4e 100644
        if (unlikely(!dev || !ata_dev_enabled(dev)))
                return NULL;
  
-diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
-index 0337be4faec7c..d07693bd054eb 100644
 --- a/drivers/ata/libata.h
 +++ b/drivers/ata/libata.h
-@@ -82,6 +82,7 @@ extern int atapi_check_dma(struct ata_queued_cmd *qc);
+@@ -82,6 +82,7 @@ extern int atapi_check_dma(struct ata_qu
  extern void swap_buf_le16(u16 *buf, unsigned int buf_words);
  extern bool ata_phys_link_online(struct ata_link *link);
  extern bool ata_phys_link_offline(struct ata_link *link);
@@ -155,6 +147,3 @@ index 0337be4faec7c..d07693bd054eb 100644
  extern void ata_dev_init(struct ata_device *dev);
  extern void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp);
  extern int sata_link_init_spd(struct ata_link *link);
--- 
-2.51.0
-
index 2bba30dfc7ebbb14f2c1a65f00dc3e7f2d528c99..fe14b9da7be428becebb49880496e755943d73b0 100644 (file)
@@ -23,14 +23,12 @@ Link: https://patch.msgid.link/07008fbb14db727fddcaf4c30e2346c49f6c8fe0.17691491
 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- fs/ext4/extents.c | 7 ++++---
+ fs/ext4/extents.c |    7 ++++---
  1 file changed, 4 insertions(+), 3 deletions(-)
 
-diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
-index da68c3726ddaf..b4ea8d3745a52 100644
 --- a/fs/ext4/extents.c
 +++ b/fs/ext4/extents.c
-@@ -3816,6 +3816,7 @@ static struct ext4_ext_path *
+@@ -3851,6 +3851,7 @@ static struct ext4_ext_path *
  convert_initialized_extent(handle_t *handle, struct inode *inode,
                           struct ext4_map_blocks *map,
                           struct ext4_ext_path *path,
@@ -38,7 +36,7 @@ index da68c3726ddaf..b4ea8d3745a52 100644
                           unsigned int *allocated)
  {
        struct ext4_extent *ex;
-@@ -3841,11 +3842,11 @@ convert_initialized_extent(handle_t *handle, struct inode *inode,
+@@ -3876,11 +3877,11 @@ convert_initialized_extent(handle_t *han
  
        if (ee_block != map->m_lblk || ee_len > map->m_len) {
                path = ext4_split_convert_extents(handle, inode, map, path,
@@ -52,7 +50,7 @@ index da68c3726ddaf..b4ea8d3745a52 100644
                if (IS_ERR(path))
                        return path;
                depth = ext_depth(inode);
-@@ -4257,7 +4258,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
+@@ -4292,7 +4293,7 @@ int ext4_ext_map_blocks(handle_t *handle
                        if ((!ext4_ext_is_unwritten(ex)) &&
                            (flags & EXT4_GET_BLOCKS_CONVERT_UNWRITTEN)) {
                                path = convert_initialized_extent(handle,
@@ -61,6 +59,3 @@ index da68c3726ddaf..b4ea8d3745a52 100644
                                if (IS_ERR(path))
                                        err = PTR_ERR(path);
                                goto out;
--- 
-2.51.0
-
index a5f8e26f26d66d849afbd083e364db40410abccd..9487bbf697360ffd55a1d29545dda877a1d2bc73 100644 (file)
@@ -34,14 +34,12 @@ Link: https://patch.msgid.link/20260105014522.1937690-2-yi.zhang@huaweicloud.com
 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- fs/ext4/extents.c | 4 +++-
+ fs/ext4/extents.c |    4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
 
-diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
-index 2f9c3cd4f26cc..da68c3726ddaf 100644
 --- a/fs/ext4/extents.c
 +++ b/fs/ext4/extents.c
-@@ -3768,6 +3768,8 @@ ext4_convert_unwritten_extents_endio(handle_t *handle, struct inode *inode,
+@@ -3803,6 +3803,8 @@ ext4_convert_unwritten_extents_endio(han
         * illegal.
         */
        if (ee_block != map->m_lblk || ee_len > map->m_len) {
@@ -50,7 +48,7 @@ index 2f9c3cd4f26cc..da68c3726ddaf 100644
  #ifdef CONFIG_EXT4_DEBUG
                ext4_warning(inode->i_sb, "Inode (%ld) finished: extent logical block %llu,"
                             " len %u; IO logical block %llu, len %u",
-@@ -3775,7 +3777,7 @@ ext4_convert_unwritten_extents_endio(handle_t *handle, struct inode *inode,
+@@ -3810,7 +3812,7 @@ ext4_convert_unwritten_extents_endio(han
                             (unsigned long long)map->m_lblk, map->m_len);
  #endif
                path = ext4_split_convert_extents(handle, inode, map, path,
@@ -59,6 +57,3 @@ index 2f9c3cd4f26cc..da68c3726ddaf 100644
                if (IS_ERR(path))
                        return path;
  
--- 
-2.51.0
-
index ab2ac75064bbb3feeb51ec7f33e5703d44c48305..e3ef89e26230bd82110184cc52d4a833a57cf1e5 100644 (file)
@@ -67,17 +67,15 @@ Signed-off-by: Henry Tseng <henrytseng@qnap.com>
 Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/ata/libata-core.c | 24 ++++++++++++++++++++++++
- drivers/ata/libata-eh.c   |  3 ++-
- drivers/ata/libata-scsi.c |  3 +++
- drivers/ata/libata.h      |  1 +
+ drivers/ata/libata-core.c |   24 ++++++++++++++++++++++++
+ drivers/ata/libata-eh.c   |    3 ++-
+ drivers/ata/libata-scsi.c |    3 +++
+ drivers/ata/libata.h      |    1 +
  4 files changed, 30 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
-index d5e713f284b71..91c6291b01f4e 100644
 --- a/drivers/ata/libata-core.c
 +++ b/drivers/ata/libata-core.c
-@@ -2318,6 +2318,24 @@ static bool ata_dev_check_adapter(struct ata_device *dev,
+@@ -2318,6 +2318,24 @@ static bool ata_dev_check_adapter(struct
        return false;
  }
  
@@ -102,7 +100,7 @@ index d5e713f284b71..91c6291b01f4e 100644
  static int ata_dev_config_ncq(struct ata_device *dev,
                               char *desc, size_t desc_sz)
  {
-@@ -5023,6 +5041,12 @@ void ata_qc_issue(struct ata_queued_cmd *qc)
+@@ -5023,6 +5041,12 @@ void ata_qc_issue(struct ata_queued_cmd
        qc->flags |= ATA_QCFLAG_ACTIVE;
        ap->qc_active |= 1ULL << qc->tag;
  
@@ -115,11 +113,9 @@ index d5e713f284b71..91c6291b01f4e 100644
        /*
         * We guarantee to LLDs that they will have at least one
         * non-zero sg if the command is a data command.
-diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
-index 3263fc13491e1..fc2c508c41bd4 100644
 --- a/drivers/ata/libata-eh.c
 +++ b/drivers/ata/libata-eh.c
-@@ -723,7 +723,8 @@ void ata_scsi_port_error_handler(struct Scsi_Host *host, struct ata_port *ap)
+@@ -723,7 +723,8 @@ void ata_scsi_port_error_handler(struct
        spin_unlock_irqrestore(ap->lock, flags);
  
        /* invoke EH, skip if unloading or suspended */
@@ -129,11 +125,9 @@ index 3263fc13491e1..fc2c508c41bd4 100644
                ap->ops->error_handler(ap);
        else {
                /* if unloading, commence suicide */
-diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
-index 8f6a7acf770e4..51980996200c8 100644
 --- a/drivers/ata/libata-scsi.c
 +++ b/drivers/ata/libata-scsi.c
-@@ -2867,6 +2867,9 @@ ata_scsi_find_dev(struct ata_port *ap, const struct scsi_device *scsidev)
+@@ -2886,6 +2886,9 @@ ata_scsi_find_dev(struct ata_port *ap, c
  {
        struct ata_device *dev = __ata_scsi_find_dev(ap, scsidev);
  
@@ -143,11 +137,9 @@ index 8f6a7acf770e4..51980996200c8 100644
        if (unlikely(!dev || !ata_dev_enabled(dev)))
                return NULL;
  
-diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
-index 05ac80da8ebc7..9927d79e55878 100644
 --- a/drivers/ata/libata.h
 +++ b/drivers/ata/libata.h
-@@ -75,6 +75,7 @@ extern int atapi_check_dma(struct ata_queued_cmd *qc);
+@@ -75,6 +75,7 @@ extern int atapi_check_dma(struct ata_qu
  extern void swap_buf_le16(u16 *buf, unsigned int buf_words);
  extern bool ata_phys_link_online(struct ata_link *link);
  extern bool ata_phys_link_offline(struct ata_link *link);
@@ -155,6 +147,3 @@ index 05ac80da8ebc7..9927d79e55878 100644
  extern void ata_dev_init(struct ata_device *dev);
  extern void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp);
  extern int sata_link_init_spd(struct ata_link *link);
--- 
-2.51.0
-