systemd-252-24
Resolves: RHEL-1086,RHEL-22427,RHEL-22443
This commit is contained in:
parent
8e064030ef
commit
d1be2e5c92
189
0460-ci-use-source-git-automation-composite-Action.patch
Normal file
189
0460-ci-use-source-git-automation-composite-Action.patch
Normal file
@ -0,0 +1,189 @@
|
||||
From bf287f49fab60f47dd2547cdc3653fed53af3b21 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Macku <jamacku@redhat.com>
|
||||
Date: Fri, 12 Jan 2024 15:25:14 +0100
|
||||
Subject: [PATCH] ci: use source-git-automation composite Action
|
||||
|
||||
This will allow us maintain the source-git automation in separate repo
|
||||
and reduce the duplication of the code and noise in the systemd repo.
|
||||
|
||||
rhel-only
|
||||
|
||||
Related: RHEL-1086
|
||||
---
|
||||
.../source-git-automation-on-demand.yml | 61 ++--------------
|
||||
.github/workflows/source-git-automation.yml | 72 ++-----------------
|
||||
2 files changed, 12 insertions(+), 121 deletions(-)
|
||||
|
||||
diff --git a/.github/workflows/source-git-automation-on-demand.yml b/.github/workflows/source-git-automation-on-demand.yml
|
||||
index 3f3da959c4..90149e74bb 100644
|
||||
--- a/.github/workflows/source-git-automation-on-demand.yml
|
||||
+++ b/.github/workflows/source-git-automation-on-demand.yml
|
||||
@@ -1,5 +1,3 @@
|
||||
----
|
||||
-
|
||||
name: Source git Automation Scheduled/On Demand
|
||||
on:
|
||||
schedule:
|
||||
@@ -59,62 +57,17 @@ jobs:
|
||||
matrix:
|
||||
pr-number: ${{ inputs.pr-number == 0 && fromJSON(needs.gather-pull-requests.outputs.pr-numbers) || fromJSON(needs.gather-pull-requests.outputs.pr-numbers-manual) }}
|
||||
|
||||
- permissions: write-all
|
||||
- # contents: write
|
||||
- # statuses: write
|
||||
- # checks: write
|
||||
- # pull-requests: write
|
||||
+ permissions:
|
||||
+ # required for merging PRs
|
||||
+ contents: write
|
||||
+ # required for PR comments and setting labels
|
||||
+ pull-requests: write
|
||||
|
||||
steps:
|
||||
- - name: Repository checkout
|
||||
- uses: actions/checkout@v3
|
||||
-
|
||||
- - id: metadata
|
||||
- name: Gather Pull Request Metadata
|
||||
- uses: redhat-plumbers-in-action/gather-pull-request-metadata@v1
|
||||
+ - name: Source-git Automation
|
||||
+ uses: redhat-plumbers-in-action/source-git-automation@v1
|
||||
with:
|
||||
pr-number: ${{ matrix.pr-number }}
|
||||
-
|
||||
- - if: ${{ !cancelled() }}
|
||||
- id: commit-linter
|
||||
- name: Lint Commits
|
||||
- uses: redhat-plumbers-in-action/advanced-commit-linter@v2
|
||||
- with:
|
||||
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- # Validates tracker, changes tracker status, updates PR title
|
||||
- - if: ${{ !cancelled() }}
|
||||
- id: tracker-validator
|
||||
- name: Validate Tracker
|
||||
- uses: redhat-plumbers-in-action/tracker-validator@v1
|
||||
- with:
|
||||
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
||||
- component: systemd
|
||||
- tracker: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
||||
- tracker-type: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
||||
- bugzilla-instance: https://bugzilla.redhat.com
|
||||
- bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
||||
- jira-instance: https://issues.redhat.com
|
||||
- jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- - if: ${{ !cancelled() }}
|
||||
- name: Pull Request Validator
|
||||
- uses: redhat-plumbers-in-action/pull-request-validator@v1
|
||||
- with:
|
||||
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- - id: auto-merge
|
||||
- name: Auto Merge
|
||||
- uses: redhat-plumbers-in-action/auto-merge@v1
|
||||
- with:
|
||||
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
||||
- tracker: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
||||
- tracker-type: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
||||
- bugzilla-instance: https://bugzilla.redhat.com
|
||||
bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
||||
- jira-instance: https://issues.redhat.com
|
||||
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
diff --git a/.github/workflows/source-git-automation.yml b/.github/workflows/source-git-automation.yml
|
||||
index 17135b590f..776ac5b237 100644
|
||||
--- a/.github/workflows/source-git-automation.yml
|
||||
+++ b/.github/workflows/source-git-automation.yml
|
||||
@@ -26,83 +26,21 @@ jobs:
|
||||
with:
|
||||
name: pr-metadata
|
||||
|
||||
- commit-linter:
|
||||
+ source-git-automation:
|
||||
needs: [ download-metadata ]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
- outputs:
|
||||
- validated-pr-metadata: ${{ steps.commit-linter.outputs.validated-pr-metadata }}
|
||||
-
|
||||
- permissions:
|
||||
- statuses: write
|
||||
- checks: write
|
||||
- pull-requests: write
|
||||
-
|
||||
- steps:
|
||||
- - id: commit-linter
|
||||
- name: Lint Commits
|
||||
- uses: redhat-plumbers-in-action/advanced-commit-linter@v2
|
||||
- with:
|
||||
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- # Validates tracker, changes tracker status, updates PR title
|
||||
- tracker-validator:
|
||||
- if: ${{ !cancelled() }}
|
||||
- needs: [ download-metadata, commit-linter ]
|
||||
- runs-on: ubuntu-latest
|
||||
-
|
||||
- permissions:
|
||||
- checks: write
|
||||
- pull-requests: write
|
||||
-
|
||||
- steps:
|
||||
- - name: Validate Tracker
|
||||
- uses: redhat-plumbers-in-action/tracker-validator@v1
|
||||
- with:
|
||||
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
||||
- component: systemd
|
||||
- tracker: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
||||
- tracker-type: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
||||
- bugzilla-instance: https://bugzilla.redhat.com
|
||||
- bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
||||
- jira-instance: https://issues.redhat.com
|
||||
- jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- pull-request-validator:
|
||||
- needs: [ download-metadata ]
|
||||
- runs-on: ubuntu-latest
|
||||
-
|
||||
- permissions:
|
||||
- checks: write
|
||||
- pull-requests: write
|
||||
-
|
||||
- steps:
|
||||
- - name: Pull Request Validator
|
||||
- uses: redhat-plumbers-in-action/pull-request-validator@v1
|
||||
- with:
|
||||
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
||||
- token: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
- auto-merge:
|
||||
- needs: [ download-metadata, commit-linter, tracker-validator, pull-request-validator ]
|
||||
- runs-on: ubuntu-latest
|
||||
-
|
||||
permissions:
|
||||
+ # required for merging PRs
|
||||
contents: write
|
||||
- checks: write
|
||||
+ # required for PR comments and setting labels
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- - name: Auto Merge
|
||||
- uses: redhat-plumbers-in-action/auto-merge@v1
|
||||
+ - name: Source-git Automation
|
||||
+ uses: redhat-plumbers-in-action/source-git-automation@v1
|
||||
with:
|
||||
pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
||||
- tracker: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
||||
- tracker-type: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
||||
- bugzilla-instance: https://bugzilla.redhat.com
|
||||
bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
||||
- jira-instance: https://issues.redhat.com
|
||||
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
29
0461-ci-increase-the-cron-interval-to-45-minutes.patch
Normal file
29
0461-ci-increase-the-cron-interval-to-45-minutes.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 5f98f309ccc71db57b93392c4f6427df620b8f53 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Macku <jamacku@redhat.com>
|
||||
Date: Fri, 12 Jan 2024 15:27:56 +0100
|
||||
Subject: [PATCH] ci: increase the cron interval to 45 minutes
|
||||
|
||||
This should help us to avoid hitting the rate limit on the GitHub API.
|
||||
|
||||
rhel-only
|
||||
|
||||
Related: RHEL-1086
|
||||
---
|
||||
.github/workflows/source-git-automation-on-demand.yml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/.github/workflows/source-git-automation-on-demand.yml b/.github/workflows/source-git-automation-on-demand.yml
|
||||
index 90149e74bb..b5ccb891d1 100644
|
||||
--- a/.github/workflows/source-git-automation-on-demand.yml
|
||||
+++ b/.github/workflows/source-git-automation-on-demand.yml
|
||||
@@ -1,8 +1,8 @@
|
||||
name: Source git Automation Scheduled/On Demand
|
||||
on:
|
||||
schedule:
|
||||
- # Workflow runs every 15 minutes
|
||||
- - cron: '*/15 * * * *'
|
||||
+ # Workflow runs every 45 minutes
|
||||
+ - cron: '*/45 * * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
pr-number:
|
@ -0,0 +1,39 @@
|
||||
From 5701905d024afc00a650ff2f2461570497694edb Mon Sep 17 00:00:00 2001
|
||||
From: Jan Macku <jamacku@redhat.com>
|
||||
Date: Fri, 12 Jan 2024 15:32:27 +0100
|
||||
Subject: [PATCH] ci: add all Z-Stream versions to array of allowed versions
|
||||
|
||||
rhel-only
|
||||
|
||||
Related: RHEL-1086
|
||||
---
|
||||
.github/tracker-validator.yml | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/.github/tracker-validator.yml b/.github/tracker-validator.yml
|
||||
index 9e43e4e7d5..f88cc0a572 100644
|
||||
--- a/.github/tracker-validator.yml
|
||||
+++ b/.github/tracker-validator.yml
|
||||
@@ -7,12 +7,22 @@ products:
|
||||
- Red Hat Enterprise Linux 9
|
||||
- CentOS Stream 9
|
||||
- rhel-9.0.0
|
||||
+ - rhel-9.0.0.z
|
||||
- rhel-9.2.0
|
||||
+ - rhel-9.2.0.z
|
||||
- rhel-9.3.0
|
||||
+ - rhel-9.3.0.z
|
||||
- rhel-9.4.0
|
||||
+ - rhel-9.4.0.z
|
||||
- rhel-9.5.0
|
||||
+ - rhel-9.5.0.z
|
||||
- rhel-9.6.0
|
||||
+ - rhel-9.6.0.z
|
||||
- rhel-9.7.0
|
||||
+ - rhel-9.7.0.z
|
||||
- rhel-9.8.0
|
||||
+ - rhel-9.8.0.z
|
||||
- rhel-9.9.0
|
||||
+ - rhel-9.9.0.z
|
||||
- rhel-9.10.0
|
||||
+ - rhel-9.10.0.z
|
55
0463-udev-net_id-introduce-naming-scheme-for-RHEL-9.4.patch
Normal file
55
0463-udev-net_id-introduce-naming-scheme-for-RHEL-9.4.patch
Normal file
@ -0,0 +1,55 @@
|
||||
From 63b7060ef28895ce56bb058912e8e81bd00b8395 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Macku <jamacku@redhat.com>
|
||||
Date: Tue, 23 Jan 2024 15:23:05 +0100
|
||||
Subject: [PATCH] udev/net_id: introduce naming scheme for RHEL-9.4
|
||||
|
||||
rhel-only
|
||||
|
||||
Resolves: RHEL-22427
|
||||
---
|
||||
man/systemd.net-naming-scheme.xml | 6 ++++++
|
||||
src/shared/netif-naming-scheme.c | 1 +
|
||||
src/shared/netif-naming-scheme.h | 1 +
|
||||
3 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/man/systemd.net-naming-scheme.xml b/man/systemd.net-naming-scheme.xml
|
||||
index 639c03262f..4f06587ec9 100644
|
||||
--- a/man/systemd.net-naming-scheme.xml
|
||||
+++ b/man/systemd.net-naming-scheme.xml
|
||||
@@ -582,6 +582,12 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
+ <varlistentry>
|
||||
+ <term><constant>rhel-9.4</constant></term>
|
||||
+
|
||||
+ <listitem><para>Same as naming scheme <constant>rhel-9.3</constant>.</para></listitem>
|
||||
+ </varlistentry>
|
||||
+
|
||||
</variablelist>
|
||||
|
||||
<para>Note that <constant>latest</constant> may be used to denote the latest scheme known (to this
|
||||
diff --git a/src/shared/netif-naming-scheme.c b/src/shared/netif-naming-scheme.c
|
||||
index e73c265371..bf27f5571b 100644
|
||||
--- a/src/shared/netif-naming-scheme.c
|
||||
+++ b/src/shared/netif-naming-scheme.c
|
||||
@@ -42,6 +42,7 @@ static const NamingScheme naming_schemes[] = {
|
||||
{ "rhel-9.1", NAMING_RHEL_9_1 },
|
||||
{ "rhel-9.2", NAMING_RHEL_9_2 },
|
||||
{ "rhel-9.3", NAMING_RHEL_9_3 },
|
||||
+ { "rhel-9.4", NAMING_RHEL_9_4 },
|
||||
/* … add more schemes here, as the logic to name devices is updated … */
|
||||
|
||||
EXTRA_NET_NAMING_MAP
|
||||
diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h
|
||||
index 3baa7d5e72..f39c75c64e 100644
|
||||
--- a/src/shared/netif-naming-scheme.h
|
||||
+++ b/src/shared/netif-naming-scheme.h
|
||||
@@ -70,6 +70,7 @@ typedef enum NamingSchemeFlags {
|
||||
NAMING_RHEL_9_1 = NAMING_RHEL_9_0,
|
||||
NAMING_RHEL_9_2 = NAMING_RHEL_9_0,
|
||||
NAMING_RHEL_9_3 = NAMING_RHEL_9_0 | NAMING_SR_IOV_R,
|
||||
+ NAMING_RHEL_9_4 = NAMING_RHEL_9_3,
|
||||
|
||||
EXTRA_NET_NAMING_SCHEMES
|
||||
|
204
0464-basic-errno-util-add-wrappers-which-only-accept-nega.patch
Normal file
204
0464-basic-errno-util-add-wrappers-which-only-accept-nega.patch
Normal file
@ -0,0 +1,204 @@
|
||||
From 690c7cdadd1033bfb47e8de5cc9db781a6055e2a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Wed, 9 Aug 2023 16:36:38 +0200
|
||||
Subject: [PATCH] basic/errno-util: add wrappers which only accept negative
|
||||
errno
|
||||
|
||||
We do 'IN_SET(r, -CONST1, -CONST2)', instead of 'IN_SET(-r, CONST1, CONST2)'
|
||||
because -r is undefined if r is the minimum value (i.e. INT_MIN). But we know
|
||||
that the constants are small, so their negative values are fine.
|
||||
|
||||
(cherry picked from commit b0be985cdd5e51f5f16d6bf541435c225f7c0633)
|
||||
|
||||
Related: RHEL-22443
|
||||
---
|
||||
src/basic/errno-util.h | 129 +++++++++++++++++++++----------------
|
||||
src/test/test-errno-util.c | 7 ++
|
||||
2 files changed, 80 insertions(+), 56 deletions(-)
|
||||
|
||||
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
|
||||
index 091f99c590..be5c04e285 100644
|
||||
--- a/src/basic/errno-util.h
|
||||
+++ b/src/basic/errno-util.h
|
||||
@@ -84,12 +84,21 @@ static inline int errno_or_else(int fallback) {
|
||||
return -abs(fallback);
|
||||
}
|
||||
|
||||
+/* abs(3) says: Trying to take the absolute value of the most negative integer is not defined. */
|
||||
+#define _DEFINE_ABS_WRAPPER(name) \
|
||||
+ static inline bool ERRNO_IS_##name(int r) { \
|
||||
+ if (r == INT_MIN) \
|
||||
+ return false; \
|
||||
+ return ERRNO_IS_NEG_##name(-abs(r)); \
|
||||
+ }
|
||||
+
|
||||
/* For send()/recv() or read()/write(). */
|
||||
-static inline bool ERRNO_IS_TRANSIENT(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- EAGAIN,
|
||||
- EINTR);
|
||||
+static inline bool ERRNO_IS_NEG_TRANSIENT(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -EAGAIN,
|
||||
+ -EINTR);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(TRANSIENT);
|
||||
|
||||
/* Hint #1: ENETUNREACH happens if we try to connect to "non-existing" special IP addresses, such as ::5.
|
||||
*
|
||||
@@ -98,79 +107,87 @@ static inline bool ERRNO_IS_TRANSIENT(int r) {
|
||||
*
|
||||
* Hint #3: When asynchronous connect() on TCP fails because the host never acknowledges a single packet,
|
||||
* kernel tells us that with ETIMEDOUT, see tcp(7). */
|
||||
-static inline bool ERRNO_IS_DISCONNECT(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- ECONNABORTED,
|
||||
- ECONNREFUSED,
|
||||
- ECONNRESET,
|
||||
- EHOSTDOWN,
|
||||
- EHOSTUNREACH,
|
||||
- ENETDOWN,
|
||||
- ENETRESET,
|
||||
- ENETUNREACH,
|
||||
- ENONET,
|
||||
- ENOPROTOOPT,
|
||||
- ENOTCONN,
|
||||
- EPIPE,
|
||||
- EPROTO,
|
||||
- ESHUTDOWN,
|
||||
- ETIMEDOUT);
|
||||
+static inline bool ERRNO_IS_NEG_DISCONNECT(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -ECONNABORTED,
|
||||
+ -ECONNREFUSED,
|
||||
+ -ECONNRESET,
|
||||
+ -EHOSTDOWN,
|
||||
+ -EHOSTUNREACH,
|
||||
+ -ENETDOWN,
|
||||
+ -ENETRESET,
|
||||
+ -ENETUNREACH,
|
||||
+ -ENONET,
|
||||
+ -ENOPROTOOPT,
|
||||
+ -ENOTCONN,
|
||||
+ -EPIPE,
|
||||
+ -EPROTO,
|
||||
+ -ESHUTDOWN,
|
||||
+ -ETIMEDOUT);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(DISCONNECT);
|
||||
|
||||
/* Transient errors we might get on accept() that we should ignore. As per error handling comment in
|
||||
* the accept(2) man page. */
|
||||
-static inline bool ERRNO_IS_ACCEPT_AGAIN(int r) {
|
||||
- return ERRNO_IS_DISCONNECT(r) ||
|
||||
- ERRNO_IS_TRANSIENT(r) ||
|
||||
- abs(r) == EOPNOTSUPP;
|
||||
+static inline bool ERRNO_IS_NEG_ACCEPT_AGAIN(int r) {
|
||||
+ return ERRNO_IS_NEG_DISCONNECT(r) ||
|
||||
+ ERRNO_IS_NEG_TRANSIENT(r) ||
|
||||
+ r == -EOPNOTSUPP;
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(ACCEPT_AGAIN);
|
||||
|
||||
/* Resource exhaustion, could be our fault or general system trouble */
|
||||
-static inline bool ERRNO_IS_RESOURCE(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- EMFILE,
|
||||
- ENFILE,
|
||||
- ENOMEM);
|
||||
+static inline bool ERRNO_IS_NEG_RESOURCE(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -EMFILE,
|
||||
+ -ENFILE,
|
||||
+ -ENOMEM);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(RESOURCE);
|
||||
|
||||
/* Seven different errors for "operation/system call/ioctl/socket feature not supported" */
|
||||
-static inline bool ERRNO_IS_NOT_SUPPORTED(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- EOPNOTSUPP,
|
||||
- ENOTTY,
|
||||
- ENOSYS,
|
||||
- EAFNOSUPPORT,
|
||||
- EPFNOSUPPORT,
|
||||
- EPROTONOSUPPORT,
|
||||
- ESOCKTNOSUPPORT);
|
||||
+static inline bool ERRNO_IS_NEG_NOT_SUPPORTED(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -EOPNOTSUPP,
|
||||
+ -ENOTTY,
|
||||
+ -ENOSYS,
|
||||
+ -EAFNOSUPPORT,
|
||||
+ -EPFNOSUPPORT,
|
||||
+ -EPROTONOSUPPORT,
|
||||
+ -ESOCKTNOSUPPORT);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(NOT_SUPPORTED);
|
||||
|
||||
/* Two different errors for access problems */
|
||||
-static inline bool ERRNO_IS_PRIVILEGE(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- EACCES,
|
||||
- EPERM);
|
||||
+static inline bool ERRNO_IS_NEG_PRIVILEGE(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -EACCES,
|
||||
+ -EPERM);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(PRIVILEGE);
|
||||
|
||||
/* Three different errors for "not enough disk space" */
|
||||
-static inline bool ERRNO_IS_DISK_SPACE(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- ENOSPC,
|
||||
- EDQUOT,
|
||||
- EFBIG);
|
||||
+static inline bool ERRNO_IS_NEG_DISK_SPACE(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -ENOSPC,
|
||||
+ -EDQUOT,
|
||||
+ -EFBIG);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(DISK_SPACE);
|
||||
|
||||
/* Three different errors for "this device does not quite exist" */
|
||||
-static inline bool ERRNO_IS_DEVICE_ABSENT(int r) {
|
||||
- return IN_SET(abs(r),
|
||||
- ENODEV,
|
||||
- ENXIO,
|
||||
- ENOENT);
|
||||
+static inline bool ERRNO_IS_NEG_DEVICE_ABSENT(int r) {
|
||||
+ return IN_SET(r,
|
||||
+ -ENODEV,
|
||||
+ -ENXIO,
|
||||
+ -ENOENT);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(DEVICE_ABSENT);
|
||||
|
||||
/* Quite often we want to handle cases where the backing FS doesn't support extended attributes at all and
|
||||
* where it simply doesn't have the requested xattr the same way */
|
||||
-static inline bool ERRNO_IS_XATTR_ABSENT(int r) {
|
||||
- return abs(r) == ENODATA ||
|
||||
- ERRNO_IS_NOT_SUPPORTED(r);
|
||||
+static inline bool ERRNO_IS_NEG_XATTR_ABSENT(int r) {
|
||||
+ return r == -ENODATA ||
|
||||
+ ERRNO_IS_NEG_NOT_SUPPORTED(r);
|
||||
}
|
||||
+_DEFINE_ABS_WRAPPER(XATTR_ABSENT);
|
||||
diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c
|
||||
index f858927c92..507d53df7a 100644
|
||||
--- a/src/test/test-errno-util.c
|
||||
+++ b/src/test/test-errno-util.c
|
||||
@@ -47,4 +47,11 @@ TEST(STRERROR_OR_ELSE) {
|
||||
log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM));
|
||||
}
|
||||
|
||||
+TEST(ERRNO_IS_TRANSIENT) {
|
||||
+ assert_se( ERRNO_IS_NEG_TRANSIENT(-EINTR));
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(EINTR));
|
||||
+ assert_se( ERRNO_IS_TRANSIENT(-EINTR));
|
||||
+ assert_se( ERRNO_IS_TRANSIENT(EINTR));
|
||||
+}
|
||||
+
|
||||
DEFINE_TEST_MAIN(LOG_INFO);
|
148
0465-errno-util-allow-ERRNO_IS_-to-accept-types-wider-tha.patch
Normal file
148
0465-errno-util-allow-ERRNO_IS_-to-accept-types-wider-tha.patch
Normal file
@ -0,0 +1,148 @@
|
||||
From 7c5ece0b649ebea23ebb28eb3cafdb28ba49a9d0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Wed, 9 Aug 2023 18:21:13 +0200
|
||||
Subject: [PATCH] errno-util: allow ERRNO_IS_* to accept types wider than int
|
||||
|
||||
This is useful if the variable is ssize_t and we don't want to trigger a
|
||||
warning or truncation.
|
||||
|
||||
With gcc (gcc-13.2.1-1.fc38.x86_64), the resulting systemd binary is identical,
|
||||
so I assume that the compiler is able to completely optimize away the type.
|
||||
|
||||
(cherry picked from commit fe0feacb9e9641874fde459af4067d9b7e9d7462)
|
||||
|
||||
Related: RHEL-22443
|
||||
---
|
||||
src/basic/errno-util.h | 27 +++++++++++++++------------
|
||||
src/test/test-errno-util.c | 13 +++++++++++++
|
||||
2 files changed, 28 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
|
||||
index be5c04e285..b10dd755c9 100644
|
||||
--- a/src/basic/errno-util.h
|
||||
+++ b/src/basic/errno-util.h
|
||||
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
+#include <inttypes.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -86,14 +87,16 @@ static inline int errno_or_else(int fallback) {
|
||||
|
||||
/* abs(3) says: Trying to take the absolute value of the most negative integer is not defined. */
|
||||
#define _DEFINE_ABS_WRAPPER(name) \
|
||||
- static inline bool ERRNO_IS_##name(int r) { \
|
||||
- if (r == INT_MIN) \
|
||||
+ static inline bool ERRNO_IS_##name(intmax_t r) { \
|
||||
+ if (r == INTMAX_MIN) \
|
||||
return false; \
|
||||
- return ERRNO_IS_NEG_##name(-abs(r)); \
|
||||
+ return ERRNO_IS_NEG_##name(-imaxabs(r)); \
|
||||
}
|
||||
|
||||
+assert_cc(INT_MAX <= INTMAX_MAX);
|
||||
+
|
||||
/* For send()/recv() or read()/write(). */
|
||||
-static inline bool ERRNO_IS_NEG_TRANSIENT(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_TRANSIENT(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-EAGAIN,
|
||||
-EINTR);
|
||||
@@ -107,7 +110,7 @@ _DEFINE_ABS_WRAPPER(TRANSIENT);
|
||||
*
|
||||
* Hint #3: When asynchronous connect() on TCP fails because the host never acknowledges a single packet,
|
||||
* kernel tells us that with ETIMEDOUT, see tcp(7). */
|
||||
-static inline bool ERRNO_IS_NEG_DISCONNECT(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_DISCONNECT(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-ECONNABORTED,
|
||||
-ECONNREFUSED,
|
||||
@@ -129,7 +132,7 @@ _DEFINE_ABS_WRAPPER(DISCONNECT);
|
||||
|
||||
/* Transient errors we might get on accept() that we should ignore. As per error handling comment in
|
||||
* the accept(2) man page. */
|
||||
-static inline bool ERRNO_IS_NEG_ACCEPT_AGAIN(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_ACCEPT_AGAIN(intmax_t r) {
|
||||
return ERRNO_IS_NEG_DISCONNECT(r) ||
|
||||
ERRNO_IS_NEG_TRANSIENT(r) ||
|
||||
r == -EOPNOTSUPP;
|
||||
@@ -137,7 +140,7 @@ static inline bool ERRNO_IS_NEG_ACCEPT_AGAIN(int r) {
|
||||
_DEFINE_ABS_WRAPPER(ACCEPT_AGAIN);
|
||||
|
||||
/* Resource exhaustion, could be our fault or general system trouble */
|
||||
-static inline bool ERRNO_IS_NEG_RESOURCE(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_RESOURCE(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-EMFILE,
|
||||
-ENFILE,
|
||||
@@ -146,7 +149,7 @@ static inline bool ERRNO_IS_NEG_RESOURCE(int r) {
|
||||
_DEFINE_ABS_WRAPPER(RESOURCE);
|
||||
|
||||
/* Seven different errors for "operation/system call/ioctl/socket feature not supported" */
|
||||
-static inline bool ERRNO_IS_NEG_NOT_SUPPORTED(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_NOT_SUPPORTED(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-EOPNOTSUPP,
|
||||
-ENOTTY,
|
||||
@@ -159,7 +162,7 @@ static inline bool ERRNO_IS_NEG_NOT_SUPPORTED(int r) {
|
||||
_DEFINE_ABS_WRAPPER(NOT_SUPPORTED);
|
||||
|
||||
/* Two different errors for access problems */
|
||||
-static inline bool ERRNO_IS_NEG_PRIVILEGE(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_PRIVILEGE(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-EACCES,
|
||||
-EPERM);
|
||||
@@ -167,7 +170,7 @@ static inline bool ERRNO_IS_NEG_PRIVILEGE(int r) {
|
||||
_DEFINE_ABS_WRAPPER(PRIVILEGE);
|
||||
|
||||
/* Three different errors for "not enough disk space" */
|
||||
-static inline bool ERRNO_IS_NEG_DISK_SPACE(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_DISK_SPACE(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-ENOSPC,
|
||||
-EDQUOT,
|
||||
@@ -176,7 +179,7 @@ static inline bool ERRNO_IS_NEG_DISK_SPACE(int r) {
|
||||
_DEFINE_ABS_WRAPPER(DISK_SPACE);
|
||||
|
||||
/* Three different errors for "this device does not quite exist" */
|
||||
-static inline bool ERRNO_IS_NEG_DEVICE_ABSENT(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_DEVICE_ABSENT(intmax_t r) {
|
||||
return IN_SET(r,
|
||||
-ENODEV,
|
||||
-ENXIO,
|
||||
@@ -186,7 +189,7 @@ _DEFINE_ABS_WRAPPER(DEVICE_ABSENT);
|
||||
|
||||
/* Quite often we want to handle cases where the backing FS doesn't support extended attributes at all and
|
||||
* where it simply doesn't have the requested xattr the same way */
|
||||
-static inline bool ERRNO_IS_NEG_XATTR_ABSENT(int r) {
|
||||
+static inline bool ERRNO_IS_NEG_XATTR_ABSENT(intmax_t r) {
|
||||
return r == -ENODATA ||
|
||||
ERRNO_IS_NEG_NOT_SUPPORTED(r);
|
||||
}
|
||||
diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c
|
||||
index 507d53df7a..cac0d5402b 100644
|
||||
--- a/src/test/test-errno-util.c
|
||||
+++ b/src/test/test-errno-util.c
|
||||
@@ -52,6 +52,19 @@ TEST(ERRNO_IS_TRANSIENT) {
|
||||
assert_se(!ERRNO_IS_NEG_TRANSIENT(EINTR));
|
||||
assert_se( ERRNO_IS_TRANSIENT(-EINTR));
|
||||
assert_se( ERRNO_IS_TRANSIENT(EINTR));
|
||||
+
|
||||
+ /* Test with type wider than int */
|
||||
+ ssize_t r = -EAGAIN;
|
||||
+ assert_se( ERRNO_IS_NEG_TRANSIENT(r));
|
||||
+
|
||||
+ /* On 64-bit arches, now (int) r == EAGAIN */
|
||||
+ r = SSIZE_MAX - EAGAIN + 1;
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(r));
|
||||
+
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(INT_MAX));
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(INT_MIN));
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(INTMAX_MAX));
|
||||
+ assert_se(!ERRNO_IS_NEG_TRANSIENT(INTMAX_MIN));
|
||||
}
|
||||
|
||||
DEFINE_TEST_MAIN(LOG_INFO);
|
184
0466-udev-add-new-builtin-net_driver.patch
Normal file
184
0466-udev-add-new-builtin-net_driver.patch
Normal file
@ -0,0 +1,184 @@
|
||||
From f2bf171137c348f6f976276504c8e8a54e33ff78 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Thu, 19 Oct 2023 10:38:06 +0200
|
||||
Subject: [PATCH] udev: add new builtin net_driver
|
||||
|
||||
Currently the ID_NET_DRIVER is set in net_setup_link builtin.
|
||||
But this is called pretty late in the udev processing chain.
|
||||
|
||||
Right now in some custom rules it was workarounded by calling ethtool
|
||||
binary directly, which is ugly.
|
||||
|
||||
So let's split this code to a separate builtin.
|
||||
|
||||
(cherry picked from commit 2b5b25f123ceb89b3ff45b2380db1c8a88b046d9)
|
||||
|
||||
Resolves: RHEL-22443
|
||||
---
|
||||
rules.d/50-udev-default.rules.in | 2 ++
|
||||
src/udev/meson.build | 1 +
|
||||
src/udev/net/link-config.c | 5 ++-
|
||||
src/udev/net/link-config.h | 2 +-
|
||||
src/udev/udev-builtin-net_driver.c | 43 ++++++++++++++++++++++++++
|
||||
src/udev/udev-builtin-net_setup_link.c | 3 --
|
||||
src/udev/udev-builtin.c | 1 +
|
||||
src/udev/udev-builtin.h | 2 ++
|
||||
8 files changed, 52 insertions(+), 7 deletions(-)
|
||||
create mode 100644 src/udev/udev-builtin-net_driver.c
|
||||
|
||||
diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in
|
||||
index 843bdaf9ce..f670b51987 100644
|
||||
--- a/rules.d/50-udev-default.rules.in
|
||||
+++ b/rules.d/50-udev-default.rules.in
|
||||
@@ -17,6 +17,8 @@ SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
|
||||
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
|
||||
|
||||
+SUBSYSTEM=="net", IMPORT{builtin}="net_driver"
|
||||
+
|
||||
ACTION!="add", GOTO="default_end"
|
||||
|
||||
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
|
||||
diff --git a/src/udev/meson.build b/src/udev/meson.build
|
||||
index 08a1d97e81..564aa6de1b 100644
|
||||
--- a/src/udev/meson.build
|
||||
+++ b/src/udev/meson.build
|
||||
@@ -35,6 +35,7 @@ libudevd_core_sources = files(
|
||||
'udev-builtin-hwdb.c',
|
||||
'udev-builtin-input_id.c',
|
||||
'udev-builtin-keyboard.c',
|
||||
+ 'udev-builtin-net_driver.c',
|
||||
'udev-builtin-net_id.c',
|
||||
'udev-builtin-net_setup_link.c',
|
||||
'udev-builtin-path_id.c',
|
||||
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
|
||||
index 2d8c902fd3..80c64519ab 100644
|
||||
--- a/src/udev/net/link-config.c
|
||||
+++ b/src/udev/net/link-config.c
|
||||
@@ -362,7 +362,6 @@ Link *link_free(Link *link) {
|
||||
|
||||
sd_device_unref(link->device);
|
||||
free(link->kind);
|
||||
- free(link->driver);
|
||||
strv_free(link->altnames);
|
||||
return mfree(link);
|
||||
}
|
||||
@@ -415,8 +414,8 @@ int link_new(LinkConfigContext *ctx, sd_netlink **rtnl, sd_device *device, Link
|
||||
log_link_debug_errno(link, r, "Failed to get permanent hardware address, ignoring: %m");
|
||||
}
|
||||
|
||||
- r = ethtool_get_driver(&ctx->ethtool_fd, link->ifname, &link->driver);
|
||||
- if (r < 0)
|
||||
+ r = sd_device_get_property_value(link->device, "ID_NET_DRIVER", &link->driver);
|
||||
+ if (r < 0 && r != -ENOENT)
|
||||
log_link_debug_errno(link, r, "Failed to get driver, ignoring: %m");
|
||||
|
||||
*ret = TAKE_PTR(link);
|
||||
diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h
|
||||
index 874a391543..8343783caf 100644
|
||||
--- a/src/udev/net/link-config.h
|
||||
+++ b/src/udev/net/link-config.h
|
||||
@@ -34,7 +34,7 @@ typedef struct Link {
|
||||
sd_device_action_t action;
|
||||
|
||||
char *kind;
|
||||
- char *driver;
|
||||
+ const char *driver;
|
||||
uint16_t iftype;
|
||||
uint32_t flags;
|
||||
struct hw_addr_data hw_addr;
|
||||
diff --git a/src/udev/udev-builtin-net_driver.c b/src/udev/udev-builtin-net_driver.c
|
||||
new file mode 100644
|
||||
index 0000000000..f1642a491d
|
||||
--- /dev/null
|
||||
+++ b/src/udev/udev-builtin-net_driver.c
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
+
|
||||
+#include "alloc-util.h"
|
||||
+#include "device-util.h"
|
||||
+#include "errno-util.h"
|
||||
+#include "ethtool-util.h"
|
||||
+#include "fd-util.h"
|
||||
+#include "log.h"
|
||||
+#include "string-util.h"
|
||||
+#include "udev-builtin.h"
|
||||
+
|
||||
+static int builtin_net_driver_set_driver(UdevEvent *event, int argc, char **argv, bool test) {
|
||||
+ sd_device *dev = ASSERT_PTR(ASSERT_PTR(event)->dev);
|
||||
+ _cleanup_close_ int ethtool_fd = -EBADF;
|
||||
+ _cleanup_free_ char *driver = NULL;
|
||||
+ const char *sysname;
|
||||
+ int r;
|
||||
+
|
||||
+ r = sd_device_get_sysname(dev, &sysname);
|
||||
+ if (r < 0)
|
||||
+ return log_device_warning_errno(dev, r, "Failed to get sysname: %m");
|
||||
+
|
||||
+ r = ethtool_get_driver(ðtool_fd, sysname, &driver);
|
||||
+ if (ERRNO_IS_NEG_NOT_SUPPORTED(r)) {
|
||||
+ log_device_debug_errno(dev, r, "Querying driver name via ethtool API is not supported by device '%s', ignoring: %m", sysname);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (r == -ENODEV) {
|
||||
+ log_device_debug_errno(dev, r, "Device already vanished, ignoring.");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (r < 0)
|
||||
+ return log_device_warning_errno(dev, r, "Failed to get driver for '%s': %m", sysname);
|
||||
+
|
||||
+ return udev_builtin_add_property(event->dev, test, "ID_NET_DRIVER", driver);
|
||||
+}
|
||||
+
|
||||
+const UdevBuiltin udev_builtin_net_driver = {
|
||||
+ .name = "net_driver",
|
||||
+ .cmd = builtin_net_driver_set_driver,
|
||||
+ .help = "Set driver for network device",
|
||||
+ .run_once = true,
|
||||
+};
|
||||
diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
|
||||
index e964bf7bf4..b0279a1814 100644
|
||||
--- a/src/udev/udev-builtin-net_setup_link.c
|
||||
+++ b/src/udev/udev-builtin-net_setup_link.c
|
||||
@@ -26,9 +26,6 @@ static int builtin_net_setup_link(UdevEvent *event, int argc, char **argv, bool
|
||||
if (r < 0)
|
||||
return log_device_warning_errno(dev, r, "Failed to get link information: %m");
|
||||
|
||||
- if (link->driver)
|
||||
- udev_builtin_add_property(dev, test, "ID_NET_DRIVER", link->driver);
|
||||
-
|
||||
r = link_get_config(ctx, link);
|
||||
if (r < 0) {
|
||||
if (r == -ENOENT) {
|
||||
diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c
|
||||
index c84db8855c..d55dc3337d 100644
|
||||
--- a/src/udev/udev-builtin.c
|
||||
+++ b/src/udev/udev-builtin.c
|
||||
@@ -22,6 +22,7 @@ static const UdevBuiltin *const builtins[_UDEV_BUILTIN_MAX] = {
|
||||
#if HAVE_KMOD
|
||||
[UDEV_BUILTIN_KMOD] = &udev_builtin_kmod,
|
||||
#endif
|
||||
+ [UDEV_BUILTIN_NET_DRIVER] = &udev_builtin_net_driver,
|
||||
[UDEV_BUILTIN_NET_ID] = &udev_builtin_net_id,
|
||||
[UDEV_BUILTIN_NET_LINK] = &udev_builtin_net_setup_link,
|
||||
[UDEV_BUILTIN_PATH_ID] = &udev_builtin_path_id,
|
||||
diff --git a/src/udev/udev-builtin.h b/src/udev/udev-builtin.h
|
||||
index 919d51e798..c23f2d1613 100644
|
||||
--- a/src/udev/udev-builtin.h
|
||||
+++ b/src/udev/udev-builtin.h
|
||||
@@ -19,6 +19,7 @@ typedef enum UdevBuiltinCommand {
|
||||
#if HAVE_KMOD
|
||||
UDEV_BUILTIN_KMOD,
|
||||
#endif
|
||||
+ UDEV_BUILTIN_NET_DRIVER,
|
||||
UDEV_BUILTIN_NET_ID,
|
||||
UDEV_BUILTIN_NET_LINK,
|
||||
UDEV_BUILTIN_PATH_ID,
|
||||
@@ -63,6 +64,7 @@ extern const UdevBuiltin udev_builtin_keyboard;
|
||||
#if HAVE_KMOD
|
||||
extern const UdevBuiltin udev_builtin_kmod;
|
||||
#endif
|
||||
+extern const UdevBuiltin udev_builtin_net_driver;
|
||||
extern const UdevBuiltin udev_builtin_net_id;
|
||||
extern const UdevBuiltin udev_builtin_net_setup_link;
|
||||
extern const UdevBuiltin udev_builtin_path_id;
|
55
0467-udev-net_id-introduce-naming-scheme-for-RHEL-8.10.patch
Normal file
55
0467-udev-net_id-introduce-naming-scheme-for-RHEL-8.10.patch
Normal file
@ -0,0 +1,55 @@
|
||||
From 9ff108d83a19557593c1d0f1687878377e898a54 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Wed, 24 Jan 2024 13:49:21 +0100
|
||||
Subject: [PATCH] udev/net_id: introduce naming scheme for RHEL-8.10
|
||||
|
||||
rhel-only
|
||||
|
||||
Resolves: RHEL-22427
|
||||
---
|
||||
man/systemd.net-naming-scheme.xml | 6 ++++++
|
||||
src/shared/netif-naming-scheme.c | 1 +
|
||||
src/shared/netif-naming-scheme.h | 1 +
|
||||
3 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/man/systemd.net-naming-scheme.xml b/man/systemd.net-naming-scheme.xml
|
||||
index 4f06587ec9..3bab402e98 100644
|
||||
--- a/man/systemd.net-naming-scheme.xml
|
||||
+++ b/man/systemd.net-naming-scheme.xml
|
||||
@@ -547,6 +547,12 @@
|
||||
<para>Same as naming scheme <constant>rhel-8.7</constant>.</para>
|
||||
</varlistentry>
|
||||
|
||||
+ <varlistentry>
|
||||
+ <term><constant>rhel-8.10</constant></term>
|
||||
+
|
||||
+ <para>Same as naming scheme <constant>rhel-8.7</constant>.</para>
|
||||
+ </varlistentry>
|
||||
+
|
||||
<varlistentry>
|
||||
<term><constant>rhel-9.0</constant></term>
|
||||
|
||||
diff --git a/src/shared/netif-naming-scheme.c b/src/shared/netif-naming-scheme.c
|
||||
index bf27f5571b..536ed44b21 100644
|
||||
--- a/src/shared/netif-naming-scheme.c
|
||||
+++ b/src/shared/netif-naming-scheme.c
|
||||
@@ -38,6 +38,7 @@ static const NamingScheme naming_schemes[] = {
|
||||
{ "rhel-8.7", NAMING_RHEL_8_7 },
|
||||
{ "rhel-8.8", NAMING_RHEL_8_8 },
|
||||
{ "rhel-8.9", NAMING_RHEL_8_9 },
|
||||
+ { "rhel-8.10", NAMING_RHEL_8_10 },
|
||||
{ "rhel-9.0", NAMING_RHEL_9_0 },
|
||||
{ "rhel-9.1", NAMING_RHEL_9_1 },
|
||||
{ "rhel-9.2", NAMING_RHEL_9_2 },
|
||||
diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h
|
||||
index f39c75c64e..5f49157aaa 100644
|
||||
--- a/src/shared/netif-naming-scheme.h
|
||||
+++ b/src/shared/netif-naming-scheme.h
|
||||
@@ -65,6 +65,7 @@ typedef enum NamingSchemeFlags {
|
||||
NAMING_RHEL_8_7 = NAMING_RHEL_8_4 | NAMING_SLOT_FUNCTION_ID | NAMING_16BIT_INDEX,
|
||||
NAMING_RHEL_8_8 = NAMING_RHEL_8_7,
|
||||
NAMING_RHEL_8_9 = NAMING_RHEL_8_7,
|
||||
+ NAMING_RHEL_8_10 = NAMING_RHEL_8_7,
|
||||
|
||||
NAMING_RHEL_9_0 = NAMING_V250 | NAMING_BRIDGE_MULTIFUNCTION_SLOT,
|
||||
NAMING_RHEL_9_1 = NAMING_RHEL_9_0,
|
20
systemd.spec
20
systemd.spec
@ -21,7 +21,7 @@
|
||||
Name: systemd
|
||||
Url: https://systemd.io
|
||||
Version: 252
|
||||
Release: 23%{?dist}
|
||||
Release: 24%{?dist}
|
||||
# For a breakdown of the licensing, see README
|
||||
License: LGPLv2+ and MIT and GPLv2+
|
||||
Summary: System and Service Manager
|
||||
@ -537,6 +537,14 @@ Patch0456: 0456-logind-don-t-setup-idle-session-watch-for-lock-scree.patch
|
||||
Patch0457: 0457-logind-don-t-make-idle-action-timer-accuracy-more-co.patch
|
||||
Patch0458: 0458-logind-do-TTY-idle-logic-only-for-sessions-marked-as.patch
|
||||
Patch0459: 0459-meson-Properly-install-90-uki-copy.install.patch
|
||||
Patch0460: 0460-ci-use-source-git-automation-composite-Action.patch
|
||||
Patch0461: 0461-ci-increase-the-cron-interval-to-45-minutes.patch
|
||||
Patch0462: 0462-ci-add-all-Z-Stream-versions-to-array-of-allowed-ver.patch
|
||||
Patch0463: 0463-udev-net_id-introduce-naming-scheme-for-RHEL-9.4.patch
|
||||
Patch0464: 0464-basic-errno-util-add-wrappers-which-only-accept-nega.patch
|
||||
Patch0465: 0465-errno-util-allow-ERRNO_IS_-to-accept-types-wider-tha.patch
|
||||
Patch0466: 0466-udev-add-new-builtin-net_driver.patch
|
||||
Patch0467: 0467-udev-net_id-introduce-naming-scheme-for-RHEL-8.10.patch
|
||||
|
||||
# Downstream-only patches (9000–9999)
|
||||
|
||||
@ -1380,6 +1388,16 @@ getent passwd systemd-oom &>/dev/null || useradd -r -l -g systemd-oom -d / -s /s
|
||||
%files standalone-sysusers -f .file-list-standalone-sysusers
|
||||
|
||||
%changelog
|
||||
* Wed Jan 24 2024 systemd maintenance team <systemd-maint@redhat.com> - 252-24
|
||||
- ci: use source-git-automation composite Action (RHEL-1086)
|
||||
- ci: increase the cron interval to 45 minutes (RHEL-1086)
|
||||
- ci: add all Z-Stream versions to array of allowed versions (RHEL-1086)
|
||||
- udev/net_id: introduce naming scheme for RHEL-9.4 (RHEL-22427)
|
||||
- basic/errno-util: add wrappers which only accept negative errno (RHEL-22443)
|
||||
- errno-util: allow ERRNO_IS_* to accept types wider than int (RHEL-22443)
|
||||
- udev: add new builtin net_driver (RHEL-22443)
|
||||
- udev/net_id: introduce naming scheme for RHEL-8.10 (RHEL-22427)
|
||||
|
||||
* Fri Jan 12 2024 systemd maintenance team <systemd-maint@redhat.com> - 252-23
|
||||
- logind: don't setup idle session watch for lock-screen and greeter (RHEL-20757)
|
||||
- logind: don't make idle action timer accuracy more coarse than timeout (RHEL-20757)
|
||||
|
Loading…
Reference in New Issue
Block a user