]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drivers: misc: sram: fix up some const issues with recent attribute changes
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 May 2025 14:16:26 +0000 (16:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Jun 2025 15:44:44 +0000 (16:44 +0100)
The binary attribute const changes recently for the sram driver were
made in a way that hid the fact that we would be casting a const pointer
to a non-const one.  So explicitly make the cast so that it is obvious
and preserve the const pointer in the sram_reserve_cmp() function.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Weißschuh <linux@weissschuh.net>
Fixes: c3b8c358c4f3 ("misc: sram: constify 'struct bin_attribute'")
Link: https://lore.kernel.org/r/2025052125-squid-sandstorm-a418@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/sram.c

index e5069882457ef6ba5dc084d02994034dc39d24c6..c69644be4176ab12bb5408e45a0b3dff26a40487 100644 (file)
@@ -28,7 +28,8 @@ static ssize_t sram_read(struct file *filp, struct kobject *kobj,
 {
        struct sram_partition *part;
 
-       part = container_of(attr, struct sram_partition, battr);
+       /* Cast away the const as the attribute is part of a larger structure */
+       part = (struct sram_partition *)container_of(attr, struct sram_partition, battr);
 
        mutex_lock(&part->lock);
        memcpy_fromio(buf, part->base + pos, count);
@@ -43,7 +44,8 @@ static ssize_t sram_write(struct file *filp, struct kobject *kobj,
 {
        struct sram_partition *part;
 
-       part = container_of(attr, struct sram_partition, battr);
+       /* Cast away the const as the attribute is part of a larger structure */
+       part = (struct sram_partition *)container_of(attr, struct sram_partition, battr);
 
        mutex_lock(&part->lock);
        memcpy_toio(part->base + pos, buf, count);
@@ -164,8 +166,8 @@ static void sram_free_partitions(struct sram_dev *sram)
 static int sram_reserve_cmp(void *priv, const struct list_head *a,
                                        const struct list_head *b)
 {
-       struct sram_reserve *ra = list_entry(a, struct sram_reserve, list);
-       struct sram_reserve *rb = list_entry(b, struct sram_reserve, list);
+       const struct sram_reserve *ra = list_entry(a, struct sram_reserve, list);
+       const struct sram_reserve *rb = list_entry(b, struct sram_reserve, list);
 
        return ra->start - rb->start;
 }