<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/security/apparmor/audit.c, branch v4.19.77</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.77</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.77'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-06-07T08:50:48+00:00</updated>
<entry>
<title>apparmor: Fix memory leak of rule on error exit path</title>
<updated>2018-06-07T08:50:48+00:00</updated>
<author>
<name>Tyler Hicks</name>
<email>tyhicks@canonical.com</email>
</author>
<published>2018-05-17T19:53:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=52e8c38001d8ef0ca07ef428e480cd4a35e46abf'/>
<id>urn:sha1:52e8c38001d8ef0ca07ef428e480cd4a35e46abf</id>
<content type='text'>
Currently on the error exit path the allocated rule is not free'd
causing a memory leak. Fix this by calling aa_audit_rule_free().

Detected by CoverityScan, CID#1468966 ("Resource leaks")

Fixes: cb740f574c7b ("apparmor: modify audit rule support to support profile stacks")
Signed-off-by: Tyler Hicks &lt;tyhicks@canonical.com&gt;
Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: modify audit rule support to support profile stacks</title>
<updated>2018-06-07T08:50:48+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2018-05-03T07:39:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2ab47dae54d567bbb1ad3e96e5b2601cc13f4d2b'/>
<id>urn:sha1:2ab47dae54d567bbb1ad3e96e5b2601cc13f4d2b</id>
<content type='text'>
Allows for audit rules, where a rule could specify a profile stack
A//&amp;B, while extending the current semantic so if the label specified
in the audit rule is a subset of the secid it is considered a match.

Eg. if the secid resolves to the label stack A//&amp;B//&amp;C

Then an audit rule specifying a label of

  A - would match
  B - would match
  C - would match
  D - would not
  A//&amp;B - would match as a subset
  A//&amp;C - would match as a subset
  B//&amp;C - would match as a subset
  A//&amp;B//&amp;C - would match

  A//&amp;D - would not match, because while A does match, D is also
  specified and does not

Note: audit rules are currently assumed to be coming from the root
namespace.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: Add support for audit rule filtering</title>
<updated>2018-06-07T08:50:47+00:00</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg59@google.com</email>
</author>
<published>2018-04-16T18:23:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e79c26d04043b15de64f082d4da52e9fff7ca607'/>
<id>urn:sha1:e79c26d04043b15de64f082d4da52e9fff7ca607</id>
<content type='text'>
This patch adds support to Apparmor for integrating with audit rule
filtering. Right now it only handles SUBJ_ROLE, interpreting it as a
single component of a label. This is sufficient to get Apparmor working
with IMA's appraisal rules without any modifications on the IMA side.

Signed-off-by: Matthew Garrett &lt;mjg59@google.com&gt;
Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: switch from profiles to using labels on contexts</title>
<updated>2017-06-11T00:11:38+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2017-06-09T15:14:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=637f688dc3dc304a89f441d76f49a0e35bc49c08'/>
<id>urn:sha1:637f688dc3dc304a89f441d76f49a0e35bc49c08</id>
<content type='text'>
Begin the actual switch to using domain labels by storing them on
the context and converting the label to a singular profile where
possible.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: replace remaining BUG_ON() asserts with AA_BUG()</title>
<updated>2017-01-16T09:18:56+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2017-01-16T08:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e6bfa25deb5096c05a08f01e4d6a436dd331fa88'/>
<id>urn:sha1:e6bfa25deb5096c05a08f01e4d6a436dd331fa88</id>
<content type='text'>
AA_BUG() uses WARN and won't break the kernel like BUG_ON().

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: change aad apparmor_audit_data macro to a fn macro</title>
<updated>2017-01-16T09:18:47+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2017-01-16T08:43:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ef88a7ac55fdd3bf6ac3942b83aa29311b45339b'/>
<id>urn:sha1:ef88a7ac55fdd3bf6ac3942b83aa29311b45339b</id>
<content type='text'>
The aad macro can replace aad strings when it is not intended to. Switch
to a fn macro so it is only applied when intended.

Also at the same time cleanup audit_data initialization by putting
common boiler plate behind a macro, and dropping the gfp_t parameter
which will become useless.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: change op from int to const char *</title>
<updated>2017-01-16T09:18:46+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2017-01-16T08:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=47f6e5cc7355e4ff2fd7ace919aa9e291077c26b'/>
<id>urn:sha1:47f6e5cc7355e4ff2fd7ace919aa9e291077c26b</id>
<content type='text'>
Having ops be an integer that is an index into an op name table is
awkward and brittle. Every op change requires an edit for both the
op constant and a string in the table. Instead switch to using const
strings directly, eliminating the need for the table that needs to
be kept in sync.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: split apparmor policy namespaces code into its own file</title>
<updated>2017-01-16T08:42:15+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2017-01-16T08:42:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cff281f6861e72f1416927aaa0c10a08bb7b2d3f'/>
<id>urn:sha1:cff281f6861e72f1416927aaa0c10a08bb7b2d3f</id>
<content type='text'>
Policy namespaces will be diverging from profile management and
expanding so put it in its own file.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: fix uninitialized lsm_audit member</title>
<updated>2016-07-12T15:43:10+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2014-06-08T18:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b6b1b81b3afba922505b57f4c812bba022f7c4a9'/>
<id>urn:sha1:b6b1b81b3afba922505b57f4c812bba022f7c4a9</id>
<content type='text'>
BugLink: http://bugs.launchpad.net/bugs/1268727

