mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-21 19:58:34 -05:00
RDMA/qib: Constify 'struct bin_attribute'
The sysfs core now allows instances of 'struct bin_attribute' to be moved into read-only memory. Make use of that to protect them against accidental or malicious modifications. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Link: https://patch.msgid.link/20250114-sysfs-const-bin_attr-infiniband-v1-2-397aaa94d453@weissschuh.net Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
committed by
Leon Romanovsky
parent
39d772f665
commit
f5f01c5c40
@@ -214,8 +214,8 @@ static const struct attribute_group port_linkcontrol_group = {
|
||||
* Congestion control table size followed by table entries
|
||||
*/
|
||||
static ssize_t cc_table_bin_read(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr, char *buf,
|
||||
loff_t pos, size_t count)
|
||||
const struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t pos, size_t count)
|
||||
{
|
||||
struct qib_pportdata *ppd = qib_get_pportdata_kobj(kobj);
|
||||
int ret;
|
||||
@@ -241,7 +241,7 @@ static ssize_t cc_table_bin_read(struct file *filp, struct kobject *kobj,
|
||||
|
||||
return count;
|
||||
}
|
||||
static BIN_ATTR_RO(cc_table_bin, PAGE_SIZE);
|
||||
static const BIN_ATTR_RO(cc_table_bin, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
* Congestion settings: port control, control map and an array of 16
|
||||
@@ -249,8 +249,8 @@ static BIN_ATTR_RO(cc_table_bin, PAGE_SIZE);
|
||||
* trigger threshold and the minimum injection rate delay.
|
||||
*/
|
||||
static ssize_t cc_setting_bin_read(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr, char *buf,
|
||||
loff_t pos, size_t count)
|
||||
const struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t pos, size_t count)
|
||||
{
|
||||
struct qib_pportdata *ppd = qib_get_pportdata_kobj(kobj);
|
||||
int ret;
|
||||
@@ -274,9 +274,9 @@ static ssize_t cc_setting_bin_read(struct file *filp, struct kobject *kobj,
|
||||
|
||||
return count;
|
||||
}
|
||||
static BIN_ATTR_RO(cc_setting_bin, PAGE_SIZE);
|
||||
static const BIN_ATTR_RO(cc_setting_bin, PAGE_SIZE);
|
||||
|
||||
static struct bin_attribute *port_ccmgta_attributes[] = {
|
||||
static const struct bin_attribute *const port_ccmgta_attributes[] = {
|
||||
&bin_attr_cc_setting_bin,
|
||||
&bin_attr_cc_table_bin,
|
||||
NULL,
|
||||
@@ -295,7 +295,7 @@ static umode_t qib_ccmgta_is_bin_visible(struct kobject *kobj,
|
||||
static const struct attribute_group port_ccmgta_attribute_group = {
|
||||
.name = "CCMgtA",
|
||||
.is_bin_visible = qib_ccmgta_is_bin_visible,
|
||||
.bin_attrs = port_ccmgta_attributes,
|
||||
.bin_attrs_new = port_ccmgta_attributes,
|
||||
};
|
||||
|
||||
/* Start sl2vl */
|
||||
|
||||
Reference in New Issue
Block a user