Bug #7043
closedEMG generates a parameter with incompatible type
0%
Description
EMG generates a parameter of an incompatible type for a callback. This causes Weaver termination.
Drivers to reproduce:- 'drivers/staging/iio/accel/adis16220.ko';
- 'drivers/misc/ds1682.ko'.
Updated by Ilja Zakharov over 8 years ago
- Category set to Environment models
- Assignee set to Ilja Zakharov
- Priority changed from Normal to High
Updated by Ilja Zakharov over 8 years ago
- 'drivers/iommu/amd_iommu_v2.ko';
- 'drivers/mtd/maps/sbc_gxx.ko'.
Updated by Evgeny Novikov over 8 years ago
- Subject changed from EMG generates a paramter with incompatible type to EMG generates a parameter with incompatible type
Updated by Ilja Zakharov over 8 years ago
- Priority changed from High to Normal
The problem caused by providing variables with structure type with unknown structure name as a parameter which is expected to be provided as a typedef (which is the same structure actually). Seems that EMG should resolve such structure types back to typedefs and generate variables with the typedef names before providing them as parameters.
The issue does not happen often, so decreasing the priority to normal.
Updated by Alexey Khoroshilov over 8 years ago
Ilja Zakharov wrote:
The problem caused by providing variables with structure type with unknown structure name as a parameter which is expected to be provided as a typedef (which is the same structure actually). Seems that EMG should resolve such structure types back to typedefs and generate variables with the typedef names before providing them as parameters.
What is a problem here? Why struct name is nor suitable, while typedef to it is ok?
Updated by Ilja Zakharov over 8 years ago
Cannot say exactly, Weaver (cif) fails and says that parameter has an incompatible type. At the same type expected typedef hides the same type which is used for the parameter by EMG. Maybe this is a strange behaviour of CIF or it is the case for structures without a name.
Updated by Evgeny Novikov over 8 years ago
- Priority changed from Normal to High
- drivers/staging/lustre/lustre/mdc/mdc.ko
- drivers/staging/lustre/lustre/osc/osc.ko
- drivers/md/dm-delay.ko
- drivers/md/dm-flakey.ko
- drivers/md/dm-crypt.ko
- drivers/md/dm-cache.ko
- drivers/md/dm-log-userspace.ko
- drivers/md/dm-log.ko
- drivers/md/dm-mirror.ko
- drivers/md/dm-multipath.ko
- drivers/md/dm-queue-length.ko
- drivers/md/dm-round-robin.ko
- drivers/md/dm-raid.ko
- drivers/md/dm-switch.ko
- drivers/md/dm-service-time.ko
Updated by Evgeny Novikov over 8 years ago
- Priority changed from High to Normal
- drivers/iommu/amd_iommu_v2.ko
- drivers/mtd/maps/sbc_gxx.ko
- drivers/scsi/qla2xxx/tcm_qla2xxx.ko
Those 21 drivers use incomplete types.
Updated by Ilja Zakharov over 6 years ago
- Status changed from New to Resolved
See no problems with scope currently. Tested with 8066-abstract-translator.
Updated by Evgeny Novikov about 5 years ago
- Status changed from Resolved to Closed
It seems that the branch was merged to master a long ago, but issues were not closed at that time.