From: Yu Watanabe Date: Wed, 14 Apr 2021 16:44:48 +0000 (+0900) Subject: udev: ignore additional newline in sysfs attribute on verify X-Git-Tag: v249-rc1~406^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F19318%2Fhead;p=thirdparty%2Fsystemd.git udev: ignore additional newline in sysfs attribute on verify Some driver may automatically add additional newline at the end. E.g., portno attribute for qeth driver. Fixes #19314. --- diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 57ede6a197f..666c413454e 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -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;