Loading drivers/staging/silicom/bp_mod.c +43 −280 Original line number Diff line number Diff line Loading @@ -7541,22 +7541,17 @@ get_wd_set_caps_pfs(char *page, char **start, off_t off, int count, return len; } int set_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) static int user_on_off(const void __user *buffer, size_t count) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; int length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { if (copy_from_user(&kbuf, buffer, count)) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); Loading @@ -7564,12 +7559,22 @@ set_bypass_pfs(struct file *file, const char *buffer, kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; return 1; if (strcmp(kbuf, "off") == 0) return 0; return 0; } set_bypass_fn(pbp_device_block, bypass_param); int set_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -1; set_bypass_fn(pbp_device_block, bypass_param); return count; } Loading @@ -7578,30 +7583,12 @@ set_tap_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -1; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_tap_fn(pbp_device_block, tap_param); return count; } Loading @@ -7610,30 +7597,12 @@ set_disc_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -1; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_disc_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -7914,30 +7883,12 @@ set_dis_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_dis_bypass_fn(pbp_device_block, bypass_param); return count; } Loading @@ -7946,30 +7897,12 @@ set_dis_tap_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_dis_tap_fn(pbp_device_block, tap_param); return count; } Loading @@ -7978,30 +7911,12 @@ set_dis_disc_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_dis_disc_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -8069,31 +7984,12 @@ int set_bypass_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_bypass_pwup_fn(pbp_device_block, bypass_param); return count; } Loading @@ -8101,31 +7997,12 @@ int set_bypass_pwoff_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_bypass_pwoff_fn(pbp_device_block, bypass_param); return count; } Loading @@ -8133,31 +8010,12 @@ int set_tap_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_tap_pwup_fn(pbp_device_block, tap_param); return count; } Loading @@ -8165,31 +8023,12 @@ int set_disc_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_disc_pwup_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -8277,31 +8116,12 @@ int set_std_nic_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_std_nic_fn(pbp_device_block, bypass_param); return count; } Loading Loading @@ -8420,31 +8240,12 @@ int set_tpl_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_tpl_fn(pbp_device_block, tpl_param); return count; } Loading @@ -8453,31 +8254,12 @@ int set_wait_at_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_bp_wait_at_pwup_fn(pbp_device_block, tpl_param); return count; } Loading @@ -8485,31 +8267,12 @@ int set_hw_reset_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_bp_hw_reset_fn(pbp_device_block, tpl_param); return count; } Loading Loading
drivers/staging/silicom/bp_mod.c +43 −280 Original line number Diff line number Diff line Loading @@ -7541,22 +7541,17 @@ get_wd_set_caps_pfs(char *page, char **start, off_t off, int count, return len; } int set_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) static int user_on_off(const void __user *buffer, size_t count) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; int length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { if (copy_from_user(&kbuf, buffer, count)) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); Loading @@ -7564,12 +7559,22 @@ set_bypass_pfs(struct file *file, const char *buffer, kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; return 1; if (strcmp(kbuf, "off") == 0) return 0; return 0; } set_bypass_fn(pbp_device_block, bypass_param); int set_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -1; set_bypass_fn(pbp_device_block, bypass_param); return count; } Loading @@ -7578,30 +7583,12 @@ set_tap_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -1; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_tap_fn(pbp_device_block, tap_param); return count; } Loading @@ -7610,30 +7597,12 @@ set_disc_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -1; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_disc_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -7914,30 +7883,12 @@ set_dis_bypass_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_dis_bypass_fn(pbp_device_block, bypass_param); return count; } Loading @@ -7946,30 +7897,12 @@ set_dis_tap_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_dis_tap_fn(pbp_device_block, tap_param); return count; } Loading @@ -7978,30 +7911,12 @@ set_dis_disc_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_dis_disc_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -8069,31 +7984,12 @@ int set_bypass_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_bypass_pwup_fn(pbp_device_block, bypass_param); return count; } Loading @@ -8101,31 +7997,12 @@ int set_bypass_pwoff_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_bypass_pwoff_fn(pbp_device_block, bypass_param); return count; } Loading @@ -8133,31 +8010,12 @@ int set_tap_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_tap_pwup_fn(pbp_device_block, tap_param); return count; } Loading @@ -8165,31 +8023,12 @@ int set_disc_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tap_param = 0, length = 0; if (count >= sizeof(kbuf)) int tap_param = user_on_off(buffer, count); if (tap_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tap_param = 1; else if (strcmp(kbuf, "off") == 0) tap_param = 0; set_disc_pwup_fn(pbp_device_block, tap_param); return count; } Loading Loading @@ -8277,31 +8116,12 @@ int set_std_nic_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int bypass_param = 0, length = 0; if (count >= sizeof(kbuf)) int bypass_param = user_on_off(buffer, count); if (bypass_param < 0) return -EINVAL; if (copy_from_user(&kbuf, buffer, count)) { return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) bypass_param = 1; else if (strcmp(kbuf, "off") == 0) bypass_param = 0; set_std_nic_fn(pbp_device_block, bypass_param); return count; } Loading Loading @@ -8420,31 +8240,12 @@ int set_tpl_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_tpl_fn(pbp_device_block, tpl_param); return count; } Loading @@ -8453,31 +8254,12 @@ int set_wait_at_pwup_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_bp_wait_at_pwup_fn(pbp_device_block, tpl_param); return count; } Loading @@ -8485,31 +8267,12 @@ int set_hw_reset_pfs(struct file *file, const char *buffer, unsigned long count, void *data) { char kbuf[256]; bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data; int tpl_param = 0, length = 0; if (count > (sizeof(kbuf) - 1)) return -1; if (copy_from_user(&kbuf, buffer, count)) { int tpl_param = user_on_off(buffer, count); if (tpl_param < 0) return -1; } kbuf[count] = '\0'; length = strlen(kbuf); if (kbuf[length - 1] == '\n') kbuf[--length] = '\0'; if (strcmp(kbuf, "on") == 0) tpl_param = 1; else if (strcmp(kbuf, "off") == 0) tpl_param = 0; set_bp_hw_reset_fn(pbp_device_block, tpl_param); return count; } Loading