The task field in the lsm_audit struct needs to be initialized if
a change_hat fails, otherwise the following oops will occur

BUG: unable to handle kernel paging request at 0000002fbead7d08
IP: [&lt;ffffffff8171153e&gt;] _raw_spin_lock+0xe/0x50
PGD 1e3f35067 PUD 0
Oops: 0002 [#1] SMP
Modules linked in: pppox crc_ccitt p8023 p8022 psnap llc ax25 btrfs raid6_pq xor xfs libcrc32c dm_multipath scsi_dh kvm_amd dcdbas kvm microcode amd64_edac_mod joydev edac_core psmouse edac_mce_amd serio_raw k10temp sp5100_tco i2c_piix4 ipmi_si ipmi_msghandler acpi_power_meter mac_hid lp parport hid_generic usbhid hid pata_acpi mpt2sas ahci raid_class pata_atiixp bnx2 libahci scsi_transport_sas [last unloaded: tipc]
CPU: 2 PID: 699 Comm: changehat_twice Tainted: GF          O 3.13.0-7-generic #25-Ubuntu
Hardware name: Dell Inc. PowerEdge R415/08WNM9, BIOS 1.8.6 12/06/2011
task: ffff8802135c6000 ti: ffff880212986000 task.ti: ffff880212986000
RIP: 0010:[&lt;ffffffff8171153e&gt;]  [&lt;ffffffff8171153e&gt;] _raw_spin_lock+0xe/0x50
RSP: 0018:ffff880212987b68  EFLAGS: 00010006
RAX: 0000000000020000 RBX: 0000002fbead7500 RCX: 0000000000000000
RDX: 0000000000000292 RSI: ffff880212987ba8 RDI: 0000002fbead7d08
RBP: ffff880212987b68 R08: 0000000000000246 R09: ffff880216e572a0
R10: ffffffff815fd677 R11: ffffea0008469580 R12: ffffffff8130966f
R13: ffff880212987ba8 R14: 0000002fbead7d08 R15: ffff8800d8c6b830
FS:  00002b5e6c84e7c0(0000) GS:ffff880216e40000(0000) knlGS:0000000055731700
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000002fbead7d08 CR3: 000000021270f000 CR4: 00000000000006e0
Stack:
 ffff880212987b98 ffffffff81075f17 ffffffff8130966f 0000000000000009
 0000000000000000 0000000000000000 ffff880212987bd0 ffffffff81075f7c
 0000000000000292 ffff880212987c08 ffff8800d8c6b800 0000000000000026
Call Trace:
 [&lt;ffffffff81075f17&gt;] __lock_task_sighand+0x47/0x80
 [&lt;ffffffff8130966f&gt;] ? apparmor_cred_prepare+0x2f/0x50
 [&lt;ffffffff81075f7c&gt;] do_send_sig_info+0x2c/0x80
 [&lt;ffffffff81075fee&gt;] send_sig_info+0x1e/0x30
 [&lt;ffffffff8130242d&gt;] aa_audit+0x13d/0x190
 [&lt;ffffffff8130c1dc&gt;] aa_audit_file+0xbc/0x130
 [&lt;ffffffff8130966f&gt;] ? apparmor_cred_prepare+0x2f/0x50
 [&lt;ffffffff81304cc2&gt;] aa_change_hat+0x202/0x530
 [&lt;ffffffff81308fc6&gt;] aa_setprocattr_changehat+0x116/0x1d0
 [&lt;ffffffff8130a11d&gt;] apparmor_setprocattr+0x25d/0x300
 [&lt;ffffffff812cee56&gt;] security_setprocattr+0x16/0x20
 [&lt;ffffffff8121fc87&gt;] proc_pid_attr_write+0x107/0x130
 [&lt;ffffffff811b7604&gt;] vfs_write+0xb4/0x1f0
 [&lt;ffffffff811b8039&gt;] SyS_write+0x49/0xa0
 [&lt;ffffffff8171a1bf&gt;] tracesys+0xe1/0xe6

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
Acked-by: Seth Arnold &lt;seth.arnold@canonical.com&gt;
</content>
</entry>
<entry>
<title>apparmor: remove parent task info from audit logging</title>
<updated>2013-10-30T04:34:04+00:00</updated>
<author>
<name>John Johansen</name>
<email>john.johansen@canonical.com</email>
</author>
<published>2013-10-08T12:39:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4a7fc3018f05f4305723b508b12f3be13b7c4875'/>
<id>urn:sha1:4a7fc3018f05f4305723b508b12f3be13b7c4875</id>
<content type='text'>
The reporting of the parent task info is a vestage from old versions of
apparmor. The need for this information was removed by unique null-
profiles before apparmor was upstreamed so remove this info from logging.

Signed-off-by: John Johansen &lt;john.johansen@canonical.com&gt;
</content>
</entry>
</feed>
