Message ID | 2442384.MTfJ8ztCV8@eto.sf-tec.de (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | parisc: remove obsolete manual allocation aligning | expand |
On 9/14/22 16:23, Rolf Eike Beer wrote: > kmalloc() returns memory with __assume_kmalloc_alignment, which is > __alignof__(unsigned long long) for parisc. > > Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de> applied. Thanks! Helge > --- > drivers/parisc/iosapic.c | 11 +---------- > 1 file changed, 1 insertion(+), 10 deletions(-) > > I must confirm it's entirely untested. > > diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c > index 3a8c98615634..bdef7a8d6ab8 100644 > --- a/drivers/parisc/iosapic.c > +++ b/drivers/parisc/iosapic.c > @@ -221,16 +221,7 @@ static size_t irt_num_entry; > > static struct irt_entry *iosapic_alloc_irt(int num_entries) > { > - unsigned long a; > - > - /* The IRT needs to be 8-byte aligned for the PDC call. > - * Normally kmalloc would guarantee larger alignment, but > - * if CONFIG_DEBUG_SLAB is enabled, then we can get only > - * 4-byte alignment on 32-bit kernels > - */ > - a = (unsigned long)kmalloc(sizeof(struct irt_entry) * num_entries + 8, GFP_KERNEL); > - a = (a + 7UL) & ~7UL; > - return (struct irt_entry *)a; > + return kcalloc(num_entries, sizeof(struct irt_entry), GFP_KERNEL); > } > > /**
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c index 3a8c98615634..bdef7a8d6ab8 100644 --- a/drivers/parisc/iosapic.c +++ b/drivers/parisc/iosapic.c @@ -221,16 +221,7 @@ static size_t irt_num_entry; static struct irt_entry *iosapic_alloc_irt(int num_entries) { - unsigned long a; - - /* The IRT needs to be 8-byte aligned for the PDC call. - * Normally kmalloc would guarantee larger alignment, but - * if CONFIG_DEBUG_SLAB is enabled, then we can get only - * 4-byte alignment on 32-bit kernels - */ - a = (unsigned long)kmalloc(sizeof(struct irt_entry) * num_entries + 8, GFP_KERNEL); - a = (a + 7UL) & ~7UL; - return (struct irt_entry *)a; + return kcalloc(num_entries, sizeof(struct irt_entry), GFP_KERNEL); } /**
kmalloc() returns memory with __assume_kmalloc_alignment, which is __alignof__(unsigned long long) for parisc. Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de> --- drivers/parisc/iosapic.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) I must confirm it's entirely untested.