From: Kuan-Wei Chiu visitorckw@gmail.com
[ Upstream commit 71965cae7db394ff5ba3b2d2befe4e136ceec268 ]
Three EDAC source files were mistakenly marked as executable when adding the EDAC scrub controls.
These are plain C source files and should not carry the executable bit. Correcting their modes follows the principle of least privilege and avoids unnecessary execute permissions in the repository.
[ bp: Massage commit message. ]
Signed-off-by: Kuan-Wei Chiu visitorckw@gmail.com Signed-off-by: Borislav Petkov (AMD) bp@alien8.de Link: https://lore.kernel.org/20250828191954.903125-1-visitorckw@gmail.com Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
Based on my thorough investigation of this commit, I can now provide a comprehensive analysis.
## Backport Status: YES
**This commit has ALREADY BEEN BACKPORTED to stable kernel trees by Sasha Levin on September 30, 2025.**
### Evidence of Backporting:
The upstream commit **71965cae7db394ff5ba3b2d2befe4e136ceec268** (committed August 30, 2025) was backported as commit **4827b7f8b81a266b3f44055440ab6cd06b1f5d64** (September 30, 2025) with the stable team's approval.
### Detailed Analysis:
#### 1. **Nature of the Change** The commit is a metadata-only fix that changes file permissions from 755 (executable) to 644 (regular file) for three C source files: - `drivers/edac/ecs.c` - `drivers/edac/mem_repair.c` - `drivers/edac/scrub.c`
These files were incorrectly added with executable permissions when the EDAC scrub control features were introduced in Linux 6.15 (February 2025).
#### 2. **Verification of the Problem** I confirmed that all three files were initially committed with mode 100755 (executable): ```bash git ls-tree f90b738166fe drivers/edac/scrub.c # 100755 git ls-tree 699ea5219c4b1 drivers/edac/mem_repair.c # 100755 git ls-tree bcbd069b11b02 drivers/edac/ecs.c # 100755 ```
#### 3. **Affected Stable Branches** All three stable branches containing these EDAC features have the files with incorrect permissions: - **linux-6.15.y**: All three files are mode 100755 - **linux-6.16.y**: All three files are mode 100755 - **linux-6.17.y**: All three files are mode 100755
#### 4. **Why This Should Be Backported**
**Repository Hygiene and Consistency:** While this doesn't affect runtime behavior, it corrects a clear mistake where C source files were given execute permissions. This is incorrect and inconsistent with kernel repository standards.
**Historical Precedent:** Linus Torvalds himself committed a similar fix in 2018 (commit 90fda63fa1156 "treewide: fix up files incorrectly marked executable"), demonstrating that the kernel community considers file permission corrections important enough to fix.
**Stable Team Approval:** The fact that Sasha Levin backported this indicates the stable maintainers consider it appropriate for stable trees, even though it's not a functional bug.
**Minimal Risk:** This change has: - Zero risk of regression (no code changes) - Obvious correctness (C files should not be executable) - Tiny size (just permission changes)
#### 5. **Compliance with Stable Rules**
From Documentation/process/stable-kernel-rules.rst: - ✅ Already exists in mainline (commit 71965cae7db39) - ✅ Obviously correct (removing execute bit from .c files) - ✅ Smaller than 100 lines (just file mode changes) - ✅ While not a "functional bug," it fixes incorrect metadata in the repository
### Conclusion
**YES**, this commit should be and has been backported to stable kernel trees (6.15.y, 6.16.y, 6.17.y). The stable team's decision to backport this demonstrates that repository hygiene fixes for clear mistakes are considered appropriate for stable trees, even when they don't affect runtime behavior. The change corrects an obvious error where C source files were incorrectly marked executable, ensuring consistency across kernel versions.
drivers/edac/ecs.c | 0 drivers/edac/mem_repair.c | 0 drivers/edac/scrub.c | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 drivers/edac/ecs.c mode change 100755 => 100644 drivers/edac/mem_repair.c mode change 100755 => 100644 drivers/edac/scrub.c
diff --git a/drivers/edac/ecs.c b/drivers/edac/ecs.c old mode 100755 new mode 100644 diff --git a/drivers/edac/mem_repair.c b/drivers/edac/mem_repair.c old mode 100755 new mode 100644 diff --git a/drivers/edac/scrub.c b/drivers/edac/scrub.c old mode 100755 new mode 100644