Skip to content

Commit 49d8f67

Browse files
committed
[KERNEL] Fix linter complaints
1 parent a853b64 commit 49d8f67

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

src/kernel/net.c

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@
3131
#define get_random_u32 prandom_u32
3232
#endif
3333

34+
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0)
35+
// Old
36+
#define dnbd3_kmap kmap
37+
#define dnbd3_kunmap(page, addr) kunmap(page)
38+
#else
39+
// New
40+
#define dnbd3_kmap kmap_local_page
41+
#define dnbd3_kunmap(page, addr) kunmap_local(addr)
42+
#endif
43+
3444
#include <linux/time.h>
3545
#include <linux/ktime.h>
3646
#include <linux/tcp.h>
@@ -224,9 +234,8 @@ static void dnbd3_internal_discover(dnbd3_device_t *dev)
224234
best_server.ss_family = 0;
225235
best_rtt = RTT_UNREACHABLE;
226236

227-
if (dev->panic) {
237+
if (dev->panic)
228238
dnbd3_dev_dbg_host(dev, &host_compare, "Discover in panic mode\n");
229-
}
230239

231240
if (!ready || dev->panic)
232241
isize = NUMBER_SERVERS;
@@ -540,11 +549,11 @@ static void dnbd3_recv_workfn(struct work_struct *work)
540549
bvec->bv_len, remaining);
541550
ret = -1;
542551
} else {
543-
kaddr = kmap(bvec->bv_page) + bvec->bv_offset;
552+
kaddr = dnbd3_kmap(bvec->bv_page) + bvec->bv_offset;
544553
iov.iov_base = kaddr;
545554
iov.iov_len = bvec->bv_len;
546555
ret = kernel_recvmsg(dev->sock, &msg, &iov, 1, bvec->bv_len, msg.msg_flags);
547-
kunmap(bvec->bv_page);
556+
dnbd3_kunmap(bvec->bv_page, kaddr);
548557
}
549558
if (ret != bvec->bv_len) {
550559
if (ret == 0) {
@@ -837,7 +846,7 @@ static bool dnbd3_execute_handshake(dnbd3_device_t *dev, struct socket *sock,
837846
(int)MIN_SUPPORTED_SERVER);
838847
goto error;
839848
}
840-
if (name == NULL) {
849+
if (name == NULL || *name == '\0') {
841850
dnbd3_err_dbg_host(dev, addr, "server did not supply an image name\n");
842851
goto error;
843852
}
@@ -847,20 +856,22 @@ static bool dnbd3_execute_handshake(dnbd3_device_t *dev, struct socket *sock,
847856
}
848857

849858
if (copy_data) {
859+
const size_t namelen = strlen(name);
860+
850861
if (filesize < DNBD3_BLOCK_SIZE) {
851862
dnbd3_err_dbg_host(dev, addr, "reported size by server is < 4096\n");
852863
goto error;
853864
}
854865
spin_lock_irqsave(&dev->blk_lock, irqflags);
855-
if (strlen(dev->imgname) < strlen(name)) {
856-
dev->imgname = krealloc(dev->imgname, strlen(name) + 1, GFP_KERNEL);
866+
if (strlen(dev->imgname) < namelen) {
867+
dev->imgname = krealloc(dev->imgname, namelen + 1, GFP_KERNEL);
857868
if (dev->imgname == NULL) {
858869
spin_unlock_irqrestore(&dev->blk_lock, irqflags);
859870
dnbd3_err_dbg_host(dev, addr, "reallocating buffer for new image name failed\n");
860871
goto error;
861872
}
862873
}
863-
strcpy(dev->imgname, name);
874+
strscpy(dev->imgname, name, namelen + 1);
864875
dev->rid = rid;
865876
// store image information
866877
dev->reported_size = filesize;

src/kernel/sysfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ static void release(struct kobject *kobj)
162162
kobj->state_initialized = 0;
163163
}
164164

165-
struct kobj_type device_ktype = {
165+
const struct kobj_type device_ktype = {
166166
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
167167
.default_attrs = device_attrs,
168168
#else
@@ -176,7 +176,7 @@ void dnbd3_sysfs_init(dnbd3_device_t *dev)
176176
{
177177
int error;
178178
struct kobject *kobj = &dev->kobj;
179-
struct kobj_type *ktype = &device_ktype;
179+
const struct kobj_type *ktype = &device_ktype;
180180
struct kobject *parent = &disk_to_dev(dev->disk)->kobj;
181181

182182
error = kobject_init_and_add(kobj, ktype, parent, "%s", "net");

0 commit comments

Comments
 (0)