On 5/1/2025 9:35 PM, Greg Kroah-Hartman wrote:
On Mon, Apr 28, 2025 at 02:37:22PM +0530, Naman Jain wrote:


On 4/25/2025 7:30 PM, Greg Kroah-Hartman wrote:
On Thu, Apr 24, 2025 at 11:05:22AM +0530, Naman Jain wrote:
Hi,
This patch series aims to address the sysfs creation issue for the ring
buffer by reorganizing the code. Additionally, it updates the ring sysfs
size to accurately reflect the actual ring buffer size, rather than a
fixed static value.

PFB change logs:

Changes since v5:
https://lore.kernel.org/all/20250415164452.170239-1-namj...@linux.microsoft.com/
* Added Reviewed-By tags from Dexuan. Also, addressed minor comments in
    commit msg of both patches.
* Missed to remove check for "primary_channel->device_obj->channels_kset" in
    hv_create_ring_sysfs in earlier patch, as suggested by Michael. Did it
    now.
* Changed type for declaring bin_attrs due to changes introduced by
    commit 9bec944506fa ("sysfs: constify attribute_group::bin_attrs") which
    merged recently. Did not use bin_attrs_new since another change is in
    the queue to change usage of bin_attrs_new to bin_attrs
    (sysfs: finalize the constification of 'struct bin_attribute').

Please fix up to apply cleanly without build warnings:

drivers/hv/vmbus_drv.c:1893:15: error: initializing 'struct bin_attribute **' 
with an expression of type 'const struct bin_attribute *const[2]' discards 
qualifiers in nested pointer types 
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
   1893 |         .bin_attrs = vmbus_chan_bin_attrs,
        |                      ^~~~~~~~~~~~~~~~~~~~
1 error generated.

Hi Greg,
I tried reproducing this error but could not see it. Should I rebase the
change to some other tree or use some specific config option, gcc version,
compilation flag etc.?

I tried the following:
* Rebased to latest linux-next tip with below base commit:
393d0c54cae31317deaa9043320c5fd9454deabc
* Regular compilation with gcc: make -j8
* extra flags:
   make -j8  EXTRA_CFLAGS="-Wall -O2"
   make -j8 EXTRA_CFLAGS="-Wincompatible-pointer-types-discards-qualifiers
-Werror"
* Tried gcc 11.4, 13.3
* Tried clang/LLVM with version 18.1.3 : make LLVM=1

I tried this against my char-misc-linus branch (which is pretty much
just 6.15.0-rc4 plus some iio patches), and it fails with that error
above.

BTW I had to edit the type for bin_attrs as this change got merged recently:
9bec944506fa ("sysfs: constify attribute_group::bin_attrs")

diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 576b8b3c60af..f418aae4f113 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -107,7 +107,7 @@ struct attribute_group {
                                             int);
         struct attribute        **attrs;
         union {
-               struct bin_attribute            **bin_attrs;
+               const struct bin_attribute      *const *bin_attrs;
                 const struct bin_attribute      *const *bin_attrs_new;
         };
  };

That commit is not in my char-misc branches, that's coming from
somewhere else.

thanks,

greg k-h

Hi Greg,

I can send a patch based on char-misc/6.15.0-rc4 which does not have this patch, but I am worried that it will cause compilation issues when your branch is merged with linux-next since this change is already there in linux-next. Do you want me to proceed with sending a patch on 6.15.0-rc4?

Here are more details of that patch:

"""
sysfs: constify attribute_group::bin_attrs
All users of this field have been migrated to bin_attrs_new.
It can now be constified.

Signed-off-by: Thomas Weißschuh <li...@weissschuh.net>
Link: https://lore.kernel.org/r/20250313-sysfs-const-bin_attr-final-v2-2-96284e1e8...@weissschuh.net
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

"""

Regards,
Naman

Reply via email to