]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: ignore additional newline in sysfs attribute on verify 19318/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 14 Apr 2021 16:44:48 +0000 (01:44 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 14 Apr 2021 16:46:58 +0000 (01:46 +0900)
Some driver may automatically add additional newline at the end.
E.g., portno attribute for qeth driver.

Fixes #19314.

src/udev/udev-rules.c

index 57ede6a197f6dffef867b835fb11f4de8c1dd35f..666c413454ea4500a63774528bd362926b7a5677 100644 (file)
@@ -2123,7 +2123,11 @@ static int udev_rule_apply_token_to_event(
                 (void) udev_event_apply_format(event, token->value, value, sizeof(value), false);
 
                 log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value);
-                r = write_string_file(buf, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_AVOID_NEWLINE);
+                r = write_string_file(buf, value,
+                                      WRITE_STRING_FILE_VERIFY_ON_FAILURE |
+                                      WRITE_STRING_FILE_DISABLE_BUFFER |
+                                      WRITE_STRING_FILE_AVOID_NEWLINE |
+                                      WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
                 if (r < 0)
                         log_rule_error_errno(dev, rules, r, "Failed to write ATTR{%s}, ignoring: %m", buf);
                 break;