GFP_ATOMIC is not needed here, as evidenced by the other two uses of
GFP_KERNEL in the same function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ identifier f; @@

*f(...,GFP_ATOMIC,...)
... when != spin_unlock(...)
    when != read_unlock(...)
    when != write_unlock(...)
    when != read_unlock_irq(...)
    when != write_unlock_irq(...)
    when != read_unlock_irqrestore(...)
    when != write_unlock_irqrestore(...)
    when != spin_unlock_irq(...)
    when != spin_unlock_irqrestore(...)
*f(...,GFP_KERNEL,...)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Julia Lawall 2010-08-02 16:04:21 -07:00 коммит произвёл David S. Miller
Родитель 7765b8bbee
Коммит 71cd03b004
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -63,7 +63,7 @@ static void __init sbus_iommu_init(struct of_device *op)
unsigned long *bitmap; unsigned long *bitmap;
unsigned long tmp; unsigned long tmp;
iommu = kmalloc(sizeof(struct iommu_struct), GFP_ATOMIC); iommu = kmalloc(sizeof(struct iommu_struct), GFP_KERNEL);
if (!iommu) { if (!iommu) {
prom_printf("Unable to allocate iommu structure\n"); prom_printf("Unable to allocate iommu structure\n");
prom_halt(); prom_halt();