* Unreachable code in mkimagexx (Fwd: New Defects reported by Coverity Scan for GRUB)
[not found] <56e50bb23d7a8_5d6aabd33094490@ss1435.mail>
@ 2016-03-13 7:38 ` Andrei Borzenkov
2016-03-14 7:01 ` Andrei Borzenkov
0 siblings, 1 reply; 3+ messages in thread
From: Andrei Borzenkov @ 2016-03-13 7:38 UTC (permalink / raw)
To: The development of GNU GRUB
We probably need to #ifdef this section for MKIMAGE_ELF64 case only, it
makes no sense to compile it for 32 bit target.
________________________________________________________________________________________________________
*** CID 158599: (DEADCODE)
/util/grub-mkimagexx.c: 1317 in translate_relocation_pe()
1311 break;
1312 }
1313 break;
1314 case EM_AARCH64:
1315 switch (ELF_R_TYPE (info))
1316 {
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 257U:".
1317 case R_AARCH64_ABS64:
1318 {
1319 ctx->current_address
1320 = add_fixup_entry (&ctx->lst,
1321 GRUB_PE32_REL_BASED_DIR64,
1322 addr, 0, ctx->current_address,
/util/grub-mkimagexx.c: 1331 in translate_relocation_pe()
1325 break;
1326 /* Relative relocations do not require fixup entries. */
1327 case R_AARCH64_CALL26:
1328 case R_AARCH64_JUMP26:
1329 break;
1330 /* Page-relative relocations do not require fixup entries. */
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 275U:".
1331 case R_AARCH64_ADR_PREL_PG_HI21:
1332 /* We page-align the whole kernel, so no need
1333 for fixup entries.
1334 */
1335 case R_AARCH64_ADD_ABS_LO12_NC:
1336 case R_AARCH64_LDST64_ABS_LO12_NC:
/util/grub-mkimagexx.c: 1335 in translate_relocation_pe()
1329 break;
1330 /* Page-relative relocations do not require fixup entries. */
1331 case R_AARCH64_ADR_PREL_PG_HI21:
1332 /* We page-align the whole kernel, so no need
1333 for fixup entries.
1334 */
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 277U:".
1335 case R_AARCH64_ADD_ABS_LO12_NC:
1336 case R_AARCH64_LDST64_ABS_LO12_NC:
1337 break;
1338
1339 default:
1340 grub_util_error (_("relocation 0x%x is not implemented yet"),
/util/grub-mkimagexx.c: 1328 in translate_relocation_pe()
1322 addr, 0, ctx->current_address,
1323 image_target);
1324 }
1325 break;
1326 /* Relative relocations do not require fixup entries. */
1327 case R_AARCH64_CALL26:
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 282U:".
1328 case R_AARCH64_JUMP26:
1329 break;
1330 /* Page-relative relocations do not require fixup entries. */
1331 case R_AARCH64_ADR_PREL_PG_HI21:
1332 /* We page-align the whole kernel, so no need
1333 for fixup entries.
/util/grub-mkimagexx.c: 1327 in translate_relocation_pe()
1321 GRUB_PE32_REL_BASED_DIR64,
1322 addr, 0, ctx->current_address,
1323 image_target);
1324 }
1325 break;
1326 /* Relative relocations do not require fixup entries. */
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 283U:".
1327 case R_AARCH64_CALL26:
1328 case R_AARCH64_JUMP26:
1329 break;
1330 /* Page-relative relocations do not require fixup entries. */
1331 case R_AARCH64_ADR_PREL_PG_HI21:
1332 /* We page-align the whole kernel, so no need
/util/grub-mkimagexx.c: 1336 in translate_relocation_pe()
1330 /* Page-relative relocations do not require fixup entries. */
1331 case R_AARCH64_ADR_PREL_PG_HI21:
1332 /* We page-align the whole kernel, so no need
1333 for fixup entries.
1334 */
1335 case R_AARCH64_ADD_ABS_LO12_NC:
>>> CID 158599: (DEADCODE)
>>> Execution cannot reach this statement: "case 286U:".
1336 case R_AARCH64_LDST64_ABS_LO12_NC:
1337 break;
1338
1339 default:
1340 grub_util_error (_("relocation 0x%x is not implemented yet"),
1341 (unsigned int) ELF_R_TYPE (info));
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Unreachable code in mkimagexx (Fwd: New Defects reported by Coverity Scan for GRUB)
2016-03-13 7:38 ` Unreachable code in mkimagexx (Fwd: New Defects reported by Coverity Scan for GRUB) Andrei Borzenkov
@ 2016-03-14 7:01 ` Andrei Borzenkov
2017-01-24 1:51 ` Vladimir 'phcoder' Serbinenko
0 siblings, 1 reply; 3+ messages in thread
From: Andrei Borzenkov @ 2016-03-14 7:01 UTC (permalink / raw)
To: The development of GNU GRUB
On Sun, Mar 13, 2016 at 10:38 AM, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
>
> We probably need to #ifdef this section for MKIMAGE_ELF64 case only, it
> makes no sense to compile it for 32 bit target.
>
Hmm ... why translate_relocation_pe, translate_relocation_raw and
classify_raw_reloc are not target size specific in the first place?
They take Elf_Addr parameters so cannot work for both 32 and 64 bit
targets at the same time.
> ________________________________________________________________________________________________________
> *** CID 158599: (DEADCODE)
> /util/grub-mkimagexx.c: 1317 in translate_relocation_pe()
> 1311 break;
> 1312 }
> 1313 break;
> 1314 case EM_AARCH64:
> 1315 switch (ELF_R_TYPE (info))
> 1316 {
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 257U:".
> 1317 case R_AARCH64_ABS64:
> 1318 {
> 1319 ctx->current_address
> 1320 = add_fixup_entry (&ctx->lst,
> 1321 GRUB_PE32_REL_BASED_DIR64,
> 1322 addr, 0, ctx->current_address,
> /util/grub-mkimagexx.c: 1331 in translate_relocation_pe()
> 1325 break;
> 1326 /* Relative relocations do not require fixup entries. */
> 1327 case R_AARCH64_CALL26:
> 1328 case R_AARCH64_JUMP26:
> 1329 break;
> 1330 /* Page-relative relocations do not require fixup entries. */
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 275U:".
> 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> 1332 /* We page-align the whole kernel, so no need
> 1333 for fixup entries.
> 1334 */
> 1335 case R_AARCH64_ADD_ABS_LO12_NC:
> 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> /util/grub-mkimagexx.c: 1335 in translate_relocation_pe()
> 1329 break;
> 1330 /* Page-relative relocations do not require fixup entries. */
> 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> 1332 /* We page-align the whole kernel, so no need
> 1333 for fixup entries.
> 1334 */
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 277U:".
> 1335 case R_AARCH64_ADD_ABS_LO12_NC:
> 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> 1337 break;
> 1338
> 1339 default:
> 1340 grub_util_error (_("relocation 0x%x is not implemented yet"),
> /util/grub-mkimagexx.c: 1328 in translate_relocation_pe()
> 1322 addr, 0, ctx->current_address,
> 1323 image_target);
> 1324 }
> 1325 break;
> 1326 /* Relative relocations do not require fixup entries. */
> 1327 case R_AARCH64_CALL26:
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 282U:".
> 1328 case R_AARCH64_JUMP26:
> 1329 break;
> 1330 /* Page-relative relocations do not require fixup entries. */
> 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> 1332 /* We page-align the whole kernel, so no need
> 1333 for fixup entries.
> /util/grub-mkimagexx.c: 1327 in translate_relocation_pe()
> 1321 GRUB_PE32_REL_BASED_DIR64,
> 1322 addr, 0, ctx->current_address,
> 1323 image_target);
> 1324 }
> 1325 break;
> 1326 /* Relative relocations do not require fixup entries. */
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 283U:".
> 1327 case R_AARCH64_CALL26:
> 1328 case R_AARCH64_JUMP26:
> 1329 break;
> 1330 /* Page-relative relocations do not require fixup entries. */
> 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> 1332 /* We page-align the whole kernel, so no need
> /util/grub-mkimagexx.c: 1336 in translate_relocation_pe()
> 1330 /* Page-relative relocations do not require fixup entries. */
> 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> 1332 /* We page-align the whole kernel, so no need
> 1333 for fixup entries.
> 1334 */
> 1335 case R_AARCH64_ADD_ABS_LO12_NC:
>>>> CID 158599: (DEADCODE)
>>>> Execution cannot reach this statement: "case 286U:".
> 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> 1337 break;
> 1338
> 1339 default:
> 1340 grub_util_error (_("relocation 0x%x is not implemented yet"),
> 1341 (unsigned int) ELF_R_TYPE (info));
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Unreachable code in mkimagexx (Fwd: New Defects reported by Coverity Scan for GRUB)
2016-03-14 7:01 ` Andrei Borzenkov
@ 2017-01-24 1:51 ` Vladimir 'phcoder' Serbinenko
0 siblings, 0 replies; 3+ messages in thread
From: Vladimir 'phcoder' Serbinenko @ 2017-01-24 1:51 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 5477 bytes --]
They're used only for arm (32-bit). So they don't need to work for 64-bit.
On Mon, 14 Mar 2016, 10:01 Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> On Sun, Mar 13, 2016 at 10:38 AM, Andrei Borzenkov <arvidjaar@gmail.com>
> wrote:
> >
> > We probably need to #ifdef this section for MKIMAGE_ELF64 case only, it
> > makes no sense to compile it for 32 bit target.
> >
>
> Hmm ... why translate_relocation_pe, translate_relocation_raw and
> classify_raw_reloc are not target size specific in the first place?
> They take Elf_Addr parameters so cannot work for both 32 and 64 bit
> targets at the same time.
>
>
>
>
> >
> ________________________________________________________________________________________________________
> > *** CID 158599: (DEADCODE)
> > /util/grub-mkimagexx.c: 1317 in translate_relocation_pe()
> > 1311 break;
> > 1312 }
> > 1313 break;
> > 1314 case EM_AARCH64:
> > 1315 switch (ELF_R_TYPE (info))
> > 1316 {
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 257U:".
> > 1317 case R_AARCH64_ABS64:
> > 1318 {
> > 1319 ctx->current_address
> > 1320 = add_fixup_entry (&ctx->lst,
> > 1321 GRUB_PE32_REL_BASED_DIR64,
> > 1322 addr, 0, ctx->current_address,
> > /util/grub-mkimagexx.c: 1331 in translate_relocation_pe()
> > 1325 break;
> > 1326 /* Relative relocations do not require fixup entries.
> */
> > 1327 case R_AARCH64_CALL26:
> > 1328 case R_AARCH64_JUMP26:
> > 1329 break;
> > 1330 /* Page-relative relocations do not require fixup
> entries. */
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 275U:".
> > 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> > 1332 /* We page-align the whole kernel, so no need
> > 1333 for fixup entries.
> > 1334 */
> > 1335 case R_AARCH64_ADD_ABS_LO12_NC:
> > 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> > /util/grub-mkimagexx.c: 1335 in translate_relocation_pe()
> > 1329 break;
> > 1330 /* Page-relative relocations do not require fixup
> entries. */
> > 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> > 1332 /* We page-align the whole kernel, so no need
> > 1333 for fixup entries.
> > 1334 */
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 277U:".
> > 1335 case R_AARCH64_ADD_ABS_LO12_NC:
> > 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> > 1337 break;
> > 1338
> > 1339 default:
> > 1340 grub_util_error (_("relocation 0x%x is not implemented
> yet"),
> > /util/grub-mkimagexx.c: 1328 in translate_relocation_pe()
> > 1322 addr, 0, ctx->current_address,
> > 1323 image_target);
> > 1324 }
> > 1325 break;
> > 1326 /* Relative relocations do not require fixup entries.
> */
> > 1327 case R_AARCH64_CALL26:
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 282U:".
> > 1328 case R_AARCH64_JUMP26:
> > 1329 break;
> > 1330 /* Page-relative relocations do not require fixup
> entries. */
> > 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> > 1332 /* We page-align the whole kernel, so no need
> > 1333 for fixup entries.
> > /util/grub-mkimagexx.c: 1327 in translate_relocation_pe()
> > 1321 GRUB_PE32_REL_BASED_DIR64,
> > 1322 addr, 0, ctx->current_address,
> > 1323 image_target);
> > 1324 }
> > 1325 break;
> > 1326 /* Relative relocations do not require fixup entries.
> */
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 283U:".
> > 1327 case R_AARCH64_CALL26:
> > 1328 case R_AARCH64_JUMP26:
> > 1329 break;
> > 1330 /* Page-relative relocations do not require fixup
> entries. */
> > 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> > 1332 /* We page-align the whole kernel, so no need
> > /util/grub-mkimagexx.c: 1336 in translate_relocation_pe()
> > 1330 /* Page-relative relocations do not require fixup
> entries. */
> > 1331 case R_AARCH64_ADR_PREL_PG_HI21:
> > 1332 /* We page-align the whole kernel, so no need
> > 1333 for fixup entries.
> > 1334 */
> > 1335 case R_AARCH64_ADD_ABS_LO12_NC:
> >>>> CID 158599: (DEADCODE)
> >>>> Execution cannot reach this statement: "case 286U:".
> > 1336 case R_AARCH64_LDST64_ABS_LO12_NC:
> > 1337 break;
> > 1338
> > 1339 default:
> > 1340 grub_util_error (_("relocation 0x%x is not implemented
> yet"),
> > 1341 (unsigned int) ELF_R_TYPE (info));
> >
> >
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
[-- Attachment #2: Type: text/html, Size: 9466 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-24 1:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <56e50bb23d7a8_5d6aabd33094490@ss1435.mail>
2016-03-13 7:38 ` Unreachable code in mkimagexx (Fwd: New Defects reported by Coverity Scan for GRUB) Andrei Borzenkov
2016-03-14 7:01 ` Andrei Borzenkov
2017-01-24 1:51 ` Vladimir 'phcoder' Serbinenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).