Bug 75341
Summary: | Kernel Oops in acl.c, __jfs_set_acl(). NULL derefence could not be handled. | ||
---|---|---|---|
Product: | File System | Reporter: | wbkernel |
Component: | JFS | Assignee: | Dave Kleikamp (shaggy) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | alan, wbkernel, xerofoify |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.14 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: | Patch for Oops with NULL acl value |
Description
wbkernel
2014-05-03 02:34:23 UTC
Looks like the code for the v3.12 kernel does not contain this bug. Will test it Saturday. Confirmed that the latest release of the previous kernel, 3.13.11 does not have the issue. Created attachment 137311 [details]
Patch for Oops with NULL acl value
The change suggested is to add a check for NULL before using the acl in the switch statement. This seems to be consistent with what is done in the JFFS and ext4 filesystems and with the behaviour of JFS in the 3.13 kernel. The bug seemed to be introduced in commit 2cc6a5a0. If acl is NULL, it seems clear that the inode time need not be updated (ibid JFFS, ext4).
It compiles now and I will test it Sunday.
Verified that the proposed patch as applied to 3.14 now allows rdiff-backup to successfully complete its run without causing a kernel Oops. To see the code as used in JFFS, ext4 or other filesystems, usually there is a file called acl.c with similar code that can be found by searching for posix_acl_equiv_mode. Hope this helps ease a fix into the kernel. Sorry it's taken me so long to get back to you. The patch looks good. Could you please send it to me with a proper Signed-off-by: line? You can send it directly to dave.kleikamp@oracle.com. Thanks, Dave I've pushed the patch to my git tree for the linux-next build. Hey David is this bug closed or not? Seems to me due to you having a patch for it in your linux tree. Cheers Nick Yes, the patch is in kernel 3.16-rc1. Closing Thanks. No problem , Just trying to help you out as you may have your hands full with other work. Nick |