Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ba1d537 authored by Nicholas Mc Guire's avatar Nicholas Mc Guire Committed by Paul Moore
Browse files

selinux: provide __le variables explicitly



While the endiannes is being handled properly sparse was unable to verify
this due to type inconsistency. So introduce an additional __le32
respectively _le64 variable to be passed to le32/64_to_cpu() to allow
sparse to verify proper typing. Note that this patch does not change
the generated binary on little-endian systems - on 32bit powerpc it
does change the binary.

Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent a188339c
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -347,7 +347,9 @@ int ebitmap_read(struct ebitmap *e, void *fp)
{
	struct ebitmap_node *n = NULL;
	u32 mapunit, count, startbit, index;
	__le32 ebitmap_start;
	u64 map;
	__le64 mapbits;
	__le32 buf[3];
	int rc, i;

@@ -381,12 +383,12 @@ int ebitmap_read(struct ebitmap *e, void *fp)
		goto bad;

	for (i = 0; i < count; i++) {
		rc = next_entry(&startbit, fp, sizeof(u32));
		rc = next_entry(&ebitmap_start, fp, sizeof(u32));
		if (rc < 0) {
			pr_err("SELinux: ebitmap: truncated map\n");
			goto bad;
		}
		startbit = le32_to_cpu(startbit);
		startbit = le32_to_cpu(ebitmap_start);

		if (startbit & (mapunit - 1)) {
			pr_err("SELinux: ebitmap start bit (%d) is "
@@ -423,12 +425,12 @@ int ebitmap_read(struct ebitmap *e, void *fp)
			goto bad;
		}

		rc = next_entry(&map, fp, sizeof(u64));
		rc = next_entry(&mapbits, fp, sizeof(u64));
		if (rc < 0) {
			pr_err("SELinux: ebitmap: truncated map\n");
			goto bad;
		}
		map = le64_to_cpu(map);
		map = le64_to_cpu(mapbits);

		index = (startbit - n->startbit) / EBITMAP_UNIT_SIZE;
		while (map) {