#12695 closed defect (fixed)

an empty SN tag prevents boot

Reported by: Quozl Owned by: Quozl
Priority: low Milestone: 13.2.0
Component: ofw - open firmware Version: Development firmware
Keywords: Cc:
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description

Reported by Quanta. Configuring an empty SN tag results in failure to start Open Firmware:

CForth built 2013-05-27 08:00 from commit 1c6dcd22...
Matrix mode on
releasing
Dictionary overflow - here fdb3ad10 limit fdb3aea0
Dictionary overflow - here fdb3ad10 limit fdb3aea0
Dictionary overflow - here fdb3ad10 limit fdb3aea0
Ok

Change History (5)

comment:1 Changed 17 months ago by Quozl

  • Action Needed changed from reproduce to package
  • Priority changed from normal to low

Reproducer:

d# 20 buffer: sn-buf
: sn$  ( -- adr len )  sn-buf count ;
: info-inject  ( -- )
   get-mfg-data  " SN" ($delete-tag)  sn$ " SN" put-ascii-tag
   flash-write-enable (put-mfg-data) no-kbc-reboot kbc-on
;
info-inject

This inserted an SN tag with a length of zero, with no trailing NUL.

During boot the length is unconditionally decremented to remove an expected trailing NUL. The decrement wraps, and so a device tree property string is allocated taking all remaining dictionary space.

Fixed in svn 3667 by checking for a NUL before removing it.

This issue is not considered likely enough to require a new release of Open Firmware for 13.2.0 but can be included if a new release is made for another reason.

comment:2 Changed 17 months ago by Quozl

Changes for this are in Q2F18 and Q3C15, but the problem was experienced on XO-4.

comment:3 Changed 17 months ago by Quozl

  • Action Needed changed from package to add to build

Is in Q7B33 for XO-4.

comment:4 Changed 17 months ago by Quozl

Is in Q4D31 for XO-1.75.

comment:5 Changed 16 months ago by Quozl

  • Action Needed changed from add to build to no action
  • Resolution set to fixed
  • Status changed from new to closed

Is in 32011o2 and 32011o4.

Note: See TracTickets for help on using tickets.