From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Leesoo Ahn <lsahn@ooseel.net>,
John Johansen <john.johansen@canonical.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.19 09/96] apparmor: fix possible NULL pointer dereference
Date: Tue, 10 Sep 2024 11:31:11 +0200 [thread overview]
Message-ID: <20240910092541.801676516@linuxfoundation.org> (raw)
In-Reply-To: <20240910092541.383432924@linuxfoundation.org>
4.19-stable review patch. If anyone has any objections, please let me know.
------------------
From: Leesoo Ahn <lsahn@ooseel.net>
[ Upstream commit 3dd384108d53834002be5630132ad5c3f32166ad ]
profile->parent->dents[AAFS_PROF_DIR] could be NULL only if its parent is made
from __create_missing_ancestors(..) and 'ent->old' is NULL in
aa_replace_profiles(..).
In that case, it must return an error code and the code, -ENOENT represents
its state that the path of its parent is not existed yet.
BUG: kernel NULL pointer dereference, address: 0000000000000030
PGD 0 P4D 0
PREEMPT SMP PTI
CPU: 4 PID: 3362 Comm: apparmor_parser Not tainted 6.8.0-24-generic #24
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
RIP: 0010:aafs_create.constprop.0+0x7f/0x130
Code: 4c 63 e0 48 83 c4 18 4c 89 e0 5b 41 5c 41 5d 41 5e 41 5f 5d 31 d2 31 c9 31 f6 31 ff 45 31 c0 45 31 c9 45 31 d2 c3 cc cc cc cc <4d> 8b 55 30 4d 8d ba a0 00 00 00 4c 89 55 c0 4c 89 ff e8 7a 6a ae
RSP: 0018:ffffc9000b2c7c98 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00000000000041ed RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9000b2c7cd8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff82baac10
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 00007be9f22cf740(0000) GS:ffff88817bc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000030 CR3: 0000000134b08000 CR4: 00000000000006f0
Call Trace:
<TASK>
? show_regs+0x6d/0x80
? __die+0x24/0x80
? page_fault_oops+0x99/0x1b0
? kernelmode_fixup_or_oops+0xb2/0x140
? __bad_area_nosemaphore+0x1a5/0x2c0
? find_vma+0x34/0x60
? bad_area_nosemaphore+0x16/0x30
? do_user_addr_fault+0x2a2/0x6b0
? exc_page_fault+0x83/0x1b0
? asm_exc_page_fault+0x27/0x30
? aafs_create.constprop.0+0x7f/0x130
? aafs_create.constprop.0+0x51/0x130
__aafs_profile_mkdir+0x3d6/0x480
aa_replace_profiles+0x83f/0x1270
policy_update+0xe3/0x180
profile_load+0xbc/0x150
? rw_verify_area+0x47/0x140
vfs_write+0x100/0x480
? __x64_sys_openat+0x55/0xa0
? syscall_exit_to_user_mode+0x86/0x260
ksys_write+0x73/0x100
__x64_sys_write+0x19/0x30
x64_sys_call+0x7e/0x25c0
do_syscall_64+0x7f/0x180
entry_SYSCALL_64_after_hwframe+0x78/0x80
RIP: 0033:0x7be9f211c574
Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d d5 ea 0e 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
RSP: 002b:00007ffd26f2b8c8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00005d504415e200 RCX: 00007be9f211c574
RDX: 0000000000001fc1 RSI: 00005d504418bc80 RDI: 0000000000000004
RBP: 0000000000001fc1 R08: 0000000000001fc1 R09: 0000000080000000
R10: 0000000000000000 R11: 0000000000000202 R12: 00005d504418bc80
R13: 0000000000000004 R14: 00007ffd26f2b9b0 R15: 00007ffd26f2ba30
</TASK>
Modules linked in: snd_seq_dummy snd_hrtimer qrtr snd_hda_codec_generic snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device i2c_i801 snd_timer i2c_smbus qxl snd soundcore drm_ttm_helper lpc_ich ttm joydev input_leds serio_raw mac_hid binfmt_misc msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs qemu_fw_cfg ip_tables x_tables autofs4 hid_generic usbhid hid ahci libahci psmouse virtio_rng xhci_pci xhci_pci_renesas
CR2: 0000000000000030
---[ end trace 0000000000000000 ]---
RIP: 0010:aafs_create.constprop.0+0x7f/0x130
Code: 4c 63 e0 48 83 c4 18 4c 89 e0 5b 41 5c 41 5d 41 5e 41 5f 5d 31 d2 31 c9 31 f6 31 ff 45 31 c0 45 31 c9 45 31 d2 c3 cc cc cc cc <4d> 8b 55 30 4d 8d ba a0 00 00 00 4c 89 55 c0 4c 89 ff e8 7a 6a ae
RSP: 0018:ffffc9000b2c7c98 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00000000000041ed RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9000b2c7cd8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff82baac10
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 00007be9f22cf740(0000) GS:ffff88817bc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000030 CR3: 0000000134b08000 CR4: 00000000000006f0
Signed-off-by: Leesoo Ahn <lsahn@ooseel.net>
Signed-off-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
security/apparmor/apparmorfs.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
index 80012d21f038..1223b2648a54 100644
--- a/security/apparmor/apparmorfs.c
+++ b/security/apparmor/apparmorfs.c
@@ -1593,6 +1593,10 @@ int __aafs_profile_mkdir(struct aa_profile *profile, struct dentry *parent)
struct aa_profile *p;
p = aa_deref_parent(profile);
dent = prof_dir(p);
+ if (!dent) {
+ error = -ENOENT;
+ goto fail2;
+ }
/* adding to parent that previously didn't have children */
dent = aafs_create_dir("profiles", dent);
if (IS_ERR(dent))
--
2.43.0
next prev parent reply other threads:[~2024-09-10 9:37 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 9:31 [PATCH 4.19 00/96] 4.19.322-rc1 review Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 01/96] net: usb: qmi_wwan: add MeiG Smart SRM825L Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 02/96] usb: dwc3: st: Add of_node_put() before return in probe function Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 03/96] usb: dwc3: st: add missing depopulate in probe error path Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 04/96] drm/amdgpu: Fix uninitialized variable warning in amdgpu_afmt_acr Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 05/96] drm/amdgpu: fix overflowed array index read warning Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 06/96] drm/amdgpu: fix ucode out-of-bounds " Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 07/96] drm/amdgpu: fix mc_data " Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 08/96] drm/amdkfd: Reconcile the definition and use of oem_id in struct kfd_topology_device Greg Kroah-Hartman
2024-09-10 9:31 ` Greg Kroah-Hartman [this message]
2024-09-10 9:31 ` [PATCH 4.19 10/96] usbip: Dont submit special requests twice Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 11/96] smack: tcp: ipv4, fix incorrect labeling Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 12/96] media: uvcvideo: Enforce alignment of frame and interval Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 13/96] block: initialize integrity buffer to zero before writing it to media Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 14/96] virtio_net: Fix napi_skb_cache_put warning Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 15/96] udf: Limit file size to 4TB Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 16/96] ALSA: usb-audio: Sanity checks for each pipe and EP types Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 17/96] ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 18/96] sch/netem: fix use after free in netem_dequeue Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 19/96] ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 20/96] ata: libata: Fix memory leak for error path in ata_host_alloc() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 21/96] mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 22/96] fuse: use unsigned type for getxattr/listxattr size truncation Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 23/96] clk: qcom: clk-alpha-pll: Fix the pll post div mask Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 24/96] nilfs2: fix missing cleanup on rollforward recovery error Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 25/96] nilfs2: fix state management in error path of log writing function Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 26/96] ALSA: hda: Add input value sanity checks to HDMI channel map controls Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 27/96] smack: unix sockets: fix accept()ed socket label Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 28/96] irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 29/96] af_unix: Remove put_pid()/put_cred() in copy_peercred() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 30/96] netfilter: nf_conncount: fix wrong variable type Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 31/96] udf: Avoid excessive partition lengths Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 32/96] wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 33/96] media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 34/96] pcmcia: Use resource_size function on resource object Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 35/96] can: bcm: Remove proc entry when dev is unregistered Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 36/96] igb: Fix not clearing TimeSync interrupts for 82580 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 37/96] platform/x86: dell-smbios: Fix error path in dell_smbios_init() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 38/96] cx82310_eth: re-enable ethernet mode after router reboot Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 39/96] drivers/net/usb: Remove all strcpy() uses Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 40/96] net: usb: dont write directly to netdev->dev_addr Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 41/96] usbnet: modern method to get random MAC Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 42/96] rfkill: fix spelling mistake contidion to condition Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 43/96] net: bridge: add support for sticky fdb entries Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 44/96] bridge: switchdev: Allow clearing FDB entry offload indication Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 45/96] net: bridge: fdb: convert is_local to bitops Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 46/96] net: bridge: fdb: convert is_static " Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 47/96] net: bridge: fdb: convert is_sticky " Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 48/96] net: bridge: fdb: convert added_by_user " Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 49/96] net: bridge: fdb: convert added_by_external_learn to use bitops Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 50/96] net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 51/96] net: dsa: vsc73xx: fix possible subblocks range of CAPT block Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 52/96] iommu/vt-d: Handle volatile descriptor status read Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 53/96] cgroup: Protect css->cgroup write under css_set_lock Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 54/96] um: line: always fill *error_out in setup_one_line() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 55/96] devres: Initialize an uninitialized struct member Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 56/96] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 4.19 57/96] hwmon: (adc128d818) Fix underflows seen when writing limit attributes Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 58/96] hwmon: (lm95234) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 59/96] hwmon: (nct6775-core) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 60/96] hwmon: (w83627ehf) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 61/96] wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 62/96] smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 63/96] btrfs: replace BUG_ON with ASSERT in walk_down_proc() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 64/96] btrfs: clean up our handling of refs == 0 in snapshot delete Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 65/96] PCI: Add missing bridge lock to pci_bus_lock() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 66/96] btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 67/96] HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 68/96] Input: uinput - reject requests with unreasonable number of slots Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 69/96] usbnet: ipheth: race between ipheth_close and error handling Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 70/96] Squashfs: sanity check symbolic link size Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 71/96] of/irq: Prevent device address out-of-bounds read in interrupt map walk Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 72/96] ata: pata_macio: Use WARN instead of BUG Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 73/96] iio: buffer-dmaengine: fix releasing dma channel on error Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 74/96] iio: fix scale application in iio_convert_raw_to_processed_unlocked Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 75/96] nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 76/96] uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 77/96] Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 78/96] VMCI: Fix use-after-free when removing resource in vmci_resource_remove() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 79/96] clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 80/96] clocksource/drivers/imx-tpm: Fix next event not taking effect sometime Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 81/96] uprobes: Use kzalloc to allocate xol area Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 82/96] ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 83/96] tracing: Avoid possible softlockup in tracing_iter_reset() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 84/96] nilfs2: replace snprintf in show functions with sysfs_emit Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 85/96] nilfs2: protect references to superblock parameters exposed in sysfs Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 86/96] netns: add pre_exit method to struct pernet_operations Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 87/96] ila: call nf_unregister_net_hooks() sooner Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 88/96] ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 89/96] ACPI: processor: Fix memory leaks in error paths of processor_add() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 90/96] drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 91/96] drm/i915/fence: Mark debug_fence_free() " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 92/96] rtmutex: Drop rt_mutex::wait_lock before scheduling Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 93/96] net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 94/96] cx82310_eth: fix error return code in cx82310_bind() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 95/96] net: bridge: explicitly zero is_sticky in fdb_create Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 4.19 96/96] netns: restore ops before calling ops_exit_list Greg Kroah-Hartman
2024-09-10 23:03 ` [PATCH 4.19 00/96] 4.19.322-rc1 review Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240910092541.801676516@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=john.johansen@canonical.com \
--cc=lsahn@ooseel.net \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.