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
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;
};
};
Regards,
Naman