From 6fb61918ccdd0610b425d5b0e5417751f8f8f783 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 15 Apr 2021 01:44:48 +0900 Subject: [PATCH] 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. --- src/udev/udev-rules.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- 2.47.